Hello,
I want to use USB 3.0 hub (self powered) through usb c type on beagle bone ai. But its not getting detected at all. lsusb does not return any hub. Is this an issue of auto-suspend?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hello,
I want to use USB 3.0 hub (self powered) through usb c type on beagle bone ai. But its not getting detected at all. lsusb does not return any hub. Is this an issue of auto-suspend?
Hi,
-1- Can you tell us more about the auto-suspend issue that you are referring to?
-2- What is the processor SDK release version kernel is running on the board?
-2- Can you make sure if the kernel DTB file has configured the USB instance as host?
-3- Please check the kernel log to see if there are any USB related errors.
Hello,
I don't have much idea about kernel and how it works....
-1- Can you tell us more about the auto-suspend issue that you are referring to?
--> Beagle Bone AI gets power through usb c type which is also connected to dual role controller. As I think, generally host controller should provide power to the device connected and then it gets recognised. If enough power is not provided then sw auto-suspends the device connected. Now for me, BB-AI can't back-power usb hub through c type. Although it is self powered, is there any chance that it is not getting recognised due to this power issue from BB-AI??
-2- What is the processor SDK release version kernel is running on the board?
--> uname -r returns this 4.14.108-ti-r127
-3- Can you make sure if the kernel DTB file has configured the USB instance as host?
--> I have flashed OS from the image provided by official BB community. It's not built using build-root. So I am not sure whether we can access DTB file or not?? Is there any other config file where I can check it?
-4- Please check the kernel log to see if there are any USB related errors.
--> dmesg does not return any usb related issues. It's not even detecting a external hub.
P.S. : USB hub is working fine. I have checked it on my PC with Ubuntu 18.
Thanks.
This is what dmesg says about USB:
[ 1.338601] xhci-hcd xhci-hcd.1.auto: irq 207, io mem 0x488d0000
[ 1.338822] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 1.338832] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.338840] usb usb1: Product: xHCI Host Controller
[ 1.338848] usb usb1: Manufacturer: Linux 4.14.108-ti-r127 xhci-hcd
[ 1.338855] usb usb1: SerialNumber: xhci-hcd.1.auto
[ 1.339413] hub 1-0:1.0: USB hub found
[ 1.339457] hub 1-0:1.0: 1 port detected
[ 1.339824] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[ 1.339847] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 2
[ 1.339863] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0 SuperSpeed
[ 1.339957] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[ 1.340119] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003
[ 1.340129] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.340137] usb usb2: Product: xHCI Host Controller
[ 1.340145] usb usb2: Manufacturer: Linux 4.14.108-ti-r127 xhci-hcd
[ 1.340152] usb usb2: SerialNumber: xhci-hcd.1.auto
[ 1.340633] hub 2-0:1.0: USB hub found
[ 1.340675] hub 2-0:1.0: 1 port detected
USB hub found is may be internal. My external hub is 4 port from genesys logic.
Thanks.
Are you using Debian image that is on the eMMC?
What is the output of 'lsusb'?
What is the make and model of the USB hub?
Hi Jason,
1. Are you using Debian image that is on the eMMC?
--> Yes it is Debian image but flashed on external memory card.
2. What is the output of 'lsusb'?
--> lsusb does not give any information about external hub.It just returns two linux corporation bus one 2.0 and one 3.0 which are internal.
(without connecting hub it returns same list)
3.What is the make and model of the USB hub?
--> USB hub is from Indian Company named pibox India. It uses genesys controller in it.
Here is the link.
Thanks.
Hi,
The kernel you mentioned is very old and may not be supported on the BB-AI board.
Suggest you check with the BB community for updated SDK for the AI board.
Thanks.
Sorry for taking so long to provide a completely useful response. I've been on travel and forgot some of the details as to how to get this to work.
Prathamesh Daware said:Hi Jason,
1. Are you using Debian image that is on the eMMC?
--> Yes it is Debian image but flashed on external memory card.
As a test, I left the image exactly as the board ships. This isn't ideal as it will overheat without a fan. Doing a software update as recommended in the IDE will prevent the board from overheating and shutting down. In this case, I simply added a USB-based fan to a fresh board for testing.
Fan info: https://github.com/beagleboard/beaglebone-ai/wiki/Frequently-Asked-Questions#fans
I connected a type-C hub with pass-through power to power BeagleBone AI. Connected to the hub is a USB3 SS flash drive. I used the following commands to test the access.
echo "host" | sudo tee /sys/kernel/debug/48890000.usb/mode lsusb sudo hdparm -tT /dev/sda
The result was 742MB/s (5.9Gbps) on cached reads and 199MB/s (1.6Gbps) on buffered disk reads.
Hi Jason,
Thanks for solution. This solves problem.
I have upgraded kernel and now running it on eMMC.
Thanks for suggestions.
Hi Jason,
I need little more help. Can you share the model of usb hub you did use?
I have one usb3.0 self powered hub. But it's getting detected as 2.0.... Any suggestions on that?
Thanks
I'm using a VANTEC hub. lsusb reports back VIA Labs, Inc. USB 3 hubs VID:PID 2109:2813 and 2109:0101.
I believe this is the one on Amazon:
The HDMI seems to be using the DP Alt Mode, so it wouldn't be supported on BeagleBone AI.
Aside: it should be possible to update the USB device driver to not require being forced into host mode, but instead have it automatically discover the mode based on the PD and bus mux.