temporary freezes when pressing capslock / numlock

Rick C. Petty rick-freebsd at kiwi-computer.com
Tue May 27 04:39:18 UTC 2008


On Sat, May 24, 2008 at 01:16:33PM -0700, Jeremy Chadwick wrote:
> On Sat, May 24, 2008 at 01:38:08PM +1000, Fraser Tweedale wrote:
> > Since upgrading to RELENG_7_0 I was experiencing momentary freezes (of 
> > about .5 seconds) whenever the capslock or numlock buttons were pressed.
> 
> Let me guess -- you're using a USB keyboard.
> 
> > The issue occurs both in console and in X, and for both ULE and 4BSD. The 
> > problem was reproducible with USB keyboards only (ukbd); atkbd seems fine.  
> > It also occurs when numlockx is used to set numlock on or off without 
> > keyboard interaction.
> 
> I figured as much.  I hadn't checked numlock/capslock myself, but vcons
> switching also has that problem.  Yes, it's semi-documented; see section
> "USB" below:
> 
> http://wiki.freebsd.org/JeremyChadwick/Commonly_reported_issues
> 
> For what it's worth, the systems I've confirmed the problem on are Intel
> and nForce 4.  Meaning, the issue is not specific to a single chipset.

I've seen this on certain chipsets (nForce4, Intel) and not on others
(nForce5+).  I originally reported this problem over two years ago:

http://lists.freebsd.org/pipermail/freebsd-hackers/2006-March/015724.html

This problem started when the kbdmux was added to the kernel and has not
been fixed since (although the "delay" has been reduced from around two
seconds to about 0.4 seconds).  I verified the problem still persists with
7-stable as of last week.

This "pause" actually blocks the entire kernel, not just things under
GIANT.  One test involved having a gmirror sync or fsck run while I
switched virtal consoles and watched the drive activity LEDs turn off for
the entire duration of the pause.

> > Interestingly, if you add enough keyboards, the problem vanishes, which led 
> > me to kbdmux.  Sure enough, removing device kbdmux from the kernel makes 
> > the problem go away (at the expensive of some functionality of course, but 
> > this is my current workaround).
> 
> An interesting find!  I'll add this to the details in the above wiki.
> I've also CC'd kbdmux's maintainer.

I've noticed that even plugging in a PS/2 keyboard fixes the problem.
However unplugging the PS/2 keyboard restores the problematic behavior.
I never found a solution to this problem except for buying different
hardware or keeping a PS/2 keyboard plugged in.

Being that the issue is on your wiki page, does that mean this problem will
be fixed some day?

-- Rick C. Petty


More information about the freebsd-hackers mailing list