kern/117366: USB keyboard status lights not working properly

Emil Mikulic emil at cs.rmit.edu.au
Mon Oct 29 12:30:04 PDT 2007


The following reply was made to PR usb/117366; it has been noted by GNATS.

From: Emil Mikulic <emil at cs.rmit.edu.au>
To: bug-followup at FreeBSD.org, bruce at cran.org.uk
Cc:  
Subject: Re: kern/117366: USB keyboard status lights not working properly
Date: Mon, 29 Oct 2007 17:17:59 +1100

 This has been bugging me for a while also.  I would like to contribute a
 data point:
 
 FreeBSD 7.0-BETA1 (RELENG_7 as of last week) on i386.
 HP xw4200 workstation, usbdevs -v reports:
 [...]
 Controller /dev/usb2:
 addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x0000), rev 1.00
  port 1 addr 2: low speed, power 100 mA, config 1, HP Basic USB Keyboard(0x0024), CHICONY(0x03f0), rev 3.00
 [...]
 
 I have similar symptoms to Bruce although different (but still wrong)
 combination of LEDs on.
 
 The no-async one-line patch suggested by Alexander Stepanov seems to
 cure the problem.
 
 As does 'set hint.atkbd.0.disabled="1"' at the loader prompt (without
 the async patch)
 
 Instrumenting bits of kbdmux, ukbd and atkbd suggests that, without the
 above hint, when I hit NumLock, roughly the following happens:
 
 kbdmux_ioctl cmd=KDSETLED, arg=2
 ukbd:set_leds leds=1
 atkbd_ioctl cmd=KDSETLED, arg=2
 
 Hitting NumLock again to turn it off:
 
 kbdmux_ioctl cmd=KDSETLED, arg=0
 ukbd:set_leds leds=0
 atkbd_ioctl cmd=KDSETLED, arg=0
 
 In atkbd_ioctl(), KBD_HAS_DEVICE(kbd) evaluates to false, so write_kbd()
 isn't called.  I'm not sure which code path is disabled by the hint that
 makes the LEDs behave.
 
 Regardless of whether NumLock is on or off, the LEDs on the keyboard
 show Caps is on and Num and Scroll are off.  This probably doesn't mean
 much.
 
 This is all on the text console.  I haven't tried X11 yet on this
 workstation.
 
 --Emil


More information about the freebsd-usb mailing list