Bug 119509 - [usb] USB flaky on Dell Optiplex 755
Summary: [usb] USB flaky on Dell Optiplex 755
Status: Open
Alias: None
Product: Base System
Classification: Unclassified
Component: usb (show other bugs)
Version: Unspecified
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-usb mailing list
Depends on:
Reported: 2008-01-09 22:00 UTC by Baldur Gislason
Modified: 2018-01-03 05:16 UTC (History)
0 users

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description Baldur Gislason 2008-01-09 22:00:07 UTC
The USB controller of my new Dell Optiplex 755 seems to be very flaky under FreeBSD. The USB keyboard will randomly stop working, requiring me to unplug the keyboard and plug it back in. Using a different keyboard does not affect the issue.

Here is a dmesg showing the hardware of the machine.

Copyright (c) 1992-2007 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 7.0-RC1 #0: Mon Dec 24 12:18:24 UTC 2007
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Core(TM)2 Quad CPU    Q6600  @ 2.40GHz (2394.00-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x6fb  Stepping = 11
  AMD Features=0x20100000<NX,LM>
  AMD Features2=0x1<LAHF>
  Cores per package: 4
real memory  = 2111827968 (2013 MB)
avail memory = 2056912896 (1961 MB)
ACPI APIC Table: <DELL   B9K    >
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
 cpu2 (AP): APIC ID:  2
 cpu3 (AP): APIC ID:  3
ioapic0: Changing APIC ID to 8
ioapic0 <Version 2.0> irqs 0-23 on motherboard
lapic0: Forcing LINT1 to edge trigger
kbd1 at kbdmux0
ath_hal: (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
hptrr: HPT RocketRAID controller driver v1.1 (Dec 24 2007 12:17:58)
acpi0: <DELL B9K    > on motherboard
acpi0: [ITHREAD]
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
acpi_hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
Timecounter "HPET" frequency 14318180 Hz quality 900
cpu0: <ACPI CPU> on acpi0
est0: <Enhanced SpeedStep Frequency Control> on cpu0
est: CPU supports Enhanced Speedstep, but is not recognized.
est: cpu_vendor GenuineIntel, msr 91e091e0600091e
device_attach: est0 attach returned 6
p4tcc0: <CPU Frequency Thermal Control> on cpu0
cpu1: <ACPI CPU> on acpi0
est1: <Enhanced SpeedStep Frequency Control> on cpu1
est: CPU supports Enhanced Speedstep, but is not recognized.
est: cpu_vendor GenuineIntel, msr 91e091e0600091e
device_attach: est1 attach returned 6
p4tcc1: <CPU Frequency Thermal Control> on cpu1
cpu2: <ACPI CPU> on acpi0
est2: <Enhanced SpeedStep Frequency Control> on cpu2
est: CPU supports Enhanced Speedstep, but is not recognized.
est: cpu_vendor GenuineIntel, msr 91e091e0600091e
device_attach: est2 attach returned 6
p4tcc2: <CPU Frequency Thermal Control> on cpu2
cpu3: <ACPI CPU> on acpi0
est3: <Enhanced SpeedStep Frequency Control> on cpu3
est: CPU supports Enhanced Speedstep, but is not recognized.
est: cpu_vendor GenuineIntel, msr 91e091e0600091e
device_attach: est3 attach returned 6
p4tcc3: <CPU Frequency Thermal Control> on cpu3
acpi_button0: <Power Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pcib1: <ACPI PCI-PCI bridge> irq 16 at device 1.0 on pci0
pci1: <ACPI PCI bus> on pcib1
vgapci0: <VGA-compatible display> port 0xdc00-0xdcff mem 0xd0000000-0xdfffffff,0xfe9e0000-0xfe9effff irq 16 at device 0.0 on pci1
vgapci1: <VGA-compatible display> mem 0xfe9f0000-0xfe9fffff at device 0.1 on pci1
pci0: <simple comms> at device 3.0 (no driver attached)
atapci0: <Intel ATA controller> port 0xfe80-0xfe87,0xfe90-0xfe93,0xfea0-0xfea7,0xfeb0-0xfeb3,0xfef0-0xfeff irq 18 at device 3.2 on pci0
atapci0: [ITHREAD]
ata2: <ATA channel 0> on atapci0
ata2: [ITHREAD]
ata3: <ATA channel 1> on atapci0
ata3: [ITHREAD]
pci0: <simple comms, UART> at device 3.3 (no driver attached)
em0: <Intel(R) PRO/1000 Network Connection Version - 6.7.3> port 0xecc0-0xecdf mem 0xfebe0000-0xfebfffff,0xfebdb000-0xfebdbfff irq 21 at device 25.0 on pci0
em0: Using MSI interrupt
em0: Ethernet address: 00:1e:4f:92:ee:69
em0: [FILTER]
uhci0: <UHCI (generic) USB controller> port 0xff20-0xff3f irq 16 at device 26.0 on pci0
uhci0: [ITHREAD]
usb0: <UHCI (generic) USB controller> on uhci0
usb0: USB revision 1.0
uhub0: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0
uhub0: 2 ports with 2 removable, self powered
uhci1: <UHCI (generic) USB controller> port 0xff00-0xff1f irq 17 at device 26.1 on pci0
uhci1: [ITHREAD]
usb1: <UHCI (generic) USB controller> on uhci1
usb1: USB revision 1.0
uhub1: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb1
uhub1: 2 ports with 2 removable, self powered
ehci0: <EHCI (generic) USB 2.0 controller> mem 0xfebd9c00-0xfebd9fff irq 22 at device 26.7 on pci0
ehci0: [ITHREAD]
usb2: EHCI version 1.0
usb2: wrong number of companions (3 != 2)
usb2: companion controllers, 2 ports each: usb0 usb1
usb2: <EHCI (generic) USB 2.0 controller> on ehci0
usb2: USB revision 2.0
uhub2: <Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1> on usb2
uhub2: 6 ports with 6 removable, self powered
pci0: <multimedia> at device 27.0 (no driver attached)
pcib2: <ACPI PCI-PCI bridge> irq 16 at device 28.0 on pci0
pci2: <ACPI PCI bus> on pcib2
bge0: <Broadcom NetXtreme PCIe Ethernet Adapter, ASIC rev. 0x4201> mem 0xfe8f0000-0xfe8fffff irq 16 at device 0.0 on pci2
miibus0: <MII bus> on bge0
brgphy0: <BCM5750 10/100/1000baseTX PHY> PHY 1 on miibus0
brgphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
bge0: Ethernet address: 00:10:18:31:44:39
bge0: [ITHREAD]
uhci2: <UHCI (generic) USB controller> port 0xff80-0xff9f irq 23 at device 29.0 on pci0
uhci2: [ITHREAD]
usb3: <UHCI (generic) USB controller> on uhci2
usb3: USB revision 1.0
uhub3: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb3
uhub3: 2 ports with 2 removable, self powered
uhci3: <UHCI (generic) USB controller> port 0xff60-0xff7f irq 17 at device 29.1 on pci0
uhci3: [ITHREAD]
usb4: <UHCI (generic) USB controller> on uhci3
usb4: USB revision 1.0
uhub4: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb4
uhub4: 2 ports with 2 removable, self powered
uhci4: <UHCI (generic) USB controller> port 0xff40-0xff5f irq 18 at device 29.2 on pci0
uhci4: [ITHREAD]
usb5: <UHCI (generic) USB controller> on uhci4
usb5: USB revision 1.0
uhub5: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb5
uhub5: 2 ports with 2 removable, self powered
ehci1: <EHCI (generic) USB 2.0 controller> mem 0xff980800-0xff980bff irq 23 at device 29.7 on pci0
ehci1: [ITHREAD]
usb6: EHCI version 1.0
usb6: companion controllers, 2 ports each: usb3 usb4 usb5
usb6: <EHCI (generic) USB 2.0 controller> on ehci1
usb6: USB revision 2.0
uhub6: <Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1> on usb6
uhub6: 6 ports with 6 removable, self powered
pcib3: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci3: <ACPI PCI bus> on pcib3
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci1: <Intel ICH9 SATA300 controller> port 0xfe00-0xfe07,0xfe10-0xfe13,0xfe20-0xfe27,0xfe30-0xfe33,0xfec0-0xfecf,0xeca0-0xecaf irq 18 at device 31.2 on pci0
atapci1: [ITHREAD]
ata4: <ATA channel 0> on atapci1
ata4: [ITHREAD]
ata5: <ATA channel 1> on atapci1
ata5: [ITHREAD]
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
atapci2: <Intel ICH9 SATA300 controller> port 0xfe40-0xfe47,0xfe50-0xfe53,0xfe60-0xfe67,0xfe70-0xfe73,0xfed0-0xfedf,0xecb0-0xecbf irq 18 at device 31.5 on pci0
atapci2: [ITHREAD]
ata6: <ATA channel 0> on atapci2
ata6: [ITHREAD]
ata7: <ATA channel 1> on atapci2
ata7: [ITHREAD]
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A
sio0: [FILTER]
pmtimer0 on isa0
orm0: <ISA Option ROMs> at iomem 0xc0000-0xcf7ff,0xcf800-0xd17ff,0xd1800-0xd3fff pnpid ORM0000 on isa0
ata0 at port 0x1f0-0x1f7,0x3f6 irq 14 on isa0
ata0: [ITHREAD]
ata1 at port 0x170-0x177,0x376 irq 15 on isa0
ata1: [ITHREAD]
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
atkbd0: [ITHREAD]
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
ppbus0: <Parallel port bus> on ppc0
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
ppc0: [ITHREAD]
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
ukbd0: <Dell Dell USB Keyboard, class 0/0, rev 1.10/3.06, addr 2> on uhub1
kbd2 at ukbd0
ums0: <Logitech USB-PS/2 Optical Mouse, class 0/0, rev 2.00/18.00, addr 3> on uhub1
ums0: 6 buttons and Z dir.
Timecounters tick every 1.000 msec
hptrr: no controller detected.
ad8: 152587MB <SAMSUNG HD161HJ JF100-22> at ata4-master SATA300
acd0: DVDR <Optiarc DVD+/-RW AD-5170S/101B> at ata5-master SATA150
lapic1: Forcing LINT1 to edge trigger
SMP: AP CPU #1 Launched!
lapic3: Forcing LINT1 to edge trigger
SMP: AP CPU #3 Launched!
lapic2: Forcing LINT1 to edge trigger
SMP: AP CPU #2 Launched!
Trying to mount root from ufs:/dev/ad8s1a
em0: link state changed to UP
logo_saver: the console does not support M_VGA_CG320
module_register_init: MOD_LOAD (logo_saver, 0xc59287b0, 0) error 19

How-To-Repeat: Use Dell Optiplex 755 with a USB keyboard (There is no controller for other types of keyboard) and at random the keyboard will become inoperable, often repeating whatever keypress I did last. This will continue after I unplug keyboard but the repeat will stop when I plug the keyboard back in, which is when the kernel realises that the keyboard is gone.
Comment 1 Baldur Gislason 2008-01-10 18:27:38 UTC
Some further diagnosis has concluded that this bug has something to do with
the legacy emulation of the USB keyboard, done by the BIOS and cannot be turned
off in the BIOS settings.
If I boot the computer without a keyboard attached and only attach a keyboard
after boot I don't seem to have any problems. Same if I install an additional
USB controller which the BIOS doesnt use.

Comment 2 Baldur Gislason 2008-02-04 15:30:52 UTC
A workaround for this issue is to compile kernel without
device          atkbdc          # AT keyboard controller
device          atkbd           # AT keyboard
device          psm             # PS/2 mouse

or otherwise disable the atkbd driver.
Since PS/2 emulation cannot be disabled in the BIOS and these machines
have no PS/2 ports.

Comment 3 rabe 2008-04-11 22:32:36 UTC
Use a custom kernel config for DELL Optiplex 755 (and maybe others):
# Kernel-Config for Dell Optiplex 755 / amd64

include         GENERIC
ident           DELL755
nodevice          atkbdc          # AT keyboard controller
nodevice          atkbd           # AT keyboard
nodevice          psm             # PS/2 mouse

There *should* be a facility to (temporary) disable specific hardware 
drivers or make them skip hardware-checks, maybe in /boot/loader.conf: 



Raphael Becker          <rabe@uugrn.org>          http://rabe.uugrn.org/
GnuPG:                E7B2 1D66 3AF2 EDC7 9828  6D7A 9CDA 3E7B 10CA 9F2D
Comment 4 Eitan Adler freebsd_committer freebsd_triage 2017-12-31 07:59:29 UTC
For bugs matching the following criteria:

Status: In Progress Changed: (is less than) 2014-06-01

Reset to default assignee and clear in-progress tags.

Mail being skipped