Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 4 Mar 2007 00:38:25 +0000
From:      "Mark Hobden" <markhobden@gmail.com>
To:        freebsd-current@freebsd.org
Cc:        freebsd-usb@freebsd.org
Subject:   For Review/Testing: uhidev(4) USB driver level for devices with multiple report ids
Message-ID:  <c57a76300703031638x46a3dcf3v6a1809c05bb7fc08@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
This was originally ported from NetBSD by Maxime Henrion (mux), more recently
I have updated the patch and fixed a few bugs.

Current
  http://www.terinea.co.uk/~mark/patches/uhidev-7-current-p1.diff

Stable (slightly older, should still apply)
  http://www.terinea.co.uk/~mark/patches/uhidev-6-stable-p1.diff

I have also created a patch the gets some Microsoft keyboard/mouse sets and
Microsoft notebook mice working with the uhidev driver. Without this patch
invalid offsets cause the report size to be incorrect. It could make more sense
to change offsets in hid_get_item() instead though. I am sure there will be more
device Id's I have missed if you know of any please email me so I can update
the patch.

For Current and 6-Stable (requires uhidev patch to be applied first)
  http://www.terinea.co.uk/~mark/patches/uhidev-add-ms.diff

The only problem I know of only exists in -CURRENT and is not caused by this
patch. On one of my machines since bus_dmamap_load() was introduced
(May 28 05:27:09) when the keyboard driver calls usbd_set_report_async()
to set the LEDs but nothing happens. If this happens for anyone else the
easiest way around this is to change 'uhidev_set_report_async' to
'uhidev_set_report' which is somewhere around line 1406 of the patched ukbd.c
but if kbdmux is disabled or not loaded this will cause a panic as it will try
and sleep in an interrupt thread.

I am currently working on a version for the "new" USB stack that I will post
when it works.

-- 
Mark



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?c57a76300703031638x46a3dcf3v6a1809c05bb7fc08>