A few more details on this issue, after some further experimentation. The Caps Lock key always works fine at the console; the problem I reported only affects X.
My computer has a single USB keyboard (there are no PS/2 ports). If I use "disable pckbd", then the keyboard continues to work fine at the console, and the Caps Lock problem is resolved under X. If I use "disable ukbd", then the keyboard does not work at all at the console. (I couldn't run "startx", so I didn't bother to test X.) To be able to use my keyboard for GRUB and boot(8), I have to enable "USB Legacy" in my BIOS settings. If I turn that off, the ehci BIOS hand off timeout goes away, but both pckbd and ukbd still attach by default (expected?), and the situation seems otherwise unchanged. If I boot into Linux, I see a similar warning in its dmesg logs about a possible BIOS bug because of the failed EHCI USB handoffs. I'm running the latest BIOS revision; I tried upgrading it to see if it would fix the ehci(4) warning under OpenBSD, but it had no apparent effect. (Revert r1.16 of ehci_pci.c had no effect either.) As far as I can tell, using "disable pckbd" is a sufficient workaround to the problem. However, seeing as the console is able to handle having both pckbd0 and ukbd0 without Caps Lock problems, I would expect X to be able to as well. On Mon, Jun 29, 2009 at 9:04 PM, Matthew Dempsky<matt...@dempsky.org> wrote: > On Mon, Jun 29, 2009 at 9:01 PM, Matthew Dempsky<matt...@dempsky.org> wrote: >> On my desktop, whenever I press the Caps Lock key while using X, all >> USB input is lagged for about a second. The Caps Lock light on my >> keyboard does not change state until after this second, and all other >> subsequent key presses and/or mouse movements are not registered until >> after either. >> >> XXXxxXXXXxXX > > (Sorry, I unintentionally sent that message while testing the behavior.) > > So I can also press (e.g.) Caps Lock, x, x, x, Caps Lock, x, x, x, > repeated several times within a second, and the result is the light > blinks on and off once a second, and then finally all of the key input > is registered. > > Below is my dmesg, and a copy of my xorg.conf, in case they help. > This is under a fairly recent 4.6-beta snapshot. > > Thanks. > > > OpenBSD 4.6-beta (GENERIC.MP) #55: Sat Jun 27 18:53:57 MDT 2009 > dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP > real mem = 3180863488 (3033MB) > avail mem = 3072126976 (2929MB) > mainbus0 at root > bios0 at mainbus0: SMBIOS rev. 2.4 @ 0xe8590 (56 entries) > bios0: vendor Intel Corp. version "IDG4510H.86A.0101.2009.0526.1006" > date 05/26/2009 > bios0: Intel Corporation DG45ID > acpi0 at bios0: rev 2 > acpi0: tables DSDT FACP APIC MCFG ASF! HPET > acpi0: wakeup devices P0P1(S3) UAR1(S3) UAR3(S5) P0P2(S3) USB0(S3) > USB1(S3) USB2(S3) EUSB(S3) USB3(S3) USB4(S3) USBE(S3) PEX0(S4) > PEX1(S4) PEX2(S4) PEX3(S4) PEX4(S4) GBE_(S4) USB5(S3) PWRB(S5) > acpitimer0 at acpi0: 3579545 Hz, 24 bits > acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat > cpu0 at mainbus0: apid 0 (boot processor) > cpu0: Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz, 3000.12 MHz > cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUS H,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,VMX,SMX,EST,TM2,C X16,xTPR,NXE,LONG > cpu0: 6MB 64b/line 16-way L2 cache > cpu0: apic clock running at 333MHz > cpu1 at mainbus0: apid 1 (application processor) > cpu1: Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz, 2999.66 MHz > cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUS H,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,VMX,SMX,EST,TM2,C X16,xTPR,NXE,LONG > cpu1: 6MB 64b/line 16-way L2 cache > ioapic0 at mainbus0 apid 0 pa 0xfec00000, version 20, 24 pins > acpihpet0 at acpi0: 14318179 Hz > acpiprt0 at acpi0: bus 0 (PCI0) > acpiprt1 at acpi0: bus 1 (P0P2) > acpiprt2 at acpi0: bus -1 (PEX0) > acpiprt3 at acpi0: bus -1 (PEX1) > acpiprt4 at acpi0: bus -1 (PEX2) > acpiprt5 at acpi0: bus -1 (PEX3) > acpiprt6 at acpi0: bus -1 (PEX4) > acpicpu0 at acpi0:, C3, C2, C1, PSS > acpicpu1 at acpi0:, C3, C2, C1, PSS > acpibtn0 at acpi0: PWRB > cpu0: Enhanced SpeedStep 2999 MHz: speeds: 2997, 1998 MHz > pci0 at mainbus0 bus 0 > extent `pciio' (0x0 - 0xffffffff), flags=0 > 0xd000 - 0xe143 > 0xe150 - 0xe157 > 0xe160 - 0xe163 > 0xe170 - 0xe177 > 0xe180 - 0xe183 > 0xe190 - 0xe197 > 0xe1a0 - 0xe1a3 > 0xe1b0 - 0xe1b7 > 0xe1c0 - 0xe1c7 > 0x10000 - 0xffffffff > extent `pcimem' (0x0 - 0xffffffff), flags=0 > 0x0 - 0x9ffff > 0xe0000 - 0xbdcfffff > 0xc0000000 - 0xd062610f > 0xfed1c000 - 0xfed1ffff > 0xff000000 - 0xffffffff > pchb0 at pci0 dev 0 function 0 "Intel G45 Host" rev 0x03 > vga1 at pci0 dev 2 function 0 "Intel G45 Video" rev 0x03 > wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) > wsdisplay0: screen 1-5 added (80x25, vt100 emulation) > intagp0 at vga1 > agp0 at intagp0: aperture at 0xc0000000, size 0x10000000 > inteldrm0 at vga1: apic 0 int 16 (irq 11) > drm0 at inteldrm0 > "Intel G45 Video" rev 0x03 at pci0 dev 2 function 1 not configured > vendor "Intel", unknown product 0x2e24 (class communications subclass > miscellaneous, rev 0x03) at pci0 dev 3 function 0 not configured > em0 at pci0 dev 25 function 0 "Intel ICH10 R BM LF" rev 0x00: apic 0 > int 20 (irq 10), address 00:1c:c0:9b:9f:f0 > uhci0 at pci0 dev 26 function 0 "Intel 82801JI USB" rev 0x00: apic 0 > int 16 (irq 11) > uhci1 at pci0 dev 26 function 1 "Intel 82801JI USB" rev 0x00: apic 0 > int 21 (irq 3) > uhci2 at pci0 dev 26 function 2 "Intel 82801JI USB" rev 0x00: apic 0 > int 18 (irq 11) > ehci0 at pci0 dev 26 function 7 "Intel 82801JI USB" rev 0x00: apic 0 > int 18 (irq 11) > ehci0: timed out waiting for BIOS > usb0 at ehci0: USB revision 2.0 > uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1 > azalia0 at pci0 dev 27 function 0 "Intel 82801JI HD Audio" rev 0x00: > apic 0 int 22 (irq 10) > azalia0: codecs: IDT 92HD73E1, Intel/0x2803, using IDT 92HD73E1 > audio0 at azalia0 > uhci3 at pci0 dev 29 function 0 "Intel 82801JI USB" rev 0x00: apic 0 > int 23 (irq 3) > uhci4 at pci0 dev 29 function 1 "Intel 82801JI USB" rev 0x00: apic 0 > int 19 (irq 11) > uhci5 at pci0 dev 29 function 2 "Intel 82801JI USB" rev 0x00: apic 0 > int 18 (irq 11) > ehci1 at pci0 dev 29 function 7 "Intel 82801JI USB" rev 0x00: apic 0 > int 23 (irq 3) > ehci1: timed out waiting for BIOS > usb1 at ehci1: USB revision 2.0 > uhub1 at usb1 "Intel EHCI root hub" rev 2.00/1.00 addr 1 > ppb0 at pci0 dev 30 function 0 "Intel 82801BA Hub-to-PCI" rev 0x90 > pci1 at ppb0 bus 1 > extent `ppb0 pciio' (0x0 - 0xffffffff), flags=0 > 0x0 - 0xd0ff > 0xe000 - 0xffffffff > extent `ppb0 pcimem' (0x0 - 0xffffffff), flags=0 > 0x0 - 0xd04fffff > 0xd0520000 - 0xd05214ff > 0xd0600000 - 0xffffffff > dc0 at pci1 dev 0 function 0 "ADMtek AN983" rev 0x11: apic 0 int 21 > (irq 3), address 00:08:a1:c0:30:54 > ukphy0 at dc0 phy 1: Generic IEEE 802.3u media interface, rev. 1: OUI > 0x000749, model 0x0001 > "AT&T/Lucent FW322 1394" rev 0x70 at pci1 dev 1 function 0 not configured > pcib0 at pci0 dev 31 function 0 "Intel 82801JIR LPC" rev 0x00 > ahci0 at pci0 dev 31 function 2 "Intel 82801JI AHCI" rev 0x00: apic 0 > int 19 (irq 11), AHCI 1.2 > scsibus0 at ahci0: 32 targets > sd0 at scsibus0 targ 0 lun 0: <ATA, WDC WD7500AACS-0, 01.0> SCSI3 0/direct fixed > sd0: 715404MB, 512 bytes/sec, 1465149168 sec total > cd0 at scsibus0 targ 3 lun 0: <HL-DT-ST, DVD-RAM GH22LS30, 1.01> ATAPI > 5/cdrom removable > ichiic0 at pci0 dev 31 function 3 "Intel 82801JI SMBus" rev 0x00: apic > 0 int 18 (irq 11) > iic0 at ichiic0 > spdmem0 at iic0 addr 0x50: 2GB DDR2 SDRAM non-parity PC2-6400CL5 > spdmem1 at iic0 addr 0x52: 2GB DDR2 SDRAM non-parity PC2-6400CL5 > pciide0 at pci0 dev 31 function 5 "Intel 82801JI SATA" rev 0x00: DMA, > channel 0 wired to native-PCI, channel 1 wired to native-PCI > pciide0: using apic 0 int 19 (irq 11) for native-PCI interrupt > usb2 at uhci0: USB revision 1.0 > uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1 > usb3 at uhci1: USB revision 1.0 > uhub3 at usb3 "Intel UHCI root hub" rev 1.00/1.00 addr 1 > usb4 at uhci2: USB revision 1.0 > uhub4 at usb4 "Intel UHCI root hub" rev 1.00/1.00 addr 1 > usb5 at uhci3: USB revision 1.0 > uhub5 at usb5 "Intel UHCI root hub" rev 1.00/1.00 addr 1 > usb6 at uhci4: USB revision 1.0 > uhub6 at usb6 "Intel UHCI root hub" rev 1.00/1.00 addr 1 > usb7 at uhci5: USB revision 1.0 > uhub7 at usb7 "Intel UHCI root hub" rev 1.00/1.00 addr 1 > isa0 at pcib0 > isadma0 at isa0 > com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo > pckbc0 at isa0 port 0x60/5 > pckbd0 at pckbc0 (kbd slot) > pckbc0: using irq 1 for kbd slot > wskbd0 at pckbd0: console keyboard, using wsdisplay0 > pcppi0 at isa0 port 0x61 > midi0 at pcppi0: <PC speaker> > spkr0 at pcppi0 > lpt0 at isa0 port 0x378/4 irq 7 > mtrr: Pentium Pro MTRR support > uhub8 at uhub0 port 5 "Standard Microsystems Hub" rev 2.00/0.01 addr 2 > uhidev0 at uhub8 port 1 configuration 1 interface 0 "Primax > Electronics Dynex 5-Button Wired Optical Mouse" rev 2.00/1.00 addr 3 > uhidev0: iclass 3/1 > ums0 at uhidev0: 5 buttons, Z dir > wsmouse0 at ums0 mux 0 > uhidev1 at uhub8 port 2 configuration 1 interface 0 "Plus More > Enterprise LTD. USB-compliant keyboard" rev 1.10/1.00 addr 4 > uhidev1: iclass 3/1 > ukbd0 at uhidev1: 8 modifier keys, 6 key codes > wskbd1 at ukbd0 mux 1 > wskbd1: connecting to wsdisplay0 > uhidev2 at uhub8 port 2 configuration 1 interface 1 "Plus More > Enterprise LTD. USB-compliant keyboard" rev 1.10/1.00 addr 4 > uhidev2: iclass 3/1, 3 report ids > uhid0 at uhidev2 reportid 1: input=2, output=0, feature=0 > uhid1 at uhidev2 reportid 2: input=1, output=0, feature=0 > ums1 at uhidev2 reportid 3: 0 button, Z dir > wsmouse1 at ums1 mux 0 > softraid0 at root > root on sd0a swap on sd0b dump on sd0b > wsmouse0 detached > ums0 detached > uhidev0 detached > wskbd1: disconnecting from wsdisplay0 > wskbd1 detached > ukbd0 detached > uhidev1 detached > uhid0 detached > uhid1 detached > wsmouse1 detached > ums1 detached > uhidev2 detached > uhub8 detached > uhub8 at uhub0 port 5 "Standard Microsystems Hub" rev 2.00/0.01 addr 2 > uhidev0 at uhub8 port 1 configuration 1 interface 0 "Primax > Electronics Dynex 5-Button Wired Optical Mouse" rev 2.00/1.00 addr 3 > uhidev0: iclass 3/1 > ums0 at uhidev0: 5 buttons, Z dir > wsmouse0 at ums0 mux 0 > uhidev1 at uhub8 port 2 configuration 1 interface 0 "Plus More > Enterprise LTD. USB-compliant keyboard" rev 1.10/1.00 addr 4 > uhidev1: iclass 3/1 > ukbd0 at uhidev1: 8 modifier keys, 6 key codes > wskbd1 at ukbd0 mux 1 > wskbd1: connecting to wsdisplay0 > uhidev2 at uhub8 port 2 configuration 1 interface 1 "Plus More > Enterprise LTD. USB-compliant keyboard" rev 1.10/1.00 addr 4 > uhidev2: iclass 3/1, 3 report ids > uhid0 at uhidev2 reportid 1: input=2, output=0, feature=0 > uhid1 at uhidev2 reportid 2: input=1, output=0, feature=0 > ums1 at uhidev2 reportid 3: 0 button, Z dir > wsmouse1 at ums1 mux 0 > > > > > Section "ServerLayout" > Identifier "X.org Configured" > Screen 0 "Screen0" 0 0 > InputDevice "Mouse0" "CorePointer" > InputDevice "Keyboard0" "CoreKeyboard" > EndSection > > Section "Files" > ModulePath "/usr/X11R6/lib/modules" > FontPath "/usr/X11R6/lib/X11/fonts/misc/" > FontPath "/usr/X11R6/lib/X11/fonts/TTF/" > FontPath "/usr/X11R6/lib/X11/fonts/OTF" > FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled" > FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled" > FontPath "/usr/local/lib/X11/fonts/mscorefonts/" > FontPath "/usr/local/lib/X11/fonts/ghostscript/" > FontPath "/usr/X11R6/lib/X11/fonts/Type1/" > FontPath "/usr/X11R6/lib/X11/fonts/100dpi/" > FontPath "/usr/X11R6/lib/X11/fonts/75dpi/" > EndSection > > Section "Module" > Load "GLcore" > Load "dbe" > Load "extmod" > Load "glx" > # Load "record" > # Load "xtrap" > Load "dri" > Load "freetype" > Load "type1" > EndSection > > Section "InputDevice" > Identifier "Keyboard0" > Driver "kbd" > EndSection > > Section "InputDevice" > Identifier "Mouse0" > Driver "mouse" > Option "Protocol" "wsmouse" > Option "Device" "/dev/wsmouse" > Option "ZAxisMapping" "4 5 6 7" > EndSection > > Section "Monitor" > Identifier "Monitor0" > VendorName "Monitor Vendor" > ModelName "Monitor Model" > EndSection > > Section "Device" > ### Available Driver options are:- > ### Values: <i>: integer, <f>: float, <bool>: "True"/"False", > ### <string>: "String", <freq>: "<f> Hz/kHz/MHz" > ### [arg]: arg optional > #Option "NoAccel" # [<bool>] > #Option "SWcursor" # [<bool>] > #Option "ColorKey" # <i> > #Option "CacheLines" # <i> > #Option "Dac6Bit" # [<bool>] > #Option "DRI" # [<bool>] > #Option "NoDDC" # [<bool>] > #Option "ShowCache" # [<bool>] > #Option "XvMCSurfaces" # <i> > #Option "PageFlip" # [<bool>] > Identifier "Card0" > Driver "intel" > VendorName "Intel" > BoardName "G45 Video" > BusID "PCI:0:2:0" > EndSection > > Section "Screen" > Identifier "Screen0" > Device "Card0" > Monitor "Monitor0" > DefaultDepth 24 > SubSection "Display" > Viewport 0 0 > Depth 24 > Modes "1680x1050" > EndSubSection > EndSection