USB2 - keyboard error
Hans Petter Selasky
hselasky at c2i.net
Sat Feb 14 08:57:04 PST 2009
On Saturday 14 February 2009, Yoshihiro Ota wrote:
> On Sat, 14 Feb 2009 10:41:28 +0100
>
> Hans Petter Selasky <hselasky at c2i.net> wrote:
> > On Saturday 14 February 2009, Yoshihiro Ota wrote:
> > > I just installed 8-CURRENT with USB2 kernel config to join the test.
> > >
> > > I use a laptop PC and sometime use USB keyboard.
> > > It was detected as following and it is usable when
> > > I see FreeBSD login prompt.
> > >
> > > ugen0.2: <NEC> at usbus0
> > > ushub2: <NEC hub, class 9/0, rev 1.00/1.00, addr 2> on usbus0
> > > ushub2: 4 ports with 4 removable, bus powered
> > > ugen0.3: <Alps Electric> at usbus0
> > > ukbd0: <Alps Electric M2452, class 0/0, rev 1.00/1.01, addr 3> on
> > > usbus0 kbd2 at ukbd0
> > > ukbd_set_leds_callback:556: error=USB_ERR_IOERROR
> > > ukbd_set_leds_callback:556: error=USB_ERR_IOERROR
> > >
> > >
> > > Regular alphabet keys work fine but as soon as I hit Alt-F2 to switch
> > > to another virtual console (or is it called virtual terminal?), I
> > > start seeing the above error. Then, keyboard stops responding or
> > > starts repeating some irregular keys.
> > >
> > > This is without X.
> > >
> > > How do we begin fixing this issue?
> >
> > Hi,
> >
> > Looks like your keyboard has bug when it crashes on control requests. You
> > can try slowing down the set leds request. Edit
> > "src/sys/dev/usb2/input/ukbd2.c", then lookup:
> >
> > [UKBD_CTRL_LED] = {
> > .type = UE_CONTROL,
> > .endpoint = 0x00, /* Control pipe */
> > .direction = UE_DIR_ANY,
> > .mh.bufsize = sizeof(struct usb2_device_request) + 1,
> > .mh.callback = &ukbd_set_leds_callback,
> > .mh.timeout = 1000, /* 1 second */
> > },
> >
> > Add:
> > .interval = 10, /* 10 milliseconds */
> >
> > Try different interval values in the range 10 to 500 ms.
> >
> > --HPS
>
> It was actually, just in case,
> .mh.interval = 10, /* 10 milliseconds */
>
> It didn't seem to help.
>
> By the way, this is how dmesg look like from 7.1-RELEASE for the save dev.
> And it is functioning okay on 7.1-RELEASE.
>
> uhub2: <vendor 0x0409 product 0x55ab, class 9/0, rev 1.00/1.00, addr 2> on
> uhub0 uhub2: 4 ports with 4 removable, bus powered
> ukbd0: <Alps Electric M2452, class 0/0, rev 1.00/1.01, addr 3> on uhub2
> kbd2 at ukbd0
>
Hi,
I've looked at the USB code and I cannot find anything wrong. To get more
debugging:
sysctl hw.usb2.ukbd.debug=15
If you press num-lock, does the num-lock led turn on/off ?
Is the behaviour the same for other USB keyboards ?
--HPS
More information about the freebsd-current
mailing list