Re: usb/181425: USB keyboard with full N-key rollover not working

2013-08-27 Thread Mark Felder
On Wed, Aug 21, 2013, at 7:54, Mark Felder wrote:
> On Wed, Aug 21, 2013, at 6:55, Julian Elischer wrote:
> >
> > tried a different usb port? (some bios are set up to only look for 
> > stuff on one port)
> > 
> 
> I've tried every USB port on this machine with no luck. It's probably a
> Dell BIOS bug and something to do with this keyboard needing more power
> than most.
>

FYI, a BIOS update to A10 on this Optiplex 390 finally fixed it! I've
tried several with no luck, but this one finally did it. Hopefully
someone googling this issue will stumble upon this message :)
___
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"


Re: usb/181425: USB keyboard with full N-key rollover not working

2013-08-21 Thread Mark Felder
On Wed, Aug 21, 2013, at 6:55, Julian Elischer wrote:
>
> tried a different usb port? (some bios are set up to only look for 
> stuff on one port)
> 

I've tried every USB port on this machine with no luck. It's probably a
Dell BIOS bug and something to do with this keyboard needing more power
than most.
___
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"


Re: usb/181425: USB keyboard with full N-key rollover not working

2013-08-21 Thread Julian Elischer

On 8/20/13 8:02 PM, Mark Felder wrote:

I have an opposite problem on my Dell workstation: my keyboard with
N-key rollover doesn't work in BIOS or FreeBSD boot menu, but does work
after the kernel is loaded...

I didn't know keyboards could be problematic.
___
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"

tried a different usb port? (some bios are set up to only look for 
stuff on one port)


___
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"


Re: usb/181425: USB keyboard with full N-key rollover not working

2013-08-20 Thread Andrey Zholos
The following reply was made to PR usb/181425; it has been noted by GNATS.

From: Andrey Zholos 
To: Hans Petter Selasky 
Cc: freebsd-gnats-sub...@freebsd.org
Subject: Re: usb/181425: USB keyboard with full N-key rollover not working
Date: Tue, 20 Aug 2013 16:12:25 +0300

 > Have you looked into the USB HID specification from USB.org regarding 
 > this? I think USB keyboard stuff is explicitly defined. You are right 
 > that we don't support more than a few simultaneously pressed keys, and 
 > that would reguire a bit more changes in ukbd driver.
 
 Yes, I looked, it was interesting. I was kind of disappointed
 afterwards when I realized that the drivers (not just the kernel but
 uhidd and Linux) supported just a specific subset of the possible
 descriptors.
 
 > Instead of applying a quirk, maybe ukbd.c could switch to boot-proto 
 > automatically when HIO_VARIABLE is set? It is simply a so-called USB 
 > control request.
 
 Exactly! That's the point of the patch.
 
 The descriptor parser currently assumes that if a keyboard usage range
 starts at 0, then it must be an array of bytes. It should also make
 sure that flags doesn't have HIO_VARIABLE (check added by this patch),
 and maybe that sc_loc_events.size == 8.
 
 The actual switch to boot protocol happens at ukbd.c:1241 - not because
 of a quirk, but be because now, with this additional check,
 !(sc->sc_flags & UKBD_FLAG_EVENTS).
 
 > I'm not sure if it is better to use uhidd or ukbd for the purpose you 
 > want to use the keyboard.
 
 Probably uhidd is the best place for full rollover support. It's needed
 anyway to support the multimedia keys. But currently it makes the same
 assumptions as ukbd about the events buffer and so doesn't work.
 
 Of course, ukbd has to work with the keyboard at least in boot protocol,
 otherwise you need to use a different keyboard to install uhidd.
___
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"


Re: usb/181425: USB keyboard with full N-key rollover not working

2013-08-20 Thread Mark Felder
I have an opposite problem on my Dell workstation: my keyboard with
N-key rollover doesn't work in BIOS or FreeBSD boot menu, but does work
after the kernel is loaded...

I didn't know keyboards could be problematic.
___
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"


Re: usb/181425: USB keyboard with full N-key rollover not working

2013-08-20 Thread Hans Petter Selasky
The following reply was made to PR usb/181425; it has been noted by GNATS.

From: Hans Petter Selasky 
To: Andrey Zholos 
Cc: freebsd-gnats-sub...@freebsd.org
Subject: Re: usb/181425: USB keyboard with full N-key rollover not working
Date: Tue, 20 Aug 2013 13:56:13 +0200

 Hi,
 
 Have you looked into the USB HID specification from USB.org regarding 
 this? I think USB keyboard stuff is explicitly defined. You are right 
 that we don't support more than a few simultaneously pressed keys, and 
 that would reguire a bit more changes in ukbd driver.
 
 Instead of applying a quirk, maybe ukbd.c could switch to boot-proto 
 automatically when HIO_VARIABLE is set? It is simply a so-called USB 
 control request.
 
 I'm not sure if it is better to use uhidd or ukbd for the purpose you 
 want to use the keyboard.
 
 Thank you for your investigation!
 
 --HPS
 
 >
 > Ideally I would like to get this keyboard to work in normal protocol
 > with full rollover for perfectionist reasons, but I guess that would
 > require too many changes to ukbd.c and introduce overhead for the
 > majority of keyboards.
 >
 >
 > Patch attached with submission follows:
 >
 > --- sys/dev/usb/input/ukbd.c (revision 254515)
 > +++ sys/dev/usb/input/ukbd.c (working copy)
 > @@ -1130,8 +1130,12 @@
 >  HID_USAGE2(HUP_KEYBOARD, 0x00),
 >  hid_input, 0, &sc->sc_loc_events, &flags,
 >  &sc->sc_id_events)) {
 > -sc->sc_flags |= UKBD_FLAG_EVENTS;
 > -DPRINTFN(1, "Found keyboard events\n");
 > +if (flags & HIO_VARIABLE)
 > +DPRINTFN(1, "Ignoring key bitmap\n");
 > +else {
 > +sc->sc_flags |= UKBD_FLAG_EVENTS;
 > +DPRINTFN(1, "Found keyboard events\n");
 > +}
 >  }
 >
 >  /* figure out leds on keyboard */
 >
 
___
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"