Rpi 4: USB controller not found at boot

This forum is for topics dealing with problems with software specifically in the AArch64 repo.

Rpi 4: USB controller not found at boot

Postby 6arts » Thu Dec 30, 2021 10:59 am

Hello everyone !

Recently, i have an issue with my Rpi4 and my ASM1051E USB controller.
The USB controller is not detected at boot time.

To confirm the problem, I have installed a vanilla archlinux distrib (ArchLinuxARM-rpi-aarch64-latest.tar.gz) in an uSD card and boot my system with the USB controller pluged in.

After boot, the controller is not detected :

$this->bbcode_second_pass_code('', '
$ uname -a
Linux alarm 5.15.5-1-ARCH #1 SMP Wed Dec 1 01:26:36 UTC 2021 aarch64 GNU/Linux

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

$ dmesg | grep -e hcd -e usb
[ 1.634476] usbcore: registered new interface driver usbfs
[ 1.634529] usbcore: registered new interface driver hub
[ 1.634572] usbcore: registered new device driver usb
[ 1.634762] usb_phy_generic phy: supply vcc not found, using dummy regulator
[ 3.417327] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 3.438210] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 3.454501] uhci_hcd: USB Universal Host Controller Interface driver
[ 3.461556] SPI driver max3421-hcd has no spi_device_id for maxim,max3421
[ 3.468713] usbcore: registered new interface driver uas
[ 3.474167] usbcore: registered new interface driver usb-storage
[ 3.480320] usbcore: registered new interface driver ums-alauda
[ 3.486371] usbcore: registered new interface driver ums-cypress
[ 3.492508] usbcore: registered new interface driver ums-datafab
[ 3.498643] usbcore: registered new interface driver ums_eneub6250
[ 3.504955] usbcore: registered new interface driver ums-freecom
[ 3.511100] usbcore: registered new interface driver ums-isd200
[ 3.517146] usbcore: registered new interface driver ums-jumpshot
[ 3.523369] usbcore: registered new interface driver ums-karma
[ 3.529354] usbcore: registered new interface driver ums-onetouch
[ 3.535588] usbcore: registered new interface driver ums-realtek
[ 3.541723] usbcore: registered new interface driver ums-sddr09
[ 3.547776] usbcore: registered new interface driver ums-sddr55
[ 3.553826] usbcore: registered new interface driver ums-usbat
[ 3.559844] usbcore: registered new interface driver usbserial_generic
[ 3.566511] usbserial: USB Serial support registered for generic
[ 3.645162] usbcore: registered new interface driver usbhid
[ 3.650834] usbhid: USB HID core driver
[ 3.972156] dwc2 fe980000.usb: supply vusb_d not found, using dummy regulator
[ 3.979513] dwc2 fe980000.usb: supply vusb_a not found, using dummy regulator
[ 4.087172] dwc2 fe980000.usb: EPs: 8, dedicated fifos, 4080 entries in SPRAM
[ 4.482866] xhci_hcd 0000:01:00.0: enabling device (0000 -> 0002)
[ 4.489126] xhci_hcd 0000:01:00.0: xHCI Host Controller
[ 4.494632] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 1
[ 4.502498] xhci_hcd 0000:01:00.0: hcc params 0x002841eb hci version 0x100 quirks 0x0000040000000890
[ 4.512326] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.15
[ 4.520751] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 4.528094] usb usb1: Product: xHCI Host Controller
[ 4.533046] usb usb1: Manufacturer: Linux 5.15.5-1-ARCH xhci-hcd
[ 4.539139] usb usb1: SerialNumber: 0000:01:00.0
[ 4.552409] xhci_hcd 0000:01:00.0: xHCI Host Controller
[ 4.557845] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 2
[ 4.565378] xhci_hcd 0000:01:00.0: Host supports USB 3.0 SuperSpeed
[ 4.571909] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.15
[ 4.580309] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 4.587639] usb usb2: Product: xHCI Host Controller
[ 4.592586] usb usb2: Manufacturer: Linux 5.15.5-1-ARCH xhci-hcd
[ 4.598678] usb usb2: SerialNumber: 0000:01:00.0
[ 4.825117] usb 1-1: new high-speed USB device number 2 using xhci_hcd
[ 4.961710] usb 1-1: New USB device found, idVendor=2109, idProduct=3431, bcdDevice= 4.21
[ 4.970039] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 4.977288] usb 1-1: Product: USB2.0 Hub
[ 5.272121] usb 1-1.1: new full-speed USB device number 3 using xhci_hcd
[ 5.344308] usb 1-1.1: device descriptor read/64, error -32
[ 5.520307] usb 1-1.1: device descriptor read/64, error -32
[ 5.696098] usb 1-1.1: new full-speed USB device number 4 using xhci_hcd
[ 5.768317] usb 1-1.1: device descriptor read/64, error -32
[ 5.952307] usb 1-1.1: device descriptor read/64, error -32
[ 6.063450] usb 1-1-port1: attempt power cycle
[ 6.652113] usb 1-1.1: new full-speed USB device number 5 using xhci_hcd
[ 6.659179] usb 1-1.1: Device not responding to setup address.
[ 6.891364] usb 1-1.1: Device not responding to setup address.
[ 7.103134] usb 1-1.1: device not accepting address 5, error -71
[ 7.174095] usb 1-1.1: new full-speed USB device number 6 using xhci_hcd
[ 7.187515] usb 1-1.1: Device not responding to setup address.
[ 7.401929] usb 1-1.1: Device not responding to setup address.
[ 7.615101] usb 1-1.1: device not accepting address 6, error -71
[ 7.621600] usb 1-1-port1: unable to enumerate USB device
[ 7.832485] usbcore: registered new interface driver brcmfmac
[ 8.288032] Bluetooth: hci0: BCM4345C0 'brcm/BCM4345C0.hcd' Patch
')

Then, i have unplugged and pluged in the USB device and now it is correctly detected

$this->bbcode_second_pass_code('', '
$ lsusb
[b]Bus 002 Device 002: ID 174c:55aa ASMedia Technology Inc. ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge, ASM1153E SATA 6Gb/s bridge[/b]
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

$ lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
|__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M

$ dmesg

[ 537.981429] usb 2-1: new SuperSpeed USB device number 2 using xhci_hcd
[ 538.001418] usb 2-1: New USB device found, idVendor=174c, idProduct=55aa, bcdDevice= 1.00
[ 538.009734] usb 2-1: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[ 538.016983] usb 2-1: Product: ASM105x
[ 538.020703] usb 2-1: Manufacturer: ASMT
[ 538.024597] usb 2-1: SerialNumber: 00000000000000000000
[ 538.037611] scsi host0: uas
[ 538.041407] scsi 0:0:0:0: Direct-Access ASMT 2115 0 PQ: 0 ANSI: 6
[ 538.050810] sd 0:0:0:0: Attached scsi generic sg0 type 0
[ 538.051163] sd 0:0:0:0: [sda] Spinning up disk...
[ 539.115106] ..ready
[ 540.143350] sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/466 GiB)
[ 540.150951] sd 0:0:0:0: [sda] 4096-byte physical blocks
[ 540.156389] sd 0:0:0:0: [sda] Write Protect is off
[ 540.161260] sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00
[ 540.161464] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 540.171206] sd 0:0:0:0: [sda] Optimal transfer size 33553920 bytes not a multiple of physical block size (4096 bytes)
[ 540.208749] sda: sda1
[ 540.212291] sd 0:0:0:0: [sda] Attached SCSI disk
')

This issue is recent, maybe since linux 5.15 upgrade

I have also made another attempt: i have updated the /etc/mkinitcpio.conf to add additionnal drivers (the one i used in my custom archlinux to boot on USB) and the USB controller is still not detected:

$this->bbcode_second_pass_code('', 'MODULES=(pcie_brcmstb bcm_phy_lib broadcom genet)')

is this issue linked to https://bbs.archlinux.org/viewtopic.php?id=270795 ?

any clue ?

kind regards,
César
6arts
 
Posts: 6
Joined: Wed Feb 08, 2017 11:50 pm

Re: Rpi 4: USB controller not found at boot

Postby Foiled » Mon Jan 03, 2022 4:24 pm

I can confirm and reproduce this exact problem: attached usb devices is not recognized at boot but only after a manual replug, I'm on 5.15.5
Foiled
 
Posts: 4
Joined: Mon Jan 03, 2022 4:18 pm

Re: Rpi 4: USB controller not found at boot

Postby graysky » Mon Jan 03, 2022 4:33 pm

Do you see this is linux-rpi?
graysky
Developer
 
Posts: 1876
Joined: Sun Jun 26, 2011 6:56 am
Location: /run/user/1000

Re: Rpi 4: USB controller not found at boot

Postby Foiled » Mon Jan 03, 2022 5:47 pm

sorry, I do not understand what you mean, we need to switch to another kernel to solve this problem?
Foiled
 
Posts: 4
Joined: Mon Jan 03, 2022 4:18 pm

Re: Rpi 4: USB controller not found at boot

Postby 6arts » Mon Jan 03, 2022 5:54 pm

Thanks Foiled for your confirmation :)

For information, I used different USB controllers and following ones work correctly:
$this->bbcode_second_pass_code('', 'Bus 002 Device 002: ID 174c:1153 ASMedia Technology Inc. ASM1153 SATA 3Gb/s bridge
Bus 002 Device 003: ID 174c:5106 ASMedia Technology Inc. ASM1051 SATA 3Gb/s bridge
')

So the issue seems really related to
$this->bbcode_second_pass_code('', 'Bus 002 Device 002: ID 174c:55aa ASMedia Technology Inc. ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge, ASM1153E SATA 6Gb/s bridge
')

kind regards,
César
6arts
 
Posts: 6
Joined: Wed Feb 08, 2017 11:50 pm

Re: Rpi 4: USB controller not found at boot

Postby Foiled » Mon Jan 03, 2022 6:27 pm

I can confirm the same controller related to this problem

$this->bbcode_second_pass_code('', 'lsusb
Bus 002 Device 002: ID 174c:55aa ASMedia Technology Inc. ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge, ASM1153E SATA 6Gb/s bridge')
Foiled
 
Posts: 4
Joined: Mon Jan 03, 2022 4:18 pm

Re: Rpi 4: USB controller not found at boot

Postby graysky » Mon Jan 03, 2022 9:07 pm

$this->bbcode_second_pass_quote('Foiled', 's')orry, I do not understand what you mean, we need to switch to another kernel to solve this problem?


Asking if the problem is kernel package related or hardware related (unlikely) but want to verify.
graysky
Developer
 
Posts: 1876
Joined: Sun Jun 26, 2011 6:56 am
Location: /run/user/1000

Re: Rpi 4: USB controller not found at boot

Postby 6arts » Tue Jan 04, 2022 9:45 am

Hello !

I have made an interesting test.

In my vanilla system (installed in an uSD), i have swtich to linux-rpi kernel.

$this->bbcode_second_pass_code('', '
$ uname -a
Linux alarm 5.10.89-2-rpi-ARCH #1 SMP PREEMPT Mon Jan 3 13:06:33 UTC 2022 aarch64 GNU/Linux
')

Looks like the issue is still present with this old kernel. So, maybe the issue comes from another package. the bootloader?

$this->bbcode_second_pass_code('', '
pacman -Qe | grep bootloader
raspberrypi-bootloader 20220101-1
')

I downgrade to version raspberrypi-bootloader-20211207-1-any.pkg.tar.xz and issue is still present
6arts
 
Posts: 6
Joined: Wed Feb 08, 2017 11:50 pm

Re: Rpi 4: USB controller not found at boot

Postby Foiled » Wed Jan 05, 2022 2:59 pm

I tried the new $this->bbcode_second_pass_code('', 'raspberrypi-bootloader 20220104-1') to no avail
Foiled
 
Posts: 4
Joined: Mon Jan 03, 2022 4:18 pm

Re: Rpi 4: USB controller not found at boot

Postby 6arts » Thu Jan 06, 2022 1:34 pm

Hello !

I have made several tests with older raspberrypi-bootloader packages, which i built myself.

For those tests, I used this kernel: Linux alarm 5.15.5-1-ARCH #1 SMP Wed Dec 1 01:26:36 UTC 2021 aarch64 GNU/Linux

USB controller is still missing with those bootloaders...
* 20220104-1
* 20211207
* 20211203
* 20211127
* 20211116
* 20211108
* 20211028-1

I have also tested the 20211028-1 bootloader with the linux-rpi kernel. And the USB controller is still missing...

I am a bit puzzled here. I am quite sure that the USB controller was correctly detected in november with an up-to-date archlinux. So, bootloader may not be the culprit nor the kernel... what else?

Regards
6arts
 
Posts: 6
Joined: Wed Feb 08, 2017 11:50 pm

Next

Return to ARMv8

Who is online

Users browsing this forum: No registered users and 1 guest