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