usb/85992: USB stops working when trying to read from a uhid device
on the Saitek Gaming Keyboard
John-Paul Andrusky
jpandrusky at gmail.com
Sun Sep 11 14:10:09 PDT 2005
>Number: 85992
>Category: usb
>Synopsis: USB stops working when trying to read from a uhid device on the Saitek Gaming Keyboard
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-usb
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sun Sep 11 21:10:07 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: John-Paul Andrusky
>Release: Stabel
>Organization:
>Environment:
FreeBSD sol 5.4-STABLE FreeBSD 5.4-STABLE #18: Sun Sep 11 03:17:17 MDT 2005 root at sol:/usr/obj/usr/src/sys/SOL i386
>Description:
When doing a 'cat /dev/uhid2', which is the volume controls on the Saitek Gaming Keyboard, all usb devices stop working till a reboot is done.
>How-To-Repeat:
'cat /dev/uhid2'
press a volume control button on the keyboard
>Fix:
Download the three files below into a new directory and type "make install".
http://home.c2i.net/hselasky/isdn4bsd/privat/temporary/155/Makefile
http://home.c2i.net/hselasky/isdn4bsd/privat/temporary/new_ihfc_1_5_5.tar.bz2
http://home.c2i.net/hselasky/isdn4bsd/privat/temporary/new_ihfc_1_5_5.diff.bz2
Edit "/sys/dev/usb/uhid.c":
Where you find:
sc->sc_isize = hid_report_size(desc, size, hid_input, &sc->sc_iid);
sc->sc_osize = hid_report_size(desc, size, hid_output, &sc->sc_oid);
sc->sc_fsize = hid_report_size(desc, size, hid_feature, &sc->sc_fid);
Add here:
if(sc->sc_isize > UGETW(ed->wMaxPacketSize))
sc->sc_isize = UGETW(ed->wMaxPacketSize);
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-usb
mailing list