My problem is the following. From the install instructions it says that USB3 is not working. I'm currently using kernel 5.8.x and i really want to know why or how could i do to make it work. I don't have enough experience in linux world in general (including embedded), but AFAIK devices definitions are creates in the device tree file. In older ubuntu and android kernel releseases (3.4.x) the USB3 seemed to work fine, so i think configs could be modified to have it working on arch's newer kernel.
It's interesting for me also that during boot kernel logs shows that xhci driver related with usb3.0 and older usb specificacions enabled, in addition that in other line shows a message that this device support usb 3.0 host interface, but currently only USB 2.0 ports/hub are working (detected with lsusb and able to power some usb devices). I have read on Xen related package that USB3 was disabled due to overcurrent and some instabilities on it.
lsusb -t output:
- Code: Select all
[root@Homeassistant dtbs]# lsusb -t
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=exynos-ohci/3p, 12M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=exynos-ehci/3p, 480M
|__ Port 2: Dev 3, If 0, Class=Vendor Specific Class, Driver=smsc95xx, 480M
|__ Port 3: Dev 2, If 0, Class=Hub, Driver=hub/3p, 480M
When tried to get dts text file with dtc, it outputs the following:
- Code: Select all
root@Homeassistant dtbs]# dtc -I dtb -O dts exynos5410-odroidxu.dtb <stdout>: Warning (simple_bus_reg): /soc/usb3-0: missing or empty reg/ranges property
<stdout>: Warning (simple_bus_reg): /soc/usb3-1: missing or empty reg/ranges property
/dts-v1/;
Related with some of the node definitions at exymos5410-odroidxu.dtb:
- Code: Select all
usbdrd3_0 = "/soc/usb3-0";
usbdrd_dwc3_0 = "/soc/usb3-0/dwc3@12000000";
usbdrd_phy0 = "/soc/phy@12100000";
usbdrd3_1 = "/soc/usb3-1";
usbdrd_dwc3_1 = "/soc/usb3-1/dwc3@12400000";
usbdrd_phy1 = "/soc/phy@12500000";
usbhost2 = "/soc/usb@12110000";
usbhost1 = "/soc/usb@12120000";
usb2_phy = "/soc/phy@12130000";
A portion of dmesg with usb logs, nothing attached to usb hubs, just ethernet at RJ45 port.
- Code: Select all
[root@Homeassistant dtbs]# dmesg | grep usb
[ 1.338155] usbcore: registered new interface driver usbfs
[ 1.338202] usbcore: registered new interface driver hub
[ 1.338265] usbcore: registered new device driver usb
[ 1.443704] samsung-usb2-phy 12130000.phy: supply vbus not found, using dummy regulator
[ 1.444324] exynos5_usb3drd_phy 12100000.phy: supply vbus not found, using dummy regulator
[ 1.444410] exynos5_usb3drd_phy 12100000.phy: supply vbus-boost not found, using dummy regulator
[ 1.444713] exynos5_usb3drd_phy 12500000.phy: supply vbus not found, using dummy regulator
[ 1.444785] exynos5_usb3drd_phy 12500000.phy: supply vbus-boost not found, using dummy regulator
[ 2.621227] usbcore: registered new interface driver vub300
[ 2.632208] usbcore: registered new interface driver ushc
[ 2.713741] exynos-ehci 12110000.usb: EHCI Host Controller
[ 2.718876] exynos-ehci 12110000.usb: new USB bus registered, assigned bus number 1
[ 2.726719] exynos-ehci 12110000.usb: irq 81, io mem 0x12110000
[ 2.746981] exynos-ehci 12110000.usb: USB 2.0 started, EHCI 1.00
[ 2.751730] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.08
[ 2.759778] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.766969] usb usb1: Product: EHCI Host Controller
[ 2.771823] usb usb1: Manufacturer: Linux 5.8.0-1-ARCH ehci_hcd
[ 2.777719] usb usb1: SerialNumber: 12110000.usb
[ 2.814141] exynos-ohci 12120000.usb: USB Host Controller
[ 2.819362] exynos-ohci 12120000.usb: new USB bus registered, assigned bus number 2
[ 2.827082] exynos-ohci 12120000.usb: irq 81, io mem 0x12120000
[ 2.895612] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.08
[ 2.902429] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.909620] usb usb2: Product: USB Host Controller
[ 2.914388] usb usb2: Manufacturer: Linux 5.8.0-1-ARCH ohci_hcd
[ 2.920285] usb usb2: SerialNumber: 12120000.usb
[ 2.933716] usbcore: registered new interface driver uas
[ 2.937963] usbcore: registered new interface driver usb-storage
[ 2.943900] usbcore: registered new interface driver ums-cypress
[ 2.949885] usbcore: registered new interface driver ums_eneub6250
[ 2.956047] usbcore: registered new interface driver ums-freecom
[ 2.962023] usbcore: registered new interface driver ums-isd200
[ 2.967918] usbcore: registered new interface driver ums-usbat
[ 3.004464] usb3503 4-0008: switched to HUB mode
[ 3.007640] usb3503 4-0008: usb3503_probe: probed in hub mode
[ 3.232464] usbcore: registered new interface driver usbhid
[ 3.237799] usbhid: USB HID core driver
[ 3.239015] usb 1-3: new high-speed USB device number 2 using exynos-ehci
[ 3.403687] usb 1-3: New USB device found, idVendor=0424, idProduct=3503, bcdDevice=a1.a0
[ 3.414224] usb 1-3: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 3.512128] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.08
[ 3.519969] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 3.527161] usb usb3: Product: xHCI Host Controller
[ 3.532017] usb usb3: Manufacturer: Linux 5.8.0-1-ARCH xhci-hcd
[ 3.537914] usb usb3: SerialNumber: xhci-hcd.1.auto
[ 3.570134] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
[ 3.578244] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.08
[ 3.586340] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 3.593526] usb usb4: Product: xHCI Host Controller
[ 3.598381] usb usb4: Manufacturer: Linux 5.8.0-1-ARCH xhci-hcd
[ 3.604287] usb usb4: SerialNumber: xhci-hcd.1.auto
[ 3.710075] usb 1-2: new high-speed USB device number 3 using exynos-ehci
[ 3.867067] usb usb3-port1: over-current condition
[ 3.871610] usb 1-2: New USB device found, idVendor=0424, idProduct=9730, bcdDevice= 1.00
[ 3.878666] usb 1-2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 3.935018] usb usb4-port1: over-current condition
[ 8.245824] smsc95xx 1-2:1.0 eth0: register 'smsc95xx' at usb-12110000.usb-2, smsc95xx USB 2.0 Ethernet, a2:1d:b8:c5:e4:d8
[ 8.269807] usbcore: registered new interface driver smsc95xx
Related to XHCI USB3:
- Code: Select all
[root@Homeassistant dtbs]# dmesg | grep xhci
[ 3.484710] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[ 3.488771] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 3
[ 3.496632] xhci-hcd xhci-hcd.1.auto: hcc params 0x0220f04c hci version 0x100 quirks 0x0000000002010010
[ 3.505849] xhci-hcd xhci-hcd.1.auto: irq 118, io mem 0x12000000
[ 3.532017] usb usb3: Manufacturer: Linux 5.8.0-1-ARCH xhci-hcd
[ 3.537914] usb usb3: SerialNumber: xhci-hcd.1.auto
[ 3.550741] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[ 3.555911] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 4
[ 3.563536] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0 SuperSpeed
[ 3.598381] usb usb4: Manufacturer: Linux 5.8.0-1-ARCH xhci-hcd
[ 3.604287] usb usb4: SerialNumber: xhci-hcd.1.auto
Despite all being said, it's still awesome that an deprecated board like XU is working with latest kernels. Obviously thanks to the maintainers doing a great job!
Anyways, any suggestions will be helpful!