NetBSD-Bugs archive

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

port-amd64/42884: USB hubs not fully functional



>Number:         42884
>Category:       port-amd64
>Synopsis:       USB hubs don't recognise device connects/disconnects
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-amd64-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Feb 25 20:55:00 +0000 2010
>Originator:     martijn.van.buul%gmail.com@localhost
>Release:        NetBSD 5.99.24
>Organization:
        
>Environment:
        
        
System: NetBSD atlas.ipv6.stack.nl 5.99.24 NetBSD 5.99.24 (GENERIC) #0: Sat Feb 
13 11:57:38 CET 2010 martijnb@atlas:/usr/obj/sys/arch/amd64/compile/GENERIC 
amd64
Architecture: x86_64
Machine: amd64
>Description:
        This problem also occurs on NetBSD 5.0.1 and 5.0.2.

        External USB hubs (not root-hubs) seem to be partially broken. They
        do not recognise device connects and disconnect; only devices 
        connected when the hub itself is connected are recognised. I have
        tried 3 different hubs, of different make and models, with both single
        and multiple transaction translators, and they all
        have the same behaviour. Both USB1 and USB2 devices are affected.

        Upon connection of an unpopulated hub everything looks OK:

uhub9 at uhub5 port 1: vendor 0x04b4 product 0x6560, class 9/0, rev 2.00/0.09, 
addr 2
uhub9: multiple transaction translators
uhub9: 4 ports with 4 removable, self powered

        However, connecting a device doesn't register. One of the hubs I 
        tried has a "link activity" indicator of some sorts; it doesn't
        light up. Disconnecting it, and reconnecting it with a device 
        (in this case: a mouse) already connecting results in the
        detection of said mouse:

uhub9: detached
uhub9: at uhub5 port 1 (addr 2) disconnected
uhub9 at uhub5 port 2: vendor 0x04b4 product 0x6560, class 9/0, rev 2.00/0.09, 
addr 2
uhub9: multiple transaction translators
uhub9: 4 ports with 4 removable, self powered
uhidev3 at uhub9 port 2 configuration 1 interface 0
uhidev3: Microsoft Microsoft 3-Button Mouse with IntelliEye(TM), rev 1.10/3.00, 
addr 3, iclass 3/1
ums1 at uhidev3: 3 buttons and Z dir
wsmouse1 at ums1 mux 0

        Now the aforementioned "link led" *does* light up, and the mouse 
        seems to work OK. Unplugging the mouse doesn't result in a driver 
        detach though; reconnecting it leaves it dead. The mouse doesn't
        get detached until the entire hub gets unplugged:

wsmouse1: detached
ums1: detached
uhidev3: detached
uhidev3: at uhub9 port 2 (addr 3) disconnected
uhub9: detached
uhub9: at uhub5 port 2 (addr 2) disconnected

        Root hubs seem to work fine. Unfortunately, I don't have a USB1 
        hub at hand; if required I can see if I can find one. The machine
        has a Asus M2A74-AM motherboard, with an AMD 740G chipset. Relevant 
        parts of dmesg:

ohci0 at pci0 dev 18 function 0: vendor 0x1002 product 0x4397 (rev. 0x00)
ohci0: interrupting at ioapic0 pin 16
ohci0: OHCI version 1.0, legacy support
usb0 at ohci0: USB revision 1.0
ohci1 at pci0 dev 18 function 1: vendor 0x1002 product 0x4398 (rev. 0x00)
ohci1: interrupting at ioapic0 pin 16
ohci1: OHCI version 1.0, legacy support
usb1 at ohci1: USB revision 1.0
ehci0 at pci0 dev 18 function 2: vendor 0x1002 product 0x4396 (rev. 0x00)
ehci0: applying AMD SB600/SB700 USB freeze workaround
ehci0: interrupting at ioapic0 pin 17
ehci0: dropped intr workaround enabled
ehci0: BIOS has given up ownership
ehci0: EHCI version 1.0
ehci0: companion controllers, 3 ports each: ohci0 ohci1
usb2 at ehci0: USB revision 2.0
ohci2 at pci0 dev 19 function 0: vendor 0x1002 product 0x4397 (rev. 0x00)
ohci2: interrupting at ioapic0 pin 18
ohci2: OHCI version 1.0, legacy support
usb3 at ohci2: USB revision 1.0
ohci3 at pci0 dev 19 function 1: vendor 0x1002 product 0x4398 (rev. 0x00)
ohci3: interrupting at ioapic0 pin 18
ohci3: OHCI version 1.0, legacy support
usb4 at ohci3: USB revision 1.0
ehci1 at pci0 dev 19 function 2: vendor 0x1002 product 0x4396 (rev. 0x00)
ehci1: applying AMD SB600/SB700 USB freeze workaround
ehci1: interrupting at ioapic0 pin 19
ehci1: dropped intr workaround enabled
ehci1: BIOS has given up ownership
ehci1: EHCI version 1.0
ehci1: companion controllers, 3 ports each: ohci2 ohci3
usb5 at ehci1: USB revision 2.0
[..]
ohci4 at pci0 dev 20 function 5: vendor 0x1002 product 0x4399 (rev. 0x00)
ohci4: interrupting at ioapic0 pin 18
ohci4: OHCI version 1.0, legacy support
usb6 at ohci4: USB revision 1.0
[..]
uhub0 at usb0: vendor 0x1002 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 3 ports with 3 removable, self powered
uhub1 at usb1: vendor 0x1002 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 3 ports with 3 removable, self powered
uhub2 at usb2: vendor 0x1002 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub2: 6 ports with 6 removable, self powered
uhub3 at usb3: vendor 0x1002 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 3 ports with 3 removable, self powered
uhub4 at usb4: vendor 0x1002 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub4: 3 ports with 3 removable, self powered
uhub5 at usb5: vendor 0x1002 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub5: 6 ports with 6 removable, self powered
uhub6 at usb6: vendor 0x1002 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub6: 2 ports with 2 removable, self powered

>How-To-Repeat:
        Connect or disconnect a USB device to a USB port on a non-root hub.
>Fix:

>Unformatted:
        
        


Home | Main Index | Thread Index | Old Index