Hello,
Please help me with the following problem. I am not much of a hardware-expert, but till now I was able to resolve quite all of my BeagleBone Black related problems with the extensive information available online. Only with this problem I am now stuck for days…
I got a custom (not by me) made board providing a USB-Hub (from SMSC) and a USB-to-RS485 (FTDI) converter. When I connect it to the the Beaglebone Black on its USB-Host interface I constantly get messages like the following, with the device number counting up forever:
[ 17.600794] usb 1-1: new high-speed USB device number 25 using musb-hdrc
[ 17.673073] hub 1-0:1.0: unable to enumerate USB device on port 1
Also no leds are turning on on the custom board. The Beaglebone is running on Debian with the following kernel - but I also tried without success another Beaglebone Black with a more recent kernel.
root@debian:~# uname -a
Linux debian 3.8.13-bone67 #1 SMP Wed Sep 24 18:32:44 UTC 2014 armv7l GNU/Linux
When I connect the same board via USB to a Linux laptop, it works perfectly fine with the following messages, including the custom boards’ leds turning on:
usb 1-3: new high-speed USB device number 3 using ehci-pci
usb 1-3: New USB device found, idVendor=0424, idProduct=2514
usb 1-3: New USB device strings: Mfr=0, Product=0, SerialNumber=0
hub 1-3:1.0: USB hub found
hub 1-3:1.0: 4 ports detected
usb 1-3.4: new full-speed USB device number 4 using ehci-pci
usb 1-3.4: New USB device found, idVendor=0403, idProduct=6015
usb 1-3.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-3.4: Product: FT230X Basic UART
usb 1-3.4: Manufacturer: FTDI
…
Also on a Windows Machine the board works fine. Results of usbview.exe:
[Port2] : Generic USB Hub
External Hub: USB#VID_0424&PID_2514#6&109c578c&0&2#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
Is Port User Connectable: yes
Is Port Debug Capable: no
Companion Port Number: 0
Companion Hub Symbolic Link Name:
Protocols Supported:
USB 1.1: yes
USB 2.0: yes
USB 3.0: no
Hub Power: Self Power
Hub type: USB 2.0 Hub
Number of Ports: 4
Power switching: Individual
Compound device: Yes
Over-current Protection: Individual
High speed capable: Yes
High speed: Yes
Multiple transaction translations capable: Yes
Performs multiple transaction translations simultaneously: Yes
Hub wakes when device is connected: No
Hub is bus powered: No
Hub is root: No
—===>Device Information<===—
ConnectionStatus:
Current Config Value: 0x01 → Device Bus Speed: High (is not SuperSpeed or higher capable)
Device Address: 0x02
Open Pipes: 1
===>Device Descriptor<===
bLength: 0x12
bDescriptorType: 0x01
bcdUSB: 0x0200
bDeviceClass: 0x09 → This is a HUB Device
bDeviceSubClass: 0x00
bDeviceProtocol: 0x02
bMaxPacketSize0: 0x40 = (64) Bytes
idVendor: 0x0424 = SMSC
idProduct: 0x2514
bcdDevice: 0x0BB3
iManufacturer: 0x00
iProduct: 0x00
iSerialNumber: 0x00
bNumConfigurations: 0x01
—===>Open Pipes<===—
===>Endpoint Descriptor<===
bLength: 0x07
bDescriptorType: 0x05
bEndpointAddress: 0x81 → Direction: IN - EndpointID: 1
bmAttributes: 0x03 → Interrupt Transfer Type
wMaxPacketSize: 0x0001 = 1 transactions per microframe, 0x01 max bytes
bInterval: 0x0C
—===>Full Configuration Descriptor<===—
===>Configuration Descriptor<===
bLength: 0x09
bDescriptorType: 0x02
wTotalLength: 0x0029 → Validated
bNumInterfaces: 0x01
bConfigurationValue: 0x01
iConfiguration: 0x00
bmAttributes: 0xE0 → Self Powered
→ Remote Wakeup
MaxPower: 0x01 = 2 mA
===>Interface Descriptor<===
bLength: 0x09
bDescriptorType: 0x04
bInterfaceNumber: 0x00
bAlternateSetting: 0x00
bNumEndpoints: 0x01
bInterfaceClass: 0x09 → HUB Interface Class
bInterfaceSubClass: 0x00
bInterfaceProtocol: 0x01
iInterface: 0x00
===>Endpoint Descriptor<===
bLength: 0x07
bDescriptorType: 0x05
bEndpointAddress: 0x81 → Direction: IN - EndpointID: 1
bmAttributes: 0x03 → Interrupt Transfer Type
wMaxPacketSize: 0x0001 = 1 transactions per microframe, 0x01 max bytes
bInterval: 0x0C
===>Interface Descriptor<===
bLength: 0x09
bDescriptorType: 0x04
bInterfaceNumber: 0x00
bAlternateSetting: 0x01
bNumEndpoints: 0x01
bInterfaceClass: 0x09 → HUB Interface Class
bInterfaceSubClass: 0x00
bInterfaceProtocol: 0x02
iInterface: 0x00
===>Endpoint Descriptor<===
bLength: 0x07
bDescriptorType: 0x05
bEndpointAddress: 0x81 → Direction: IN - EndpointID: 1
bmAttributes: 0x03 → Interrupt Transfer Type
wMaxPacketSize: 0x0001 = 1 transactions per microframe, 0x01 max bytes
bInterval: 0x0C
If I plug in a ready-made powered USB-Hub into my Beaglebone, it’s also working without problems:
[ 1011.864369] usb 1-1: new high-speed USB device number 79 using musb-hdrc
[ 1011.993478] usb 1-1: New USB device found, idVendor=04b4, idProduct=6560
[ 1012.003654] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 1012.024643] hub 1-1:1.0: USB hub found
[ 1012.043653] hub 1-1:1.0: 4 ports detected
Only my custom board doesn’t seem to work. Trying to compare the outputs of “usbview.exe” I found the following differences between the “ready-madepowered USB-Hub” and the “custom board”: (ignoring the obviously different idVendor, idProduct and bcdDevice values)
Ready-madepowered USB-Hub:
Compound device: No
MaxPower: 0x32 = 100 mA
Custom board:
Compound device: Yes
MaxPower: 0x01 = 2 mA
Is it a power supply problem? How can I solve the problem? All your feedback and hints are very much appreciated.
Best regards,
Stefan