LS1043ARDB LSDK 20.04 usb device enumeration errors

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

LS1043ARDB LSDK 20.04 usb device enumeration errors

1,009 次查看
grahamp
Contributor I

Hello,

I am having trouble with usb device enumeration on a recently purchased LS1043ARDB.

My mass storage usb device is detected by the LSDK installed on the LS1043ARDB as shipped booting from nor:

QorIQ LSDK (NXP Reference Distro) 2.0 TinyDistro /dev/ttyS0

TinyDistro login: root
root@TinyDistro:~# lsusb
Bus 005 Device 001: ID 1d6b:0002
Bus 003 Device 001: ID 1d6b:0002
Bus 001 Device 001: ID 1d6b:0002
Bus 006 Device 001: ID 1d6b:0003
Bus 001 Device 002: ID 0930:6545
Bus 004 Device 001: ID 1d6b:0003
Bus 002 Device 001: ID 1d6b:0003
root@TinyDistro:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
mtdblock4 31:4 0 40M 0 disk
mtdblock2 31:2 0 7M 0 disk
mtdblock11 31:11 0 1M 0 disk
mtdblock0 31:0 0 2M 0 disk
mtdblock9 31:9 0 1M 0 disk
mtdblock7 31:7 0 1M 0 disk
mtdblock5 31:5 0 7M 0 disk
mtdblock3 31:3 0 2M 0 disk
mtdblock12 31:12 0 9M 0 disk
mtdblock1 31:1 0 40M 0 disk
sda 8:0 1 57.7G 0 disk
`-sda1 8:1 1 32G 0 part /run/media/sda1
mtdblock10 31:10 0 5M 0 disk
mtdblock8 31:8 0 20M 0 disk
mmcblk0 179:0 0 59.5G 0 disk
`-mmcblk0p1 179:1 0 59.5G 0 part /run/media/mmcblk0p1
mtdblock6 31:6 0 1M 0 disk
root@TinyDistro:~#

However, if I build LSDK 20.04 using yocto and then tftp the files to the device I am getting usb errors:

[ 66.286514] xhci-hcd xhci-hcd.0.auto: Error while assigning device slot ID
[ 66.286543] xhci-hcd xhci-hcd.0.auto: Max number of devices this xHCI host supports is 127.
[ 66.286564] usb usb1-port1: couldn't allocate usb_device

I have found this https://community.nxp.com/t5/Layerscape/USB-not-detected-LS1043ARDB/m-p/1396725 which looks very similar. I tried the solution proposed in that post but I am still get usb errors.

My procedure for loading the files once extracted from https://www.nxp.com/lgfiles/sdk/lsdk2108/boot_LS_arm64_lts_5.10.tgz is:

setenv bootargs "console=ttyS0,115200 root=/dev/mmcblk0p1 rw rootwait earlycon=uart8250,mmio,0x21c0500"
setenv ipaddr 192.168.0.10
setenv serverip 192.168.0.30
tftp 0xa0000000 Image
tftp 0xb0000000 fsl-ls1043a-rdb-sdk.dtb
booti 0xa0000000 - 0xb0000000

The boot log is attached.

I see the same errors as on my LSDK 20.04 yocto build.

Can you please advise?

0 项奖励
回复
1 回复

971 次查看
grahamp
Contributor I

enabled debug in xhci driver and see a usb timeout message:

[ 3.478969] xhci-hcd xhci-hcd.2.auto: xHCI Host Controller
[ 3.484461] xhci-hcd xhci-hcd.2.auto: new USB bus registered, assigned bus number 5
[ 3.492121] xhci-hcd xhci-hcd.2.auto: Resetting HCD
[ 3.492144] xhci-hcd xhci-hcd.2.auto: Reset complete
[ 3.492147] xhci-hcd xhci-hcd.2.auto: Enabling 64-bit DMA addresses.
[ 3.492150] xhci-hcd xhci-hcd.2.auto: Calling HCD init
[ 3.492179] xhci-hcd xhci-hcd.2.auto: Called HCD init
[ 3.492183] xhci-hcd xhci-hcd.2.auto: hcc params 0x0220f66d hci version 0x100 quirks 0x0000000002010810
[ 3.501586] xhci-hcd xhci-hcd.2.auto: irq 48, io mem 0x03100000
[ 3.507782] xHCI xhci_add_endpoint called for root hub
[ 3.507784] xHCI xhci_check_bandwidth called for root hub
[ 3.515685] xhci-hcd xhci-hcd.2.auto: xHCI Host Controller
[ 3.521174] xhci-hcd xhci-hcd.2.auto: new USB bus registered, assigned bus number 6
[ 3.528830] xhci-hcd xhci-hcd.2.auto: Host supports USB 3.0 SuperSpeed
[ 3.535564] xHCI xhci_add_endpoint called for root hub
[ 3.535566] xHCI xhci_check_bandwidth called for root hub
[ 3.594548] xhci-hcd xhci-hcd.0.auto: // Ding dong!
[ 8.718548] xhci-hcd xhci-hcd.0.auto: Command timeout
[ 8.718557] xhci-hcd xhci-hcd.0.auto: Abort command ring
[ 10.734665] xhci-hcd xhci-hcd.0.auto: No stop event for abort, ring start fail?
[ 10.734693] xhci-hcd xhci-hcd.0.auto: Error while assigning device slot ID
[ 10.741597] xhci-hcd xhci-hcd.0.auto: Max number of devices this xHCI host supports is 127.

I also verified I can access mass storage device from u-boot:

=> usb start
starting USB...
USB0: Register 200017f NbrPorts 2
Starting the controller
USB XHCI 1.00
USB1: Register 200017f NbrPorts 2
Starting the controller
USB XHCI 1.00
USB2: Register 200017f NbrPorts 2
Starting the controller
USB XHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
scanning bus 1 for devices... 1 USB Device(s) found
scanning bus 2 for devices... 1 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found
=> usb treed
USB device tree:
1 Hub (5 Gb/s, 0mA)
| U-Boot XHCI Host Controller
|
+-2 Mass Storage (480 Mb/s, 300mA)
TOSHIBA USB FLASH DRIVE B62B68AF5668E1508000959E

1 Hub (5 Gb/s, 0mA)
U-Boot XHCI Host Controller

1 Hub (5 Gb/s, 0mA)
U-Boot XHCI Host Controller

=> usb info
1: Hub, USB Revision 3.0
- U-Boot XHCI Host Controller
- Class: Hub
- PacketSize: 512 Configurations: 1
- Vendor: 0x0000 Product 0x0000 Version 1.0
Configuration: 1
- Interfaces: 1 Self Powered 0mA
Interface: 0
- Alternate Setting 0, Endpoints: 1
- Class Hub
- Endpoint 1 In Interrupt MaxPacket 8 Interval 255ms

2: Mass Storage, USB Revision 2.0
- TOSHIBA USB FLASH DRIVE B62B68AF5668E1508000959E
- Class: (from Interface) Mass Storage
- PacketSize: 64 Configurations: 1
- Vendor: 0x0930 Product 0x6545 Version 1.16
Configuration: 1
- Interfaces: 1 Bus Powered 300mA
Interface: 0
- Alternate Setting 0, Endpoints: 2
- Class Mass Storage, Transp. SCSI, Bulk only
- Endpoint 1 In Bulk MaxPacket 512
- Endpoint 2 Out Bulk MaxPacket 512

1: Hub, USB Revision 3.0
- U-Boot XHCI Host Controller
- Class: Hub
- PacketSize: 512 Configurations: 1
- Vendor: 0x0000 Product 0x0000 Version 1.0
Configuration: 1
- Interfaces: 1 Self Powered 0mA
Interface: 0
- Alternate Setting 0, Endpoints: 1
- Class Hub
- Endpoint 1 In Interrupt MaxPacket 8 Interval 255ms

1: Hub, USB Revision 3.0
- U-Boot XHCI Host Controller
- Class: Hub
- PacketSize: 512 Configurations: 1
- Vendor: 0x0000 Product 0x0000 Version 1.0
Configuration: 1
- Interfaces: 1 Self Powered 0mA
Interface: 0
- Alternate Setting 0, Endpoints: 1
- Class Hub
- Endpoint 1 In Interrupt MaxPacket 8 Interval 255ms

So now hardware issue but certainly looks like a linux kernel problem.

Any takers?

0 项奖励
回复