USB not working under arm64 on Pi4 with 4G ram
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux-raspi2 (Ubuntu) |
Fix Released
|
High
|
Hui Wang | ||
Eoan |
Fix Released
|
High
|
Unassigned |
Bug Description
Ubuntu 19.10 arm64 on a Raspberry Pi 4 does not recognize a keyboard which works successfully on the same Raspberry Pi 4 with Ubuntu 19.10 armhf. Both USB hubs (2 and 3) were tested, without the OS seeing the keyboard on either. Booting the arm64 image on a Raspberry Pi 3, the keyboard worked successfully.
Output of lsusb under arm64 on a Pi 3:
ubuntu@ubuntu:~$ lsusb
Bus 001 Device 007: ID 413c:2106 Dell Computer Corp. Dell QuietKey Keyboard
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Output of lsusb under armhf on a Pi 4 (same keyboard attached):
ubuntu@ubuntu:~$ lsusb
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 413c:2106 Dell Computer Corp. Dell QuietKey Keyboard
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Output of lsusb under arm64 on the same Pi 4 (same keyboard attached):
ubuntu@ubuntu:~$ lsusb
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
The fact even the VIA Labs hub doesn't show up (which is built in) suggests the kernel is (for some reason) unable to enumerate anything against the USB hubs.
== Temporary Workaround ==
As noted by various people below, the following line can be added to the "usercfg.txt" file on the boot partition:
total_mem=3072
This will limit the available RAM to 3Gb, but otherwise things should operate normally. Note that this bug does not affect Pi 4Bs with less than 4Gb of RAM.
tags: | added: id-5db015562d35287792a0a3bc |
description: | updated |
Changed in linux-raspi2 (Ubuntu Eoan): | |
status: | New → Triaged |
importance: | Undecided → High |
Changed in linux-raspi2 (Ubuntu Eoan): | |
assignee: | nobody → huihui (huihui321) |
Changed in linux-raspi2 (Ubuntu Eoan): | |
assignee: | huihui (huihui321) → nobody |
Changed in linux-raspi2 (Ubuntu): | |
status: | Confirmed → Fix Released |
Additional detail from dmesg:
...
[ 1.390148] usbcore: registered new interface driver lan78xx ___ptrval_ ___) otg_hcd_ init:1043: FIQ DMA bounce buffers: virt = ffff0000105d1000 dma = 0x00000000eb500000 len=9024
Non-periodic Split Transactions
Periodic Split Transactions
High-Speed Isochronous Endpoints
Interrupt/ Control Split Transaction hack enabled init_fiq: 496: MPHI regs_base at ffff0000102c5200
[ 1.391889] usbcore: registered new interface driver smsc95xx
[ 1.393568] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.395273] ehci-pci: EHCI PCI platform driver
[ 1.396956] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 1.398622] ohci-pci: OHCI PCI platform driver
[ 1.400281] uhci_hcd: USB Universal Host Controller Interface driver
[ 1.402251] xhci_hcd 0000:01:00.0: xHCI Host Controller
[ 1.403963] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 1
[ 1.406172] xhci_hcd 0000:01:00.0: hcc params 0x002841eb hci version 0x100 quirks 0x0000001000000890
[ 1.408067] genirq: irq_chip Brcm_MSI did not update eff. affinity mask of irq 43
[ 1.410313] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.03
[ 1.412064] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.413755] usb usb1: Product: xHCI Host Controller
[ 1.415461] usb usb1: Manufacturer: Linux 5.3.0-1007-raspi2 xhci-hcd
[ 1.417152] usb usb1: SerialNumber: 0000:01:00.0
[ 1.419377] hub 1-0:1.0: USB hub found
[ 1.421083] hub 1-0:1.0: 1 port detected
[ 1.423195] xhci_hcd 0000:01:00.0: xHCI Host Controller
[ 1.424869] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 2
[ 1.426579] xhci_hcd 0000:01:00.0: Host supports USB 3.0 SuperSpeed
[ 1.428528] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.03
[ 1.430209] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.431906] usb usb2: Product: xHCI Host Controller
[ 1.433577] usb usb2: Manufacturer: Linux 5.3.0-1007-raspi2 xhci-hcd
[ 1.435268] usb usb2: SerialNumber: 0000:01:00.0
[ 1.437425] hub 2-0:1.0: USB hub found
[ 1.439157] hub 2-0:1.0: 4 ports detected
[ 1.441611] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[ 1.443556] dwc_otg fe980000.usb: base=(_
[ 1.647527] Core Release: 2.80a
[ 1.649145] Setting default values for core params
[ 1.650809] Finished setting default values for core params
[ 1.758372] usb 1-1: new high-speed USB device number 2 using xhci_hcd
[ 1.854949] Using Buffer DMA mode
[ 1.856573] Periodic Transfer Interrupt Enhancement - disabled
[ 1.858211] Multiprocessor Interrupt Enhancement - disabled
[ 1.859865] OTG VER PARAM: 0, OTG VER FLAG: 0
[ 1.861530] Dedicated Tx FIFOs mode
[ 1.864183] WARN::dwc_
[ 1.865894] FIQ FSM acceleration enabled for :
[ 1.874175] dwc_otg: Microframe scheduler enabled
[ 1.874206] WARN::hcd_
[ 1.875964] dwc_otg fe980000.usb: DWC OTG Controller
[ 1.877651] dwc_otg fe980000.usb: new USB bus registered, assigned bus number 3
[ 1.879366] dwc_otg fe980000.usb: irq 2...