Fails
I'm using macOS 11.4.1 , Python 3.9.6. I have serialed into my router and entered the cfe shell. I then ran the command below and it failed.
python3 -m bcm_cfedump -D /dev/cu.usbserial-AM00LOOO -O nand.img -t 0.01 nand
Waiting for a prompt...
Error caused by line: 'read : 0'
Block 0 page 0 read failed, retrying.
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Error caused by line: '*** command status = 1'
Block 0 page 0 read failed, retrying.
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Error caused by line: 'read : 0'
Block 0 page 0 read failed, retrying.
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Error caused by line: '.........."[.$..'
Block 0 page 0 read failed, retrying.
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Error caused by line: 'read : 0'
Block 0 page 0 read failed, retrying.
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 287, in read_pages
yield self.read_page(block, page)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 268, in read_page
addr, buf_temp = parse_serial_line(line.decode())
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 30, in parse_serial_line
addr = int(m.group('addr'), 16)
AttributeError: 'NoneType' object has no attribute 'group'
⡏ [0/262144 pages] [0B/512.0MB] Traceback (most recent call last):
File "/usr/local/Cellar/[email protected]/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/local/Cellar/[email protected]/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 497, in <module>
main()
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 481, in main
for page in gen:
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 317, in read_nand
yield from self.read_block(block)
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 302, in read_block
for i in self.read_pages(block, 0, self.block_size // self.page_size):
File "/Users/james/bcm-cfedump/bcm_cfedump.py", line 294, in read_pages
raise IOError("Max number of page read retries exceeded")
OSError: Max number of page read retries exceeded
I saw something similar. Try increasing the timeout.
-t 0.01 To -t 1
I'm seeing this same stack intermittently when using nand. Fortunately, in my case, it's not preventing the command from working. But the error is quite ugly and doesn't provide any context for what line caused the error.
It's generally good practice to check a Match result for None before accessing any of its methods, so I would suggest that would be the right time to either raise or print out a useful error and gracefully recover.