Re: usb hubs on embedded devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 19 Jan 2009, Sam Liddicott wrote:

> I've soldered added a usb connector to my Freecom Musicpal internet 
> radio, and it works fine with USB memory sticks, but gets stuck if there 
> is a USB hub inserted.
> 
> I don't know enough to tell if it is a kernel problem or a user space 
> problem

It's not a userspace problem.

> My USB hard disk has a built-in hub as lsusb shows:
> 
> Bus 005 Device 006: ID 1058:0702 Western Digital Technologies, Inc. 
> Passport External HDD
> Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

This doesn't show anything one way or another, since it doesn't 
indicate whether device 006 is a hub or not.

> The musicpal doesn't like usb hubs; it recognizes "a" usb device as 
> dmesg on the musicpal shows:
> Jan 17 10:58:00 MusicPal user.info kernel: usb 1-1: USB disconnect, 
> address 6
> Jan 17 10:58:01 MusicPal user.info kernel: usb 1-1: new high speed USB 
> device using ehci-mv88w8xx8 and address 7
> Jan 17 10:58:01 MusicPal user.info kernel: usb 1-1: configuration #1 
> chosen from 1 choice
> 
> But it doesn't go on to enumerate the devices on the bus.

What devices?  It sure looks like it enumerated the hub.  That's what 
the last line indicates.

> What can I do to help it see the devices beyond the hub?

Fix the underlying problem!  :-)

> if I plug in a 4 port hub, dmesg -c shows:
> 
> $ dmesg -c
> usb 1-1: new high speed USB device using ehci-mv88w8xx8 and address 12
> usb 1-1: ep0 maxpacket = 8
> usb 1-1: new high speed USB device using ehci-mv88w8xx8 and address 13
> usb 1-1: ep0 maxpacket = 8
> usb 1-1: new high speed USB device using ehci-mv88w8xx8 and address 14
> usb 1-1: ep0 maxpacket = 8
> usb 1-1: new high speed USB device using ehci-mv88w8xx8 and address 15
> usb 1-1: ep0 maxpacket = 8
> 
> but the new hubs don't show up
> $ ls -l /sys/bus/usb/drivers/hub/
> lrwxrwxrwx 1 root root 0 Jan 17 10:56 1-0:1.0 -> 
> ./../../../devices/platform/ehci-mv88w8xx8.1436/usb1/1-0:1.0
> --w------- 1 root root 4096 Jan 17 10:56 bind
> --w------- 1 root root 4096 Jan 17 10:56 new_id
> --w------- 1 root root 4096 Jan 17 10:56 unbind

Above you wrote "a 4 port hub", and here you wrote "the new hubs".  
Which is it, a single hub or multiple hubs?

> On my desktop, lsusb shows:
> Bus 002 Device 002: ID 058f:9254 Alcor Micro Corp. Hub
> 
> and /sys/bus/usb/drivers/hub shows:
> lrwxrwxrwx 1 root root 0 2009-01-17 11:18 2-1:1.0 -> 
> ./../../../devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1:1.0
> for the new hub
> 
> Any tips as to what normally happens at this point?

Normally the hub is enumerated and bound to the hub driver.  However
you don't need us to tell you what normally happens; you can see for 
yourself by plugging the hub into your desktop machine.

> I've got a shell on the musicpal and can run many commands.
> 
> What does a normal system do to make the hub-connected devices appear?

You're not thinking about this the right way.  It doesn't matter what a
normal system does; you should be worried about what _your_ system is
doing wrong.

Obviously you need a lot more information to find the problem.  You 
should use a kernel with CONFIG_USB_DEBUG enabled, and you should use 
usbmon (see Documentation/usb/usbmon.txt) to trace what happens when 
the hub is plugged in.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux