Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 Sep 2005 21:08:49 GMT
From:      John-Paul Andrusky <jpandrusky@gmail.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   usb/85992: USB stops working when trying to read from a uhid device on the Saitek Gaming Keyboard
Message-ID:  <200509112108.j8BL8nln001618@www.freebsd.org>
Resent-Message-ID: <200509112110.j8BLA7c7021602@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>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@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:



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