I'm attempting to back up my carthing (OS Version 8.4.4) using --dump_device. I've tried on Windows 11, in a VM, and on actual hardware, aswell as my Linux machine. All 3 give me the same timeout error, so I'm lead to believe that it isn't something that I'm doing. Below are the logs for each system.
Windows 11 x64
```
D:\Documents\tmp\carthing\superbird-tool>python superbird_tool.py --dump_device backup
Spotify Car Thing (superbird) toolkit, v0.1.0, by bishopdynamics
https://github.com/bishopdynamics/superbird-tool
Found device booted in USB Mode (buttons 1 & 4 held at boot)
Entering USB Burn Mode
writing images/superbird.bl2.encrypted.bin at 0xfffa0000
writing to: 0xfffa0000
AMLC dataSize=16384, offset=65536, seq=0
[DONE]
AMLC dataSize=49152, offset=393216, seq=1
[DONE]
AMLC dataSize=16384, offset=229376, seq=2
[DONE]
AMLC dataSize=49152, offset=180224, seq=3
[DONE]
AMLC dataSize=16384, offset=65536, seq=4
[DONE]
AMLC dataSize=1224048, offset=81920, seq=5
[DONE]
[BL2 END]
Waiting for device...
Device is now in USB Burn Mode
executing bulkcmd: "amlmmc part 1"
result: success
dumping entire device to backup
Validating size of partition: bootloader size: 0x200000 2MB - OK
dumping partition: "bootloader" 0x0+0x1e0200 into file: backup/bootloader.dump
chunk_size: 128.0KB, speed: 321KB/s progress: 94% remaining: 0MB / 2MB
Validating size of partition: env size: 0x800000 8MB - OK
dumping partition: "env" 0x3a000+0xe0000 into file: backup/env.dump
chunk_size: 128.0KB, speed: 326KB/s progress: 11% remaining: 7MB / 8MB
Error while reading partition env, [Errno None] b'libusb0-dll:err [control_msg] sending control message failed, win error: The semaphore timeout period has expired.\r\n\n'
Traceback (most recent call last):
File "D:\Documents\tmp\carthing\superbird-tool\superbird_device.py", line 411, in dump_partition
rdata = self.read_memory(self.ADDR_TMP, chunk_size)
File "D:\Documents\tmp\carthing\superbird-tool\superbird_device.py", line 314, in read_memory
read_data = self.device.readSimpleMemory(address + offset, 64).tobytes()
File "C:\Users\kenny\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\pyamlboot\pyamlboot.py", line 91, in readSimpleMemory
ret = self.dev.ctrl_transfer(bmRequestType = 0xc0,
File "C:\Users\kenny\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\usb\core.py", line 1082, in ctrl_transfer
ret = self._ctx.backend.ctrl_transfer(
File "C:\Users\kenny\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\usb\backend\libusb0.py", line 601, in ctrl_transfer
return _check(_lib.usb_control_msg(
File "C:\Users\kenny\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\usb\backend\libusb0.py", line 447, in _check
raise USBError(errmsg, ret)
usb.core.USBError: [Errno None] b'libusb0-dll:err [control_msg] sending control message failed, win error: The semaphore timeout period has expired.\r\n\n'
```
Linux x64 (Fedora 40)
```
front@pavilion: ~/Downloads/superbird-tool$ sudo python [superbird_tool.py](http://superbird_tool.py/) --dump_device backup
Spotify Car Thing (superbird) toolkit, v0.1.0, by bishopdynamics
https://github.com/bishopdynamics/superbird-tool
Found device booted in USB Mode (buttons 1 & 4 held at boot)
Entering USB Burn Mode
writing images/superbird.bl2.encrypted.bin at 0xfffa0000
writing to: 0xfffa0000
AMLC dataSize=16384, offset=65536, seq=0
[DONE]
AMLC dataSize=49152, offset=393216, seq=1
[DONE]
AMLC dataSize=16384, offset=229376, seq=2
[DONE]
AMLC dataSize=49152, offset=180224, seq=3
[DONE]
AMLC dataSize=16384, offset=65536, seq=4
[DONE]
AMLC dataSize=1224048, offset=81920, seq=5
[DONE]
[BL2 END]
Waiting for device...
Device is now in USB Burn Mode
executing bulkcmd: "amlmmc part 1"
result: success
dumping entire device to backup
Validating size of partition: bootloader size: 0x200000 2MB - OK
dumping partition: "bootloader" 0x0+0x200 into file: backup/bootloader.dump
chunk_size: 128.0KB, speed: 0KB/s progress: 0% remaining: 2MB / 2MB
Error while reading partition bootloader, [Errno 110] Operation timed out
Traceback (most recent call last):
File "/home/front/Downloads/superbird-tool/superbird_device.py", line 411, in dump_partition
rdata = self.read_memory(self.ADDR_TMP, chunk_size)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/front/Downloads/superbird-tool/superbird_device.py", line 314, in read_memory
read_data = self.device.readSimpleMemory(address + offset, 64).tobytes()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/pyamlboot/pyamlboot.py", line 91, in readSimpleMemory
ret = self.dev.ctrl_transfer(bmRequestType = 0xc0,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/usb/core.py", line 1082, in ctrl_transfer
ret = self._ctx.backend.ctrl_transfer(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/usb/backend/libusb1.py", line 893, in ctrl_transfer
ret = _check(self.lib.libusb_control_transfer(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/usb/backend/libusb1.py", line 602, in _check
raise USBTimeoutError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBTimeoutError: [Errno 110] Operation timed out
```
I'm attempting to back up my carthing (OS Version 8.4.4) using
--dump_device
. I've tried on Windows 11, in a VM, and on actual hardware, aswell as my Linux machine. All 3 give me the same timeout error, so I'm lead to believe that it isn't something that I'm doing. Below are the logs for each system.Windows 11 x64
``` D:\Documents\tmp\carthing\superbird-tool>python superbird_tool.py --dump_device backup Spotify Car Thing (superbird) toolkit, v0.1.0, by bishopdynamics https://github.com/bishopdynamics/superbird-tool Found device booted in USB Mode (buttons 1 & 4 held at boot) Entering USB Burn Mode writing images/superbird.bl2.encrypted.bin at 0xfffa0000 writing to: 0xfffa0000 AMLC dataSize=16384, offset=65536, seq=0 [DONE] AMLC dataSize=49152, offset=393216, seq=1 [DONE] AMLC dataSize=16384, offset=229376, seq=2 [DONE] AMLC dataSize=49152, offset=180224, seq=3 [DONE] AMLC dataSize=16384, offset=65536, seq=4 [DONE] AMLC dataSize=1224048, offset=81920, seq=5 [DONE] [BL2 END] Waiting for device... Device is now in USB Burn Mode executing bulkcmd: "amlmmc part 1" result: success dumping entire device to backup Validating size of partition: bootloader size: 0x200000 2MB - OK dumping partition: "bootloader" 0x0+0x1e0200 into file: backup/bootloader.dump chunk_size: 128.0KB, speed: 321KB/s progress: 94% remaining: 0MB / 2MB Validating size of partition: env size: 0x800000 8MB - OK dumping partition: "env" 0x3a000+0xe0000 into file: backup/env.dump chunk_size: 128.0KB, speed: 326KB/s progress: 11% remaining: 7MB / 8MB Error while reading partition env, [Errno None] b'libusb0-dll:err [control_msg] sending control message failed, win error: The semaphore timeout period has expired.\r\n\n' Traceback (most recent call last): File "D:\Documents\tmp\carthing\superbird-tool\superbird_device.py", line 411, in dump_partition rdata = self.read_memory(self.ADDR_TMP, chunk_size) File "D:\Documents\tmp\carthing\superbird-tool\superbird_device.py", line 314, in read_memory read_data = self.device.readSimpleMemory(address + offset, 64).tobytes() File "C:\Users\kenny\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\pyamlboot\pyamlboot.py", line 91, in readSimpleMemory ret = self.dev.ctrl_transfer(bmRequestType = 0xc0, File "C:\Users\kenny\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\usb\core.py", line 1082, in ctrl_transfer ret = self._ctx.backend.ctrl_transfer( File "C:\Users\kenny\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\usb\backend\libusb0.py", line 601, in ctrl_transfer return _check(_lib.usb_control_msg( File "C:\Users\kenny\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\usb\backend\libusb0.py", line 447, in _check raise USBError(errmsg, ret) usb.core.USBError: [Errno None] b'libusb0-dll:err [control_msg] sending control message failed, win error: The semaphore timeout period has expired.\r\n\n' ```Linux x64 (Fedora 40)
``` front@pavilion: ~/Downloads/superbird-tool$ sudo python [superbird_tool.py](http://superbird_tool.py/) --dump_device backup Spotify Car Thing (superbird) toolkit, v0.1.0, by bishopdynamics https://github.com/bishopdynamics/superbird-tool Found device booted in USB Mode (buttons 1 & 4 held at boot) Entering USB Burn Mode writing images/superbird.bl2.encrypted.bin at 0xfffa0000 writing to: 0xfffa0000 AMLC dataSize=16384, offset=65536, seq=0 [DONE] AMLC dataSize=49152, offset=393216, seq=1 [DONE] AMLC dataSize=16384, offset=229376, seq=2 [DONE] AMLC dataSize=49152, offset=180224, seq=3 [DONE] AMLC dataSize=16384, offset=65536, seq=4 [DONE] AMLC dataSize=1224048, offset=81920, seq=5 [DONE] [BL2 END] Waiting for device... Device is now in USB Burn Mode executing bulkcmd: "amlmmc part 1" result: success dumping entire device to backup Validating size of partition: bootloader size: 0x200000 2MB - OK dumping partition: "bootloader" 0x0+0x200 into file: backup/bootloader.dump chunk_size: 128.0KB, speed: 0KB/s progress: 0% remaining: 2MB / 2MB Error while reading partition bootloader, [Errno 110] Operation timed out Traceback (most recent call last): File "/home/front/Downloads/superbird-tool/superbird_device.py", line 411, in dump_partition rdata = self.read_memory(self.ADDR_TMP, chunk_size) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/front/Downloads/superbird-tool/superbird_device.py", line 314, in read_memory read_data = self.device.readSimpleMemory(address + offset, 64).tobytes() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pyamlboot/pyamlboot.py", line 91, in readSimpleMemory ret = self.dev.ctrl_transfer(bmRequestType = 0xc0, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/usb/core.py", line 1082, in ctrl_transfer ret = self._ctx.backend.ctrl_transfer( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/usb/backend/libusb1.py", line 893, in ctrl_transfer ret = _check(self.lib.libusb_control_transfer( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/usb/backend/libusb1.py", line 602, in _check raise USBTimeoutError(_strerror(ret), ret, _libusb_errno[ret]) usb.core.USBTimeoutError: [Errno 110] Operation timed out ```