temporary freezes when pressing capslock / numlock

Jeremy Chadwick koitsu at FreeBSD.org
Tue May 27 05:11:10 UTC 2008


On Mon, May 26, 2008 at 11:12:36PM -0500, Rick C. Petty wrote:
> 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?

Hopefully.  :-)  I'd like to point fingers at kbdmux being the
responsible piece, but the USB stack has a history of being flakey in
many regards, hence my reluctance.

-- 
| Jeremy Chadwick                                jdc at parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.              PGP: 4BD6C0CB |



More information about the freebsd-hackers mailing list