Contributed by weerd on 2014-05-05 from the ueber-sympathetic-developers dept.

This weekend, Martin Pieuchot (mpi@) posted to tech with a diff to improve the HID descriptor parser:

In December 2012 a user reported on misc@ that the Noppoo Mini Choc 84 USB keyboard does not work on OpenBSD [0]. More recently, mcbride@ and yasuoka@ contacted me because they have a mouse that is not properly recognized. Both issues are related to our HID descriptor parser.

The diff below is an updated version of a diff I sent one year ago that I forgot because of the lack of feedbacks. Here's the original description of the problem: > The descriptor [of the mouse/keyboard] includes an Item with an Usage > array (Min-Max range) *and* various other single Usage elements. > Unfortunately our HID parser doesn't handle such descriptor, so I > backported FreeBSD's updated version, see below. I'd appreciate if people could test this diff and tell me if it breaks something. I'm also looking for Oks. Martin [0] http://marc.info/?l=openbsd-misc&m=135287138512465&w=2

Amongst all the LibreSSL development, we shouldn't forget about other parts of the tree. Martin has been very actively working on the USB stack for quite some time already, fixing bugs left, right and center in there but also in the networking stack. His work, and the work of others, needs testing on your machines to ensure 5.6 keeps the track record of continual improvements. With basically all modern machines depending on USB in some way, shape or form this diff could very directly affect you, so please test and report your results to mpi@.

To apply this diff to your -current tree:

ftp -o - 'http://marc.info/?l=openbsd-tech&m=139921989726420&q=raw' | (cd /usr/src/sys/dev/usb/; patch)

And follow the usual instructions to build and install a new kernel.