Re: USB2 - keyboard error

From: Yoshihiro Ota <ota_at_j.email.ne.jp>
Date: Sat, 14 Feb 2009 11:31:39 -0500
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

Regards,
Hiro
Received on Sat Feb 14 2009 - 15:31:47 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:42 UTC