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: