Broken FAT: overlapping entry at block

Hello 0xbadbee, I have the identical problem with “broken FAT”. Additionally there are problems with the command:
cc3200tool -if firmware.dmp read_all_files extract/
. For 5 minutes dots are displayed on the screen, but the content of the extract folder does not increase.

I would like to switch to the develop branch of the cc3200 tool, can you tell me how to do this? I have always followed the newbie guides, but unfortunately I don’t know how to change the branch when calling

pip install git+git://github.com/toniebox-reverse-engineering/cc3200tool.git

with it.

Kind regards,
Daniel

There is no need to switch to develop, as the changes are already integrated in the stable version.

Good to know, thank you for the quick response.
The Toniebox is from Tonie’s refurbish program, could it be that the memory card has an error or is the command

cc3200tool -if firmware.dmp read_all_files extract/

only read the data from internal chips?

It is not clear to me what is your problem or what you did in detail or tried.
You are also sharing any logs…

Sorry, I was so caught up in the topic that everything was clear to me, but nobody else has all the information to help.

I have followed the instructions Teddycloud CC3200 newbie guide and am at the ‘Create backup’ step.

My setup is as follows:

After connecting the box to the UART connector and the computer, additionally connect the charger to the Toniebox, green LED lights up continuously, then send the command

cc3200tool -p /dev/ttyUSB0 --reset dtr read_all_files ExtractedFromBox/ read_flash backup.bin

executed.

Now I get the error ‘broken FAT’ like @mr_white. This error occurs on both Windows and Linux.

2025-01-21 23:16:12,551 -- Connecting to target...
2025-01-21 23:16:14,916 -- timed out while waiting for ack
2025-01-21 23:16:15,186 -- Connected, reading version...
2025-01-21 23:16:15,201 -- connected to target
2025-01-21 23:16:15,201 -- Version: CC3x00VersionInfo((0, 4, 1, 2), (0, 0, 0, 0), (0, 0, 0, 0), (0, 0, 0, 0), (16, 0, 0, 0))
2025-01-21 23:16:15,202 -- This is a CC3200 device
2025-01-21 23:16:15,203 -- Switching to NWP bootloader...
2025-01-21 23:16:15,217 -- Switching UART to APPS...
2025-01-21 23:16:15,231 -- Resetting communications ...
2025-01-21 23:16:16,509 -- Uploading rbtl3100s.dll...
2025-01-21 23:16:16,514 -- Reading rbtl3100s.dll from file /home/pi/.venv/lib/python3.11/site-packages/cc3200tool/dll/rbtl3100s.dll
2025-01-21 23:16:16,519 -- Getting storage list...
2025-01-21 23:16:17,419 -- APPS version: CC3x00VersionInfo((0, 4, 0, 2), (0, 0, 0, 0), (0, 0, 0, 0), (0, 0, 0, 0), (16, 0, 0, 0))
2025-01-21 23:16:17,419 -- Getting storage info...
2025-01-21 23:16:17,436 -- storage #2 info bytes: 0x10, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0
2025-01-21 23:16:17,436 -- Getting storage list...
2025-01-21 23:16:17,452 -- Reading raw storage #2 start 0x0, size 0x2000...
..
2025-01-21 23:16:17,582 -- [0] detected a valid FAT revision: 72
2025-01-21 23:16:17,582 -- [1] detected a valid FAT revision: 71
2025-01-21 23:16:17,583 -- Getting storage list...
2025-01-21 23:16:17,597 -- Reading raw storage #2 start 0x1774, size 0x2774...
...
2025-01-21 23:16:17,765 -- selected FAT revision: 72 (active)
2025-01-21 23:16:17,768 -- [0] block 71..87 fname=/sys/mcuimg.bin
2025-01-21 23:16:17,768 -- [4] block 105..106 fname=/sys/mcubootinfo.bin
2025-01-21 23:16:17,769 -- [6] block 106..212 fname=/sys/mcuimg1.bin
2025-01-21 23:16:17,769 -- [7] block 212..265 fname=/sys/mcuimg2.bin
2025-01-21 23:16:17,769 -- [8] block 265..318 fname=/sys/mcuimg3.bin
2025-01-21 23:16:17,770 -- [9] block 408..418 fname=/tmp/phy.cal
2025-01-21 23:16:17,770 -- [10] block 418..420 fname=/tmp/table.arp
2025-01-21 23:16:17,770 -- [11] block 5..71 fname=/sys/servicepack.ucf
2025-01-21 23:16:17,771 -- [12] block 87..89 fname=/sys/mode.cfg
2025-01-21 23:16:17,771 -- [13] block 89..91 fname=/sys/ipcfg.ini
2025-01-21 23:16:17,772 -- [14] block 91..93 fname=/sys/ap.cfg
2025-01-21 23:16:17,772 -- [15] block 93..95 fname=/sys/devname.cfg
2025-01-21 23:16:17,772 -- [16] block 95..97 fname=/sys/mdns.cfg
2025-01-21 23:16:17,772 -- [17] block 97..101 fname=/sys/pref.net
2025-01-21 23:16:17,773 -- [18] block 101..103 fname=/sys/stacfg.ini
2025-01-21 23:16:17,773 -- [19] block 103..105 fname=/sys/pmcfg.ini
2025-01-21 23:16:17,773 -- [20] block 318..398 fname=/www/index.html
2025-01-21 23:16:17,774 -- [21] block 398..406 fname=/www/toniebox.js
2025-01-21 23:16:17,774 -- [22] block 406..408 fname=/cert/ca.der
2025-01-21 23:16:17,774 -- [23] block 931..933 fname=/sys/otastat.txt
2025-01-21 23:16:17,775 -- [24] block 421..931 fname=/fw/sfx.bin
2025-01-21 23:16:17,775 -- [26] block 933..935 fname=/sys/date_time.cfg
2025-01-21 23:16:17,775 -- [27] block 935..937 fname=/settings.cfg
2025-01-21 23:16:17,776 -- [28] block 420..421 fname=/cert/client.der
2025-01-21 23:16:17,776 -- [29] block 937..938 fname=/cert/private.der
Traceback (most recent call last):
  File "/home/pi/.venv/bin/cc3200tool", line 33, in <module>
    sys.exit(load_entry_point('cc3200tool==1.2.4', 'console_scripts', 'cc3200tool')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pi/.venv/lib/python3.11/site-packages/cc3200tool/cc.py", line 1580, in main
    cc.read_all_files(command.local_dir, command.by_file_id, command.all_by_file_id, command.inactive, command.no_verify)
  File "/home/pi/.venv/lib/python3.11/site-packages/cc3200tool/cc.py", line 1336, in read_all_files
    fat_info = self.get_fat_info(inactive=inactive)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pi/.venv/lib/python3.11/site-packages/cc3200tool/cc.py", line 1319, in get_fat_info
    fat_info = CC3x00SffsInfo(fat_hdr, sinfo, meta2, self._device)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pi/.venv/lib/python3.11/site-packages/cc3200tool/cc.py", line 603, in __init__
    raise CC3200Error("broken FAT: overlapping entry at block %d (prev end was %d)" %
cc3200tool.cc.CC3200Error: broken FAT: overlapping entry at block 256 (prev end was 265)

If I add the parameter ‘–size 4194304 --ignore-max-size’ I get this error:

usage: cc3200tool [-h] [-p PORT] [-if IMAGE_FILE] [-of OUTPUT_FILE] [--reset RESET] [--sop2 SOP2] [--erase_timeout ERASE_TIMEOUT] [--reboot-to-app]
                  [-d DEVICE]
                  {format_flash,erase_file,write_file,read_file,write_flash,read_flash,list_filesystem,read_all_files,write_all_files,dll_data_test} ...
cc3200tool: error: argument cmd: invalid choice: '4194304' (choose from 'format_flash', 'erase_file', 'write_file', 'read_file', 'write_flash', 'read_flash', 'list_filesystem', 'read_all_files', 'write_all_files', 'dll_data_test')

In the meantime, I have reassembled the box, but it does not start correctly, the green LED flashes a few times, then only individually at longer intervals, and no sound is played.

I hope the box can be given new life again.

I have another Toniebox at home, with a CC3235 chipset, and the procedure was somehow easier there.

Kind regards
Daniel

The error indicates wrong syntax.
Please post your full command. You can’t just put it at the end. It works only directly after read_flash.

So far I have used the additional parameters as follows

cc3200tool -p /dev/ttyUSB0 --reset dtr --size 4194304 --ignore-max-size read_all_files ExtractedFromBox/ read_flash backup.bin

I have just tried it in different constellations but can’t get it to work.
Can you please send me the command that should work?

As said previously:

Also please remove the read_all_files block. You want to dump the flash without fiddling with the files.

I cannot craft you a valid command, as I have no access to the cc3200tool currently to test this.

cc3200tool -p /dev/ttyUSB0 --reset dtr read_flash backup.bin --size 4194304 --ignore-max-size 4194304

2025-01-22 08:35:06,156 -- Connecting to target...
2025-01-22 08:35:08,548 -- timed out while waiting for ack
2025-01-22 08:35:08,818 -- Connected, reading version...
2025-01-22 08:35:08,826 -- connected to target
2025-01-22 08:35:08,827 -- Version: CC3x00VersionInfo((0, 4, 1, 2), (0, 0, 0, 0), (0, 0, 0, 0), (0, 0, 0, 0), (16, 0, 0, 0))
2025-01-22 08:35:08,828 -- This is a CC3200 device
2025-01-22 08:35:08,828 -- Switching to NWP bootloader...
2025-01-22 08:35:08,843 -- Switching UART to APPS...
2025-01-22 08:35:08,858 -- Resetting communications ...
2025-01-22 08:35:10,135 -- Uploading rbtl3100s.dll...
2025-01-22 08:35:10,137 -- Reading rbtl3100s.dll from file /home/pi/.venv/lib/python3.11/site-packages/cc3200tool/dll/rbtl3100s.dll
2025-01-22 08:35:10,143 -- Getting storage list...
2025-01-22 08:35:11,029 -- APPS version: CC3x00VersionInfo((0, 4, 0, 2), (0, 0, 0, 0), (0, 0, 0, 0), (0, 0, 0, 0), (16, 0, 0, 0))
2025-01-22 08:35:11,029 -- Getting storage list...
2025-01-22 08:35:11,045 -- Getting storage info...
2025-01-22 08:35:11,062 -- storage #2 info bytes: 0x10, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0
2025-01-22 08:35:11,063 -- Ignoring storage size limits
2025-01-22 08:35:11,063 -- Reading raw storage #2 start 0x0, size 0x400000...
......Traceback (most recent call last):
  File "/home/pi/.venv/bin/cc3200tool", line 33, in <module>
    sys.exit(load_entry_point('cc3200tool==1.2.4', 'console_scripts', 'cc3200tool')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pi/.venv/lib/python3.11/site-packages/cc3200tool/cc.py", line 1560, in main
    cc.read_flash(command.dump_file, command.offset, command.size, command.ignore_max_size)
  File "/home/pi/.venv/lib/python3.11/site-packages/cc3200tool/cc.py", line 1257, in read_flash
    data = self._raw_read(offset, size, storage_id=STORAGE_ID_SFLASH, ignore_max_size=ignore_max_size)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pi/.venv/lib/python3.11/site-packages/cc3200tool/cc.py", line 934, in _raw_read
    rx_data += self._read_chunk(offset + len(rx_data),
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pi/.venv/lib/python3.11/site-packages/cc3200tool/cc.py", line 892, in _read_chunk
    data = self._read_packet()
           ^^^^^^^^^^^^^^^^^^^
  File "/home/pi/.venv/lib/python3.11/site-packages/cc3200tool/cc.py", line 777, in _read_packet
    raise CC3200Error("rx csum failed")
cc3200tool.cc.CC3200Error: rx csum failed

I tried several times and on the fifth attempt it worked - very strange.

cc3200tool -p /dev/ttyUSB0 --reset dtr read_flash backup.bin --size 4194304 --ignore-max-size 4194304

2025-01-22 08:40:17,504 -- Connecting to target...
2025-01-22 08:40:19,876 -- timed out while waiting for ack
2025-01-22 08:40:20,146 -- Connected, reading version...
2025-01-22 08:40:20,153 -- connected to target
2025-01-22 08:40:20,154 -- Version: CC3x00VersionInfo((0, 4, 1, 2), (0, 0, 0, 0), (0, 0, 0, 0), (0, 0, 0, 0), (16, 0, 0, 0))
2025-01-22 08:40:20,154 -- This is a CC3200 device
2025-01-22 08:40:20,154 -- Switching to NWP bootloader...
2025-01-22 08:40:20,170 -- Switching UART to APPS...
2025-01-22 08:40:20,184 -- Resetting communications ...
2025-01-22 08:40:21,462 -- Uploading rbtl3100s.dll...
2025-01-22 08:40:21,463 -- Reading rbtl3100s.dll from file /home/pi/.venv/lib/python3.11/site-packages/cc3200tool/dll/rbtl3100s.dll
2025-01-22 08:40:21,463 -- Getting storage list...
2025-01-22 08:40:22,372 -- APPS version: CC3x00VersionInfo((0, 4, 0, 2), (0, 0, 0, 0), (0, 0, 0, 0), (0, 0, 0, 0), (16, 0, 0, 0))
2025-01-22 08:40:22,373 -- Getting storage list...
2025-01-22 08:40:22,389 -- Getting storage info...
2025-01-22 08:40:22,405 -- storage #2 info bytes: 0x10, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0
2025-01-22 08:40:22,406 -- Ignoring storage size limits
2025-01-22 08:40:22,406 -- Reading raw storage #2 start 0x0, size 0x400000...
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
2025-01-22 08:41:35,952 -- Verify flash dump with second reading...
2025-01-22 08:41:35,954 -- Getting storage list...
2025-01-22 08:41:35,967 -- Getting storage info...
2025-01-22 08:41:35,982 -- storage #2 info bytes: 0x10, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0
2025-01-22 08:41:35,983 -- Ignoring storage size limits
2025-01-22 08:41:35,983 -- Reading raw storage #2 start 0x0, size 0x400000...
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
2025-01-22 08:42:44,493 -- Flash verified, reading equal!
2025-01-22 08:42:44,494 -- All commands done, bye.

but a problem rarely comes alone…

cc3200tool -p /dev/ttyUSB0 --reset dtr write_file extract/sys/mcuimg.bin /sys/pre-img.bin

2025-01-22 09:27:50,828 -- Connecting to target...
2025-01-22 09:27:53,220 -- timed out while waiting for ack
2025-01-22 09:27:53,490 -- Connected, reading version...
2025-01-22 09:27:53,493 -- connected to target
2025-01-22 09:27:53,494 -- Version: CC3x00VersionInfo((0, 4, 1, 2), (0, 0, 0, 0), (0, 0, 0, 0), (0, 0, 0, 0), (16, 0, 0, 0))
2025-01-22 09:27:53,494 -- This is a CC3200 device
2025-01-22 09:27:53,495 -- Switching to NWP bootloader...
2025-01-22 09:27:53,508 -- Switching UART to APPS...
2025-01-22 09:27:53,524 -- Resetting communications ...
2025-01-22 09:27:54,817 -- Uploading rbtl3100s.dll...
2025-01-22 09:27:54,818 -- Reading rbtl3100s.dll from file /home/pi/.venv/lib/python3.11/site-packages/cc3200tool/dll/rbtl3100s.dll
2025-01-22 09:27:54,818 -- Getting storage list...
2025-01-22 09:27:55,728 -- APPS version: CC3x00VersionInfo((0, 4, 0, 2), (0, 0, 0, 0), (0, 0, 0, 0), (0, 0, 0, 0), (16, 0, 0, 0))
2025-01-22 09:27:55,745 -- Uploading file extract/sys/mcuimg.bin -> /sys/pre-img.bin [20956, disk=20956]...
2025-01-22 09:28:00,765 -- timed out while waiting for ack
Traceback (most recent call last):
  File "/home/pi/.venv/bin/cc3200tool", line 33, in <module>
    sys.exit(load_entry_point('cc3200tool==1.2.4', 'console_scripts', 'cc3200tool')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pi/.venv/lib/python3.11/site-packages/cc3200tool/cc.py", line 1505, in main
    cc.write_file(command.local_file, command.cc_filename, command.file_id,
  File "/home/pi/.venv/lib/python3.11/site-packages/cc3200tool/cc.py", line 1123, in write_file
    return self._write_file_api(local_file, cc_filename, sign_data, fs_flags, size, file_data, file_len)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pi/.venv/lib/python3.11/site-packages/cc3200tool/cc.py", line 1186, in _write_file_api
    self._open_file_for_write(cc_filename, alloc_size, fs_flags)
  File "/home/pi/.venv/lib/python3.11/site-packages/cc3200tool/cc.py", line 985, in _open_file_for_write
    return self._open_file(filename, flags)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pi/.venv/lib/python3.11/site-packages/cc3200tool/cc.py", line 993, in _open_file
    self._send_packet(command)
  File "/home/pi/.venv/lib/python3.11/site-packages/cc3200tool/cc.py", line 789, in _send_packet
    raise CC3200Error(
cc3200tool.cc.CC3200Error: No ack for packet opcode=0x21

Is it possible that I am using a broken / incorrectly set up cc3200tool version? I have been using the tool since I modified a CC3235 box.

This looks like a connection problem. Either due to your wiring, your UART or your USB-port/computer.

I don’t think it makes sense to install the custom bootloader, if your box is not booting at all.

Were you able to do a read_all_files or how you extracted the flash files?

This should be fine.

I have tried it with different cable lengths, reconnected everything and also different computers.

read_flash and read_all_files in one command on all my systems always leads to the “cc3200tool.cc.CC3200Error: broken FAT: overlapping entry at block 256 (prev end was 265)” error.

cc3200tool -p /dev/ttyUSB0 --reset dtr read_flash firmware.dmp read_all_files ./filedump
2025-01-23 23:17:46,326 -- Connecting to target...
2025-01-23 23:17:48,705 -- timed out while waiting for ack
2025-01-23 23:17:50,977 -- timed out while waiting for ack
2025-01-23 23:17:51,248 -- Connected, reading version...
2025-01-23 23:17:51,264 -- connected to target
2025-01-23 23:17:51,265 -- Version: CC3x00VersionInfo((0, 4, 1, 2), (0, 0, 0, 0), (0, 0, 0, 0), (0, 0, 0, 0), (16, 0, 0, 0))
2025-01-23 23:17:51,266 -- This is a CC3200 device
2025-01-23 23:17:51,266 -- Switching to NWP bootloader...
2025-01-23 23:17:51,281 -- Switching UART to APPS...
2025-01-23 23:17:51,296 -- Resetting communications ...
2025-01-23 23:17:54,562 -- timed out while waiting for ack
2025-01-23 23:17:54,845 -- Uploading rbtl3100s.dll...
2025-01-23 23:17:54,845 -- Reading rbtl3100s.dll from file /home/pi/.venv/lib/python3.11/site-packages/cc3200tool/dll/rbtl3100s.dll
2025-01-23 23:17:54,846 -- Getting storage list...
2025-01-23 23:17:55,755 -- APPS version: CC3x00VersionInfo((0, 4, 0, 2), (0, 0, 0, 0), (0, 0, 0, 0), (0, 0, 0, 0), (16, 0, 0, 0))
2025-01-23 23:17:55,756 -- Getting storage list...
2025-01-23 23:17:55,772 -- Getting storage info...
2025-01-23 23:17:55,788 -- storage #2 info bytes: 0x10, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0
2025-01-23 23:17:55,789 -- Setting raw read size to maximum: 1048576
2025-01-23 23:17:55,789 -- Reading raw storage #2 start 0x0, size 0x100000...
................................................................................................................................................................................................................................................................
2025-01-23 23:18:12,817 -- Verify flash dump with second reading...
2025-01-23 23:18:12,819 -- Getting storage list...
2025-01-23 23:18:12,824 -- Getting storage info...
2025-01-23 23:18:12,839 -- storage #2 info bytes: 0x10, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0
2025-01-23 23:18:12,839 -- Setting raw read size to maximum: 1048576
2025-01-23 23:18:12,840 -- Reading raw storage #2 start 0x0, size 0x100000...
................................................................................................................................................................................................................................................................
2025-01-23 23:18:29,633 -- Flash verified, reading equal!
2025-01-23 23:18:29,634 -- Getting storage info...
2025-01-23 23:18:29,644 -- storage #2 info bytes: 0x10, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0
2025-01-23 23:18:29,645 -- Getting storage list...
2025-01-23 23:18:29,661 -- Reading raw storage #2 start 0x0, size 0x2000...
..
2025-01-23 23:18:29,790 -- [0] detected a valid FAT revision: 72
2025-01-23 23:18:29,791 -- [1] detected a valid FAT revision: 71
2025-01-23 23:18:29,791 -- Getting storage list...
2025-01-23 23:18:29,805 -- Reading raw storage #2 start 0x1774, size 0x2774...
...
2025-01-23 23:18:29,973 -- selected FAT revision: 72 (active)
2025-01-23 23:18:29,975 -- [0] block 71..87 fname=/sys/mcuimg.bin
2025-01-23 23:18:29,976 -- [4] block 105..106 fname=/sys/mcubootinfo.bin
2025-01-23 23:18:29,976 -- [6] block 106..212 fname=/sys/mcuimg1.bin
2025-01-23 23:18:29,976 -- [7] block 212..265 fname=/sys/mcuimg2.bin
2025-01-23 23:18:29,977 -- [8] block 265..318 fname=/sys/mcuimg3.bin
2025-01-23 23:18:29,977 -- [9] block 408..418 fname=/tmp/phy.cal
2025-01-23 23:18:29,978 -- [10] block 418..420 fname=/tmp/table.arp
2025-01-23 23:18:29,978 -- [11] block 5..71 fname=/sys/servicepack.ucf
2025-01-23 23:18:29,979 -- [12] block 87..89 fname=/sys/mode.cfg
2025-01-23 23:18:29,979 -- [13] block 89..91 fname=/sys/ipcfg.ini
2025-01-23 23:18:29,979 -- [14] block 91..93 fname=/sys/ap.cfg
2025-01-23 23:18:29,980 -- [15] block 93..95 fname=/sys/devname.cfg
2025-01-23 23:18:29,980 -- [16] block 95..97 fname=/sys/mdns.cfg
2025-01-23 23:18:29,981 -- [17] block 97..101 fname=/sys/pref.net
2025-01-23 23:18:29,981 -- [18] block 101..103 fname=/sys/stacfg.ini
2025-01-23 23:18:29,981 -- [19] block 103..105 fname=/sys/pmcfg.ini
2025-01-23 23:18:29,982 -- [20] block 318..398 fname=/www/index.html
2025-01-23 23:18:29,982 -- [21] block 398..406 fname=/www/toniebox.js
2025-01-23 23:18:29,983 -- [22] block 406..408 fname=/cert/ca.der
2025-01-23 23:18:29,983 -- [23] block 931..933 fname=/sys/otastat.txt
2025-01-23 23:18:29,983 -- [24] block 421..931 fname=/fw/sfx.bin
2025-01-23 23:18:29,984 -- [26] block 933..935 fname=/sys/date_time.cfg
2025-01-23 23:18:29,984 -- [27] block 935..937 fname=/settings.cfg
2025-01-23 23:18:29,985 -- [28] block 420..421 fname=/cert/client.der
2025-01-23 23:18:29,985 -- [29] block 937..938 fname=/cert/private.der
Traceback (most recent call last):
  File "/home/pi/.venv/bin/cc3200tool", line 33, in <module>
    sys.exit(load_entry_point('cc3200tool==1.2.4', 'console_scripts', 'cc3200tool')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pi/.venv/lib/python3.11/site-packages/cc3200tool/cc.py", line 1580, in main
    cc.read_all_files(command.local_dir, command.by_file_id, command.all_by_file_id, command.inactive, command.no_verify)
  File "/home/pi/.venv/lib/python3.11/site-packages/cc3200tool/cc.py", line 1336, in read_all_files
    fat_info = self.get_fat_info(inactive=inactive)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pi/.venv/lib/python3.11/site-packages/cc3200tool/cc.py", line 1319, in get_fat_info
    fat_info = CC3x00SffsInfo(fat_hdr, sinfo, meta2, self._device)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pi/.venv/lib/python3.11/site-packages/cc3200tool/cc.py", line 603, in __init__
    raise CC3200Error("broken FAT: overlapping entry at block %d (prev end was %d)" %
cc3200tool.cc.CC3200Error: broken FAT: overlapping entry at block 256 (prev end was 265)

I created the extracted flash files with the help of these two commands.

cc3200tool -p /dev/ttyUSB0 --reset dtr read_flash backup.bin --size 4194304 --ignore-max-size 4194304
2025-01-23 23:23:59,072 -- Connecting to target...
2025-01-23 23:24:01,441 -- timed out while waiting for ack
2025-01-23 23:24:03,713 -- timed out while waiting for ack
2025-01-23 23:24:05,985 -- timed out while waiting for ack
2025-01-23 23:24:06,255 -- Connected, reading version...
2025-01-23 23:24:06,264 -- connected to target
2025-01-23 23:24:06,264 -- Version: CC3x00VersionInfo((0, 4, 1, 2), (0, 0, 0, 0), (0, 0, 0, 0), (0, 0, 0, 0), (16, 0, 0, 0))
2025-01-23 23:24:06,265 -- This is a CC3200 device
2025-01-23 23:24:06,265 -- Switching to NWP bootloader...
2025-01-23 23:24:06,279 -- Switching UART to APPS...
2025-01-23 23:24:06,295 -- Resetting communications ...
2025-01-23 23:24:07,574 -- Uploading rbtl3100s.dll...
2025-01-23 23:24:07,574 -- Reading rbtl3100s.dll from file /home/pi/.venv/lib/python3.11/site-packages/cc3200tool/dll/rbtl3100s.dll
2025-01-23 23:24:07,575 -- Getting storage list...
2025-01-23 23:24:08,468 -- APPS version: CC3x00VersionInfo((0, 4, 0, 2), (0, 0, 0, 0), (0, 0, 0, 0), (0, 0, 0, 0), (16, 0, 0, 0))
2025-01-23 23:24:08,469 -- Getting storage list...
2025-01-23 23:24:08,485 -- Getting storage info...
2025-01-23 23:24:08,501 -- storage #2 info bytes: 0x10, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0
2025-01-23 23:24:08,502 -- Ignoring storage size limits
2025-01-23 23:24:08,502 -- Reading raw storage #2 start 0x0, size 0x400000...
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
2025-01-23 23:25:22,062 -- Verify flash dump with second reading...
2025-01-23 23:25:22,065 -- Getting storage list...
2025-01-23 23:25:22,075 -- Getting storage info...
2025-01-23 23:25:22,091 -- storage #2 info bytes: 0x10, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0
2025-01-23 23:25:22,092 -- Ignoring storage size limits
2025-01-23 23:25:22,092 -- Reading raw storage #2 start 0x0, size 0x400000...
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
2025-01-23 23:26:30,580 -- Flash verified, reading equal!
2025-01-23 23:26:30,580 -- All commands done, bye.
cc3200tool -if backup.bin read_all_files extract/

The extracted files are then as follows

extract/
├── cert
│   ├── ca.der
│   ├── client.der
│   └── private.der
├── fw
│   └── sfx.bin
├── settings.cfg
├── sys
│   ├── ap.cfg
│   ├── date_time.cfg
│   ├── devname.cfg
│   ├── ipcfg.ini
│   ├── mcubootinfo.bin
│   ├── mcuimg1.bin
│   ├── mcuimg2.bin
│   ├── mcuimg3.bin
│   ├── mcuimg.bin
│   ├── mdns.cfg
│   ├── mode.cfg
│   ├── otastat.txt
│   ├── pmcfg.ini
│   ├── pref.net
│   ├── servicepack.ucf
│   └── stacfg.ini
├── tmp
│   ├── phy.cal
│   └── table.arp
└── www
    ├── index.html
    └── toniebox.js

Can I continue working with these files or is something still missing?

Kind regards
Daniel

In case anyone runs into the same error, I fixed it by doing a reset, see Bricked my box?, then started all over again.

Whatever caused the broken FAT error is now gone.

Many thanks to 0xbadbee for the quick answers to my questions and the helpful support.

1 Like