Subject: port-i386/15941: Boottime USB detection hangs when device is plugged in
To: None <gnats-bugs@gnats.netbsd.org>
From: Mario Kemper <magick@bundy.zhadum.de>
List: netbsd-bugs
Date: 03/17/2002 11:51:55
>Number:         15941
>Category:       port-i386
>Synopsis:       Boottime USB detection hangs when device is plugged in
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-i386-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Mar 17 03:27:00 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Mario Kemper
>Release:        NetBSD 1.5ZA
>Organization:
Mario Kemper
magick@zhadum.de
>Environment:
	
	
System: NetBSD bundy 1.5ZA NetBSD 1.5ZA (BUNDY) #1: Sat Mar 9 22:50:16 CET 2002 root@bundy:/usr/netbsd-src/src/sys/arch/i386/compile/BUNDY i386
Architecture: i386
Machine: i386
Source as of march 9.
>Description:
I have a Asus P4B266 with two USB1.1 Ports and 4 USB2.0 Ports. The problem 
is that when my mouse (Mouse Man Dual Optical) is plugged into the 
USB1.1 Ports the kernel hangs during booting. When i boot without the mouse
the kernel booots through and i can plugin the mouse later with no problem.
I don't have this problem when i disable the 1.1 Hub and plug the mouse
into the USB2.0 Ports.
Here is the relevant dmesg output:
NetBSD 1.5ZA (BUNDY) #1: Sat Mar  9 22:50:16 CET 2002
    root@bundy:/usr/netbsd-src/src/sys/arch/i386/compile/BUNDY
cpu0: Intel Pentium 4 (686-class), 1816.27 MHz
cpu0: D-cache 8 KB 64b/line 4-way
cpu0: L2 cache 512 KB 64b/line 8-way
cpu0: features 3febfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu0: features 3febfbff<PGE,MCA,CMOV,FGPAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE
2,SS,B28,TM>
total memory = 511 MB
avail memory = 471 MB
using 6144 buffers containing 26292 KB of memory
BIOS32 rev. 0 found at 0xf0e90
mainbus0 (root)
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0
pchb0: Intel product 0x1a30 (rev. 0x04)
agp0 at pchb0: aperture at 0xf8000000, size 0x4000000
ppb0 at pci0 dev 1 function 0: Intel product 0x1a31 (rev. 0x04)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled
vga0 at pci1 dev 0 function 0: ATI Technologies product 0x514c (rev. 0x00)
wsdisplay0 at vga0 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
ppb1 at pci0 dev 30 function 0: Intel 82801BA Hub-to-PCI Bridge (rev. 0x05)
pci2 at ppb1 bus 2
pci2: i/o space, memory space enabled
ohci0 at pci2 dev 4 function 0: NEC USB Host Controller (rev. 0x41)
ohci0: interrupting at irq 5
ohci0: OHCI version 1.0
usb0 at ohci0: USB revision 1.0
uhub0 at usb0
uhub0: NEC OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 3 ports with 3 removable, self powered
<-- here is where the kernel hangs -->
ohci1 at pci2 dev 4 function 1: NEC USB Host Controller (rev. 0x41)
ohci1: interrupting at irq 9
ohci1: OHCI version 1.0
usb1 at ohci1: USB revision 1.0
uhub1 at usb1
uhub1: NEC OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
ehci0 at pci2 dev 4 function 2: NEC USB Host Controller (rev. 0x02)
ehci0: interrupting at irq 9
ehci0: EHCI version 0.95
ehci0: companion controllers, 3 ports each: ohci0 ohci1
usb2 at ehci0: USB revision 2.0
uhub2 at usb2
<-- here several other components are probed. I've cut that out -->
uhub2: NEC EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub2: 5 ports with 5 removable, self powered
uhci0 at pci0 dev 31 function 2: Intel 82801BA USB Controller (rev. 0x05)
uhci0: interrupting at irq 10
usb3 at uhci0: USB revision 1.0
uhub3 at usb3
uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
uhci1 at pci0 dev 31 function 4: Intel 82801BA USB Controller (rev. 0x05)
uhci1: interrupting at irq 9
usb4 at uhci1: USB revision 1.0
uhub4 at usb4
uhub4: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub4: 2 ports with 2 removable, self powered
---------------------
Here are the relevant parts from my Kernelconfig:
# USB Controller and Devices 
 
# PCI USB controllers 
# The EHCI is not ready for prime time. 
ehci* at pci? dev ? function ?        # Enhanced Host Controller 
ohci*  at pci? dev ? function ?        # Open Host Controller 
uhci*  at pci? dev ? function ?        # Universal Host Controller (Intel) 
 
# CardBus USB controllers 
#ehci* at cardbus? dev ? function ?    # Enhanced Host Controller 
#ohci*  at cardbus? dev ? function ?    # Open Host Controller 
 
# USB bus support 
usb*  at ehci? 
usb*    at ohci? 
usb*    at uhci? 
 
# USB Hubs 
uhub*   at usb? 
uhub*   at uhub? port ? configuration ? interface ? 
 
# USB HID device 
uhidev*        at uhub? port ? configuration ? interface ? 
 
# USB Mice 
ums*   at uhidev? reportid ? 
wsmouse*        at ums? mux 0 
 
The rest concerning USB is disabled.
And while we are there, my interrupts:
ohci0: interrupting at irq 5
ohci1: interrupting at irq 9
ehci0: interrupting at irq 9
epic0: interrupting at irq 5
siop0: interrupting at irq 9
pciide0: using irq 9 for native-PCI interrupt
emuxki0: interrupting at irq 12
bktr0: interrupting at irq 5
pciide1: primary channel interrupting at irq 14
pciide1: secondary channel interrupting at irq 15
uhci0: interrupting at irq 10
uhci1: interrupting at irq 9
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
pckbc0: using irq 1 for kbd slot
lpt0 at isa0 port 0x378-0x37b irq 7
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2


>How-To-Repeat:
	
>Fix:
	
>Release-Note:
>Audit-Trail:
>Unformatted: