Subject: kern/37050: EHCI USB port disabled if hub plugged in at boot
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: Andreas Gustafsson <gson@gson.org>
List: netbsd-bugs
Date: 10/01/2007 14:30:00
>Number: 37050
>Category: kern
>Synopsis: EHCI USB port disabled if hub plugged in at boot
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Oct 01 14:30:00 +0000 2007
>Originator: Andreas Gustafsson
>Release: NetBSD 4.99.30
>Organization:
>Environment:
System: NetBSD guru.araneus.fi 4.99.30 NetBSD 4.99.30 (GURU) #0: Wed Sep 12 11:15:15 EEST 2007 root@current.araneus.fi:/usr/src/sys/arch/i386/compile/GURU i386
Architecture: i386
Machine: i386
>Description:
My D-Link DUB-H7 USB hub doesn't work if it is plugged into one of the
machine's USB port at boot time. Furthermore, if I then disconnect
and reconnect the hub, it still doesn't work. The only way I can
regain use of the USB port is to reboot.
If I boot without the hub and then connect it, it works. I can
disconnect and reconnect it, and it still works.
Here's the dmesg from booting with the hub plugged in. Note the
message "uhub4: device problem, disabling port 4".
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2007
The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
NetBSD 4.99.30 (GURU) #0: Wed Sep 12 11:15:15 EEST 2007
root@current.araneus.fi:/usr/src/sys/arch/i386/compile/GURU
total memory = 2047 MB
rbus: rbus_min_start set to 0x80000000
avail memory = 1997 MB
timecounter: Timecounters tick every 10.000 msec
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
BIOS32 rev. 0 found at 0xf0010
mainbus0 (root)
cpu0 at mainbus0 apid 0: (boot processor)
cpu0: AMD Athlon 64 or Sempron (686-class), 2202.94 MHz, id 0x20ff2
cpu0: features e7dbfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu0: features e7dbfbff<PGE,MCA,CMOV,PAT,PSE36,MPC,NOX,MMXX,MMX>
cpu0: features e7dbfbff<FXSR,SSE,SSE2,LONG,3DNOW2,3DNOW>
cpu0: features2 1<SSE3>
cpu0: "AMD Athlon(tm) 64 Processor 3500+"
cpu0: I-cache 64 KB 64B/line 2-way, D-cache 64 KB 64B/line 2-way
cpu0: L2 cache 512 KB 64B/line 16-way
cpu0: ITLB 32 4 KB entries fully associative, 8 4 MB entries fully associative
cpu0: DTLB 32 4 KB entries fully associative, 8 4 MB entries fully associative
cpu0: AMD Power Management features: 3f<STC,TM,TTP,VID,FID,TS>
cpu0: WARNING: AMD errata present, BIOS upgrade may be
cpu0: WARNING: necessary to ensure reliable operation
cpu0: calibrating local timer
cpu0: apic clock running at 200 MHz
cpu0: 8 page colors
ioapic0 at mainbus0 apid 1
ioapic0: pa 0xfec00000, version 3, 24 pins
acpi0 at mainbus0: Advanced Configuration and Power Interface
acpi0: using Intel ACPI CA subsystem version 20060217
acpi0: X/RSDT: OemId <A M I ,OEMXSDT ,11000503>, AslId <MSFT,00000097>
acpi0: SCI interrupting at int 9
acpi0: fixed-feature power button present
timecounter: Timecounter "ACPI-Safe" frequency 3579545 Hz quality 900
ACPI-Safe 24-bit timer
CPU1 (ACPI Object Type 'Processor' [0x0c]) at acpi0 not configured
CPU2 (ACPI Object Type 'Processor' [0x0c]) at acpi0 not configured
PCI0 (PNP0A03) [PCI/PCI-X Host Bridge] at acpi0 not configured
PIC (PNP0000) [AT Interrupt Controller] at acpi0 not configured
DMAD (PNP0200) [AT DMA Controller] at acpi0 not configured
attimer1 at acpi0 (TMR, PNP0100): AT Timer
attimer1: io 0x40-0x43 irq 0
RTC0 (PNP0B00) [AT Real-Time Clock] at acpi0 not configured
pckbc1 at acpi0 (PS2K, PNP0303): kbd port
pckbc1: io 0x60,0x64 irq 1
pckbc2 at acpi0 (PS2M, PNP0F03): aux port
pckbc2: irq 12
pcppi1 at acpi0 (SPKR, PNP0800)
pcppi1: io 0x61
midi0 at pcppi1: PC speaker (CPU-intensive output)
sysbeep0 at pcppi1
npx1 at acpi0 (COPR, PNP0C04)
npx1: io 0xf0-0xff irq 13
npx1: reported by CPUID; using exception 16
lpt3 at acpi0 (LPTE, PNP0400-1)
lpt3: io 0x378-0x37f irq 7
SIOR (PNP0C02) [Plug and Play motherboard register resources] at acpi0 not configured
RMSC (PNP0C02) [Plug and Play motherboard register resources] at acpi0 not configured
OMSC (PNP0C02) [Plug and Play motherboard register resources] at acpi0 not configured
com3 at acpi0 (UAR1, PNP0501-1)
com3: io 0x3f8-0x3ff irq 4
com3: ns16550a, working fifo
RMEM (PNP0C01) [System Board] at acpi0 not configured
acpibut0 at acpi0 (PWRB, PNP0C0C-170): ACPI Power Button
LNKA (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
LNKB (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
LNKC (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
LNKD (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
acpibut1 at acpi0 (SLPB, PNP0C0E): ACPI Sleep Button
apm0 at acpi0: Power Management spec V1.2
pckbd0 at pckbc1 (kbd slot)
pckbc1: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pms0 at pckbc1 (aux slot)
pckbc1: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pcppi1: attached to attimer1
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: VIA Technologies K8HTB Host (rev. 0x00)
agp0 at pchb0 (v3): aperture at 0xc0000000, size 0x10000000
pchb1 at pci0 dev 0 function 1
pchb1: VIA Technologies product 0x1282 (rev. 0x00)
pchb2 at pci0 dev 0 function 2
pchb2: VIA Technologies product 0x2282 (rev. 0x00)
pchb3 at pci0 dev 0 function 3
pchb3: VIA Technologies product 0x3282 (rev. 0x00)
pchb4 at pci0 dev 0 function 4
pchb4: VIA Technologies product 0x4282 (rev. 0x00)
pchb5 at pci0 dev 0 function 7
pchb5: VIA Technologies product 0x7282 (rev. 0x00)
ppb0 at pci0 dev 1 function 0: VIA Technologies K8HTB AGP (rev. 0x00)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled
vga1 at pci1 dev 0 function 0: NVIDIA product 0x0221 (rev. 0xa1)
wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
wsmux1: connecting to wsdisplay0
direct rendering for vga1 unsupported
ahc1 at pci0 dev 9 function 0: Adaptec 2940 Ultra SCSI adapter
ahc1: interrupting at ioapic0 pin 16 (irq 11)
ahc1: aic7880: Ultra Single Channel A, SCSI Id=7, 16/253 SCBs
scsibus0 at ahc1: 8 targets, 8 luns per target
skc0 at pci0 dev 10 function 0: ioapic0 pin 17 (irq 10)
skc0: interrupt moderation is 0 us
skc0: Marvell Yukon Lite Gigabit Ethernet rev. (0x9)
sk0 at skc0 port A: Ethernet address 00:17:31:16:dd:fa
makphy0 at sk0 phy 0: Marvell 88E1011 Gigabit PHY, rev. 5
makphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
Matrox MGA Millennium 2064W ("Storm") (VGA display, revision 0x01) at pci0 dev 12 function 0 not configured
tlp0 at pci0 dev 14 function 0: DECchip 21040 Ethernet, pass 2.3
tlp0: interrupting at ioapic0 pin 19 (irq 3)
tlp0: SMC 8432BT, Ethernet address 00:00:c0:9b:47:0e
tlp0: 10baseT, 10baseT-FDX, 10base5, manual
viaide0 at pci0 dev 15 function 0
viaide0: VIA Technologies VT8237 SATA Controller (rev. 0x80)
viaide0: bus-master DMA support present
viaide0: primary channel wired to native-PCI mode
viaide0: using ioapic0 pin 20 (irq 10) for native-PCI interrupt
atabus0 at viaide0 channel 0
viaide0: secondary channel wired to native-PCI mode
atabus1 at viaide0 channel 1
viaide1 at pci0 dev 15 function 1
viaide1: VIA Technologies VT8237 ATA133 controller
viaide1: bus-master DMA support present
viaide1: primary channel configured to compatibility mode
viaide1: primary channel interrupting at ioapic0 pin 14 (irq 14)
atabus2 at viaide1 channel 0
viaide1: secondary channel configured to compatibility mode
viaide1: secondary channel interrupting at ioapic0 pin 15 (irq 15)
atabus3 at viaide1 channel 1
uhci0 at pci0 dev 16 function 0: VIA Technologies VT83C572 USB Controller (rev. 0x81)
uhci0: interrupting at ioapic0 pin 21 (irq 11)
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: VIA Technologies UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1 at pci0 dev 16 function 1: VIA Technologies VT83C572 USB Controller (rev. 0x81)
uhci1: interrupting at ioapic0 pin 21 (irq 11)
usb1 at uhci1: USB revision 1.0
uhub1 at usb1
uhub1: VIA Technologies UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2 at pci0 dev 16 function 2: VIA Technologies VT83C572 USB Controller (rev. 0x81)
uhci2: interrupting at ioapic0 pin 21 (irq 10)
usb2 at uhci2: USB revision 1.0
uhub2 at usb2
uhub2: VIA Technologies UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhci3 at pci0 dev 16 function 3: VIA Technologies VT83C572 USB Controller (rev. 0x81)
uhci3: interrupting at ioapic0 pin 21 (irq 10)
usb3 at uhci3: USB revision 1.0
uhub3 at usb3
uhub3: VIA Technologies UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
ehci0 at pci0 dev 16 function 4: VIA Technologies VT8237 EHCI USB Controller (rev. 0x86)
ehci0: interrupting at ioapic0 pin 21 (irq 5)
ehci0: dropped intr workaround enabled
ehci0: BIOS refuses to give up ownership, using force
ehci0: EHCI version 1.0
ehci0: companion controllers, 2 ports each: uhci0 uhci1 uhci2 uhci3
usb4 at ehci0: USB revision 2.0
uhub4 at usb4
uhub4: VIA Technologies EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub4: 8 ports with 8 removable, self powered
pcib0 at pci0 dev 17 function 0
pcib0: VIA Technologies VT8237 (Apollo KT600) PCI-ISA Bridge (rev. 0x00)
auvia0 at pci0 dev 17 function 5: VIA Technologies VT8237 AC'97 Audio (rev 0x60)
auvia0: interrupting at ioapic0 pin 22 (irq 5)
auvia0: ac97: Avance Logic ALC850 codec; no 3D stereo
auvia0: ac97: ext id 9c6<AC97_23,LDAC,SDAC,CDAC,SPDIF,DRA>
audio0 at auvia0: full duplex, independent
pchb6 at pci0 dev 24 function 0
pchb6: Advanced Micro Devices K8 AMD64 HyperTransport configuration (rev. 0x00)
pchb7 at pci0 dev 24 function 1
pchb7: Advanced Micro Devices K8 AMD64 Address Map configuration (rev. 0x00)
pchb8 at pci0 dev 24 function 2
pchb8: Advanced Micro Devices K8 AMD64 DRAM configuration (rev. 0x00)
pchb9 at pci0 dev 24 function 3
pchb9: Advanced Micro Devices K8 AMD64 Miscellaneous configuration (rev. 0x00)
isa0 at pcib0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
isapnp0: no ISA Plug 'n Play devices found
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
raidattach: Asked for 8 units
Kernelized RAIDframe activated
scsibus0: waiting 2 seconds for devices to settle...
wd0 at atabus2 drive 0: <ST3200826A>
wd0: quirks 2<FORCE_LBA48>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 186 GB, 387621 cyl, 16 head, 63 sec, 512 bytes/sect x 390721968 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(viaide1:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA)
atapibus0 at atabus3: 2 targets
cd0 at atapibus0 drive 0: <HL-DT-ST DVDRAM GSA-4167B, F970EAFE7239, DL11> cdrom removable
cd0: 32-bit data port
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
cd0(viaide1:1:0): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using DMA)
uhub4: device problem, disabling port 4
Searching for RAID components...
boot device: wd0
root on wd0a dumps on wd0b
mountroot: trying lfs...
mountroot: trying ffs...
root file system type: ffs
WARNING: clock gained 9 days
WARNING: CHECK AND RESET THE DATE!
init: copying out path `/sbin/init' 11
skc0: interrupt moderation is 1000 us
And here are diffs comparing the above to the dmesg from first booting
the machine and then plugging in the hub:
17c17
< cpu0: AMD Athlon 64 or Sempron (686-class), 2202.94 MHz, id 0x20ff2
---
> cpu0: AMD Athlon 64 or Sempron (686-class), 2203.02 MHz, id 0x20ff2
165c165
< ehci0: BIOS refuses to give up ownership, using force
---
> ehci0: BIOS has given up ownership
206d205
< uhub4: device problem, disabling port 4
213,214d211
< WARNING: clock gained 9 days
< WARNING: CHECK AND RESET THE DATE!
216a214,217
> uhub5 at uhub4 port 4
> uhub5: D-Link product 0xf103, class 9/0, rev 2.00/1.00, addr 2
> uhub5: single transaction translator
> uhub5: 7 ports with 0 removable, self powered
>How-To-Repeat:
See above.
>Fix:
Please.