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

Reply via email to