Trying to figure out whats wrong with my radxa zero

hey guys im trying to figure out what’s going on with my radxa zero. i’ve tried to reach out by using the “contact us” on the website. anyways heres whats going on. the first day i got the radxa zero i followed the guide and was not able to immediately clear the emmc. after some time i was able to clear it and install the ubuntu os on it, but when i tried to turn it on, i had no output from the micro HDMI port. so i tried to clear it again, now i get nothing. after i clear the emmc as per the guide, it doesn’t show up as a usb storage. here is my output from lsusb
lsusb :
Bus 002 Device 003: ID 046d:c534 Logitech, Inc. Unifying Receiver
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0bda:8771 Realtek Semiconductor Corp.
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 011: ID 1b8e:c003 Amlogic, Inc. GX-CHIP
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
it shows its there but when i use lsblk or fdisk -l its nowhere to be found.

using: sudo boot-g12.py radxa-zero-erase-emmc.bin
Firmware Version :
ROM: 3.2 Stage: 0.0
Need Password: 0 Password OK: 1
Writing radxa-zero-erase-emmc.bin at 0xfffa0000…
[DONE]
Running at 0xfffa0000…
[DONE]
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=245760, seq=3…
[DONE]
AMLC dataSize=16384, offset=65536, seq=4…
[DONE]
AMLC dataSize=49152, offset=393216, seq=5…
[DONE]
AMLC dataSize=16384, offset=229376, seq=6…
[DONE]
AMLC dataSize=49152, offset=245760, seq=7…
[DONE]
AMLC dataSize=49152, offset=294912, seq=8…
[DONE]
AMLC dataSize=16384, offset=65536, seq=9…
[DONE]
AMLC dataSize=1324400, offset=81920, seq=10…
[DONE]
[BL2 END]

ALSO my serial console output

G12A:BL:0253b8:61aa2d;FEAT:E0F83180:2000;POC:F;RCY:0;EMMC:0;READ:0;CHK:1F;READ:?
1
bl2_stage_init 0x81
hw id: 0x0001 - pwm id 0x00
bl2_stage_init 0xc0
bl2_stage_init 0x02

L0:00000000
L1:00000703
L2:00008067
L3:04000000
S1:00000000
B2:00002000
B1:e0f83180

TE: 177440

BL2 Built : 15:21:48, Aug 28 2019. g12a g1bf2b53 - luan.yuan@droid15-sz

Board ID = 2
Set cpu clk to 24M
Set clk81 to 24M
CPU clk: 1200 MHz
Set clk81 to 166.6M
eMMC boot @ 1
sw8 s
DDR driver_vesion: LPDDR4_PHY_V_0_1_18 build time: Aug 28 2019 15:21:45
board id: 2
Load FIP HDR from eMMC, src: 0x00010200, des: 0xfffd0000, size: 0x00004000, par1
fw parse done
Load ddrfw from eMMC, src: 0x00060200, des: 0xfffd0000, size: 0x0000c000, part:1
Load ddrfw from eMMC, src: 0x00038200, des: 0xfffd0000, size: 0x00004000, part:1
PIEI prepare done
fastboot data load
00000000
emmc switch 2 ok
ddr saved addr:00016000
Load ddr parameter from eMMC, src: 0x02c00000, des: 0xfffd0000, size: 0x00001000
00000000
emmc switch 0 ok
fastboot data verify
verify result: 267
Cfg max: 2, cur: 1. Board id: 255. Force loop cfg
LPDDR4 probe
ddr clk to 792MHz
Load ddrfw from eMMC, src: 0x0003c200, des: 0xfffd0000, size: 0x0000c000, part:1
00000000
emmc switch 1 ok

dmc_version 0000
Check phy result
INFO : ERROR : Training has failed!
1D training failed
Cfg max: 2, cur: 2. Board id: 255. Force loop cfg
LPDDR4 probe
ddr clk to 792MHz
Load ddrfw from eMMC, src: 0x0003c200, des: 0xfffd0000, size: 0x0000c000, part:1

dmc_version 0000
Check phy result
INFO : End of CA training
INFO : End of initialization
INFO : Training has run successfully!
Check phy result
INFO : End of initialization
INFO : End of read enable training
INFO : End of fine write leveling
INFO : End of Write leveling coarse delay
INFO : Training has run successfully!
Check phy result
INFO : End of initialization
INFO : End of read dq deskew training
INFO : End of MPR read delay center optimization
INFO : End of write delay center optimization
INFO : End of read delay center optimization
INFO : End of max read latency training
INFO : Training has run successfully!
1D training succeed
Load ddrfw from eMMC, src: 0x00048200, des: 0xfffd0000, size: 0x0000c000, part:1
Check phy result
INFO : End of initialization
INFO : End of 2D read delay Voltage center optimization
INFO : End of 2D read delay Voltage center optimization
INFO : End of 2D write delay Voltage center optimization
INFO : End of 2D write delay Voltage center optimization
INFO : Training has run successfully!

channel==0
RxClkDly_Margin_A0==236 ps 12
TxDqDly_Margin_A0==256 ps 13
RxClkDly_Margin_A1==0 ps 0
TxDqDly_Margin_A1==0 ps 0
TrainedVREFDQ_A0==74
TrainedVREFDQ_A1==0
VrefDac_Margin_A0==31
DeviceVref_Margin_A0==40
VrefDac_Margin_A1==0
DeviceVref_Margin_A1==0

channel==1
RxClkDly_Margin_A0==256 ps 13
TxDqDly_Margin_A0==256 ps 13
RxClkDly_Margin_A1==0 ps 0
TxDqDly_Margin_A1==0 ps 0
TrainedVREFDQ_A0==74
TrainedVREFDQ_A1==0
VrefDac_Margin_A0==31
DeviceVref_Margin_A0==40
VrefDac_Margin_A1==0
DeviceVref_Margin_A1==0

dwc_ddrphy_apb_wr((0<<20)|(2<<16)|(0<<12)|(0xb0):0004

soc_vref_reg_value 0x 0000001a 00000019 0000001c 0000001b 0000001a 00000016 0003
2D training succeed
aml_ddr_fw_vesion: LPDDR4_PHY_V_0_1_18 build time: Aug 28 2019 13:53:31
auto size-- 65535DDR cs0 size: 2048MB
DDR cs1 size: 0MB
DMC_DDR_CTRL: 00c0002cDDR size: 2048MB
cs0 DataBus test pass
cs0 AddrBus test pass

100bdlr_step_size ps== 460
result report
boot times 0Enable ddr reg access
00000000
emmc switch 3 ok
Authentication key not yet programmed
get rpmb counter error 0x00000007
00000000
emmc switch 1 ok
Load FIP HDR from eMMC, src: 0x00010200, des: 0x01700000, size: 0x00004000, par1
Load BL3X from eMMC, src: 0x00078200, des: 0x01768000, size: 0x000b0000, part: 1
bl2z: ptr: 05129330, size: 00001e40
0.0;M3 CHK:0;cm4_sp_mode 0
MVN_1=0x00000000
MVN_2=0x00000000
[Image: g12a_v1.1.3390-6ac5299 2019-09-26 14:09:46 luan.yuan@droid15-sz]
OPS=0x30
ring efuse init
28 0b 30 00 01 2d 0e 00 00 09 38 38 34 55 30 50
[0.017150 Inits done]
secure task start!
high task start!
low task start!
run into bl31
NOTICE: BL31: v1.3(release):4fc40b1
NOTICE: BL31: Built : 15:57:33, May 22 2019
NOTICE: BL31: G12A normal boot!
NOTICE: BL31: BL33 decompress pass
ERROR: Error initializing runtime service opteed_fast

U-Boot 2015.01-g7386aaa (Aug 22 2021 - 11:36:23)

DRAM: 2 GiB
Relocation Offset is: 76e8e000
spi_post_bind(spifc): req_seq = 0
register usb cfg[0][1] = 0000000077f4b628
NAND: MMC: aml_priv->desc_buf = 0x0

any help would be much appricated, if i have to buy another board because this one is done for, i dont mind i would just like to know if its a software, hardware, or a me issue.

1 Like

Bookmarking this one, because I have exactly the same problem. I did all the steps, aaaannnnd nothing. No signs of life. At one point I was able to boot from an SD card, but that stopped working too. My theory is that somehow the bootloader has become corrupt, but so far fixing that has eluded me. I do not yet have a USB->TTL serial adaptor, but to have so simple a task go so horribly wrong is not encouraging.

To see so many people having the same problem as you and I is not encouraging either. Radxa really needs to reengineer this somehow. In the meantime, some sure-fire automated approach to fixing the bootloader from Radxa would really help.

In the meantime, I did find this, which might help. It describes how to use U-Boot via a serial connection to fix the more recalcitrant boot problems:

https://wiki.radxa.com/Zero/install/Boot_Troubleshooting#:~:text=all%203%20partitions.-,From%20inside%20U-Boot,bootloader%20according%20to%20the%20instruction%20listed%20in%20the%20previous%20section.,-Modify%20bootloader%20on

Sorry for the delay. We just returned to work after a 5-day national holiday.

This line indicates you are still running Android bootloader, which is not compatible with Linux. Try sudo boot-g12.py radxa-zero-erase-emmc.bin again, and after the program is finished, wait for additional 10 seconds for the code to run in your board. You should be able to lsblk and find a new USB storage device. You can then flash Linux images to it.

i just tried using that, and this is now my output
sudo boot-g12.py radxa-zero-erase-emmc.bin
Firmware Version :
ROM: 3.2 Stage: 0.0
Need Password: 0 Password OK: 1
Traceback (most recent call last):
File “/usr/local/bin/boot-g12.py”, line 30, in
with open(args.binary, “rb”) as f:
FileNotFoundError: [Errno 2] No such file or directory: ‘radxa-zero-erase-emmc.bin’

Well you need to run the command from where you keep radxa-zero-erase-emmc.bin file.

sudo boot-g12.py radxa-zero-erase-emmc.bin
[sudo] password for alexander:
Firmware Version :
ROM: 3.2 Stage: 0.0
Need Password: 0 Password OK: 1
Writing radxa-zero-erase-emmc.bin at 0xfffa0000…
[DONE]
Running at 0xfffa0000…
[DONE]
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=245760, seq=3…
[DONE]
AMLC dataSize=16384, offset=65536, seq=4…
[DONE]
AMLC dataSize=49152, offset=393216, seq=5…
[DONE]
AMLC dataSize=16384, offset=229376, seq=6…
[DONE]
AMLC dataSize=49152, offset=245760, seq=7…
[DONE]
AMLC dataSize=49152, offset=294912, seq=8…
[DONE]
AMLC dataSize=16384, offset=65536, seq=9…
[DONE]
AMLC dataSize=1324400, offset=81920, seq=10…
[DONE]
[BL2 END]

lsblk output
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 110.6M 1 loop /snap/core/12834
loop1 7:1 0 111.6M 1 loop /snap/core/12941
loop3 7:3 0 61.9M 1 loop /snap/core20/1405
loop4 7:4 0 625.3M 1 loop /snap/libreoffice/247
loop5 7:5 0 625.5M 1 loop /snap/libreoffice/250
loop6 7:6 0 61.9M 1 loop /snap/core20/1434
sda 8:0 0 931.5G 0 disk
├─sda1 8:1 0 529M 0 part
├─sda2 8:2 0 100M 0 part
├─sda3 8:3 0 16M 0 part
└─sda4 8:4 0 930.9G 0 part
sdb 8:16 0 37.3G 0 disk
└─sdb1 8:17 0 37.3G 0 part /
sdc 8:32 0 3.7T 0 disk
├─sdc1 8:33 0 128M 0 part
└─sdc2 8:34 0 3.7T 0 part
sdd 8:48 0 4.6T 0 disk
└─sdd1 8:49 0 4.6T 0 part
sr0 11:0 1 1024M 0 rom

lsusb output

Bus 002 Device 003: ID 046d:c534 Logitech, Inc. Unifying Receiver
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 011: ID 1b8e:c003 Amlogic, Inc.
Bus 001 Device 004: ID 0bda:8771 Realtek Semiconductor Corp.
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 004: ID 0bc2:3322 Seagate RSS LLC SRD0NF2 [Expansion Desktop Drive]
Bus 004 Device 003: ID 1058:1230 Western Digital Technologies, Inc. My Book (WDBFJK)
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Can you attach a serial cable and rerun the command? Something must gone wrong for you.

elcome to minicom 2.7.1

OPTIONS: I18n
Compiled on Dec 23 2019, 02:06:26.
Port /dev/ttyUSB0, 19:03:13

Press CTRL-A Z for help on special keys

0.0
l2_stage_init 0x01
bl2_stage_init 0x81
hw id: 0x0001 - pwm id 0x00
bl2_stage_init 0xc0
bl2_stage_init 0x02

L0:00000000
L1:00000703
L2:00008067
L3:04000000
S1:00000000
B2:00002000
B1:e0f83180

TE: 81234459

BL2 Built : 15:21:48, Aug 28 2019. g12a g1bf2b53 - luan.yuan@droid15-sz

Board ID = 2
Set cpu clk to 24M
Set clk81 to 24M
CPU clk: 1200 MHz
Set clk81 to 166.6M
DDR driver_vesion: LPDDR4_PHY_V_0_1_18 build time: Aug 28 2019 15:21:45
board id: 2
Cfg max: 2, cur: 1. Board id: 255. Force loop cfg
DATA transfer complete…
fw parse done
DATA transfer complete…
AML DDR FW load done
DATA transfer complete…
PIEI prepare done
LPDDR4 probe
ddr clk to 792MHz
DATA transfer complete…

dmc_version 0000
Check phy result
INFO : ERROR : Training has failed!
Cfg max: 2, cur: 2. Board id: 255. Force loop cfg
ddr probe id done
DATA transfer complete…
fw parse done
DATA transfer complete…
AML DDR FW load done
DATA transfer complete…
PIEI prepare done
LPDDR4 probe
ddr clk to 792MHz
DATA transfer complete…

dmc_version 0000
Check phy result
INFO : End of CA training
INFO : End of initialization
INFO : Training has run successfully!
Check phy result
INFO : End of initialization
INFO : End of read enable training
INFO : End of fine write leveling
INFO : End of Write leveling coarse delay
INFO : Training has run successfully!
Check phy result
INFO : End of initialization
INFO : End of read dq deskew training
INFO : End of MPR read delay center optimization
INFO : End of write delay center optimization
INFO : End of read delay center optimization
INFO : End of max read latency training
INFO : Training has run successfully!
1D init succeed
DATA transfer complete…
Check phy result
INFO : End of initialization
INFO : End of 2D read delay Voltage center optimization
INFO : End of 2D read delay Voltage center optimization
INFO : End of 2D write delay Voltage center optimization
INFO : End of 2D write delay Voltage center optimization
INFO : Training has run successfully!

channel==0
RxClkDly_Margin_A0==236 ps 12
TxDqDly_Margin_A0==256 ps 13
RxClkDly_Margin_A1==0 ps 0
TxDqDly_Margin_A1==0 ps 0
TrainedVREFDQ_A0==75
TrainedVREFDQ_A1==0
VrefDac_Margin_A0==31
DeviceVref_Margin_A0==39
VrefDac_Margin_A1==0
DeviceVref_Margin_A1==0

channel==1
RxClkDly_Margin_A0==236 ps 12
TxDqDly_Margin_A0==256 ps 13
RxClkDly_Margin_A1==0 ps 0
TxDqDly_Margin_A1==0 ps 0
TrainedVREFDQ_A0==75
TrainedVREFDQ_A1==0
VrefDac_Margin_A0==32
DeviceVref_Margin_A0==39
VrefDac_Margin_A1==0
DeviceVref_Margin_A1==0

dwc_ddrphy_apb_wr((0<<20)|(2<<16)|(0<<12)|(0xb0):0004

soc_vref_reg_value 0x 0000001a 00000019 0000001b 0000001a 0000001a 00000016 0003
2D init succeed
ddr init done, boot next stage
result report
aml_ddr_fw_vesion: LPDDR4_PHY_V_0_1_18 build time: Aug 28 2019 13:53:31
auto size-- 65535DDR cs0 size: 2048MB
DDR cs1 size: 0MB
DMC_DDR_CTRL: 00c0002cDDR size: 2048MB
cs0 DataBus test pass
cs0 AddrBus test pass
DATA transfer complete…
DATA transfer complete…
Data req end
DATA transfer complete…
RUN bl2 usb boot
bl2z: ptr: 05129330, size: 00001e40
0.0;M3 CHK:0;cm4_sp_mode 0
MVN_1=0x00000000
MVN_2=0x00000000
[Image: g12a_v1.1.3390-6ac5299 2019-09-26 14:09:46 luan.yuan@droid15-sz]
OPS=0x30
ring efuse init
28 0b 30 00 01 2d 0e 00 00 09 38 38 34 55 30 50
[0.017149 Inits done]
secure task start!
high task start!
low task start!
run into bl31
NOTICE: BL31: v1.3(release):4fc40b1
NOTICE: BL31: Built : 15:57:33, May 22 2019
NOTICE: BL31: G12A normal boot!
ERROR: Error initializing runtime service opteed_fast

U-Boot 2021.07-24133-gf21fc0a44c-dirty (Jan 23 2022 - 09:51:56 +0800) radxa-zero

Model: Radxa Zero
SoC: Amlogic Meson G12A (S905Y2) Revision 28:b (30:2)
DRAM: 2 GiB
MMC: sd@ffe03000: 0, sd@ffe05000: 1, mmc@ffe07000: 2
Loading Environment from nowhere… OK
In: serial
Out: serial
Err: serial
Net: Net Initialization Skipped
No ethernet found.
starting USB…
Bus usb@ff500000: Register 3000140 NbrPorts 3
Starting the controller
USB XHCI 1.10
scanning bus usb@ff500000 for devices… 1 USB Device(s) found
scanning usb for storage devices… 0 Storage Device(s) found
Hit any key to stop autoboot: 0
unable to select a mode : -5
Card did not respond to voltage select! : -110
unable to select a mode : -5
Card did not respond to voltage select! : -110
unable to select a mode : -5
Card did not respond to voltage select! : -110
unable to select a mode : -5
resetting …
bl31 reboot reason: 0xd
bl31 reboot reason: 0x0
system cmd 1.
G12A:BL:0253b8:61aa2d;FEAT:E0F83180:2000;POC:D;RCY:0;USB:0;

Hey, I still haven’t gotten a reply about this

This line indicates there are issues with your eMMC. You might knocked some parts on your board. Can you take picture on both sides of you board?

Notice anything physically wrong with my board?

Sorry for the delay. It looks fine at a glimpse. I’ll get some testing U-Boot binary out this week with some possible workarounds to see if that can fix the issue.

Actually I found a board that I can reliably reproduce the eMMC issue (boot into the system, dd eMMC to /dev/null, reboot). A few observations:

  1. The issue seems to be related to board temperature. dd made components hot and then the board fails to reboot. Once the board cooled off it can boot normally again.
  2. Linux did not report any error before reboot even when components are hot.
  3. In U-Boot, I can run mmc rescan then part list mmc 2 would work and loading some small file would also work. However, initramfs still cannot be loaded.

The few workarounds I tried did not work so I won’t post them. I’ll check the U-Boot driver to see what was causing the issue.

Printed a lot of debug logs and an workaround was found. Please flash the following u-boot.bin.sd.bin.zip (596.4 KB) to your eMMC and see if that helpes. In serial console press Ctrl+C to interrupt u-boot autoboot, then run ums 1 2 to expose eMMC as a USB disk to your host computer. Then run following commands on your host Linux computer (replace sdX with real device):

            sudo dd if="./u-boot.bin.sd.bin" of=/dev/sdX bs=1 count=444
            sudo dd if="./u-boot.bin.sd.bin" of=/dev/sdX bs=512 skip=1 seek=1

If you cannot get this to work I’ll be back on Monday.

1 Like

Just tried your 22.04 u-boot from post above and dd’d that onto an armbian image on emmc.

Armbian then succesfully booted from emmc

=> version
U-Boot 2022.04-00001-g5e1abbe4f8-dirty (Jun 17 2022 - 21:55:52 +0800) radxa-zero

aarch64-linux-gnu-gcc (GCC) 12.1.0
GNU ld (GNU Binutils) 2.38
mmc@ffe07000: 2
=> mmc dev 2
switch to partitions #0, OK
mmc2(part 0) is current device
=> mmcinfo
Device: mmc@ffe07000
Manufacturer ID: 70
OEM: 0
Name: T22708
Bus Speed: 26000000
Mode: MMC High Speed (26MHz)
Rd Block Len: 512
MMC version 5.0
High Capacity: Yes
Capacity: 7.1 GiB
Bus Width: 8-bit
Erase Group Size: 512 KiB
HC WP Group Size: 8 MiB
User Capacity: 7.1 GiB
Boot Capacity: 4 MiB ENH
RPMB Capacity: 4 MiB ENH
Boot area 0 is not write protected
Boot area 1 is not write protected
o end-user support: built from trunk

System load:   52%              Up time:       0 min
Memory usage:  8% of 1.90G      IP:            192.168.3.194
CPU temp:      41°C             Usage of /:    25% of 6.9G

[ 0 security updates available, 2 updates total: apt upgrade ]
Last check: 2022-05-15 03:54

[ General system configuration (beta): armbian-config ]

Last login: Sat May 14 23:54:51 EDT 2022 on tty1
root@radxa-zero:~# lsblk
NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
mmcblk0      179:0    0   7.1G  0 disk
└─mmcblk0p1  179:1    0     7G  0 part /
mmcblk0boot0 179:32   0     4M  1 disk
mmcblk0boot1 179:64   0     4M  1 disk
zram0        252:0    0 974.6M  0 disk [SWAP]
zram1        252:1    0    50M  0 disk /var/log

Pinned this post so I can collect a few more feedbacks on this fix.

1 Like

Hello, I am trying to setup my new Radxa zero for booting linux.

But I am already stuck with this, I tried USB3 and 2.0 ports, the best shortest cable I have, no luck but a time out. Please help:

pzahl@phenom:~$ sudo boot-g12.py radxa-zero-erase-emmc.bin 
Firmware Version :
ROM: 3.2 Stage: 0.0
Need Password: 0 Password OK: 1
Writing radxa-zero-erase-emmc.bin at 0xfffa0000...
[DONE]
Running at 0xfffa0000...
[DONE]
Traceback (most recent call last):
  File "/usr/local/bin/boot-g12.py", line 47, in <module>
    (length, offset) = dev.getBootAMLC()
                       ^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/pyamlboot/pyamlboot.py", line 356, in getBootAMLC
    self.dev.ctrl_transfer(bmRequestType = 0x40,
  File "/usr/lib/python3/dist-packages/usb/core.py", line 1082, in ctrl_transfer
    ret = self._ctx.backend.ctrl_transfer(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/usb/backend/libusb1.py", line 893, in ctrl_transfer
    ret = _check(self.lib.libusb_control_transfer(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-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