1. 07 Jun, 2011 2 commits
    • Michael Bauer's avatar
      HID: Fix Logitech Driving Force Pro wheel · dc0a4f0c
      Michael Bauer authored
      - Add the quirk "NOGET" to make the wheel work at all in native mode.
      - Replace the somehow broken report descriptor with a custom one to have
        separate throttle and brake axes.
      
      As there are significant differences in the descriptor (original descriptor
      "hides" the separate axes in a  24 bit FF00 usagepage, new descripter replaces
      that with two individual 8 bit desktop.y and desktop.rz usages) I provided a
      complete replacement descriptor instead trying to patch the original one.
      Patching the descriptor seems not feasible as the new one is much larger.
      
      Note: To actually test this you have to use the tool "ltwheelconf" to put the
      DFP into it's native mode - See below for more info.
      
      Background:
      Most Logitech wheels are initially reporting themselves with a "fallback"
      deviceID (USB_DEVICE_ID_LOGITECH_WHEEL - 0xc294), in order to make sure they
      are working even without having the proper driver installed.
      
      If the Logitech driver is installed it sends a special command to the wheel
      which sets the wheel to "native mode", enabling enhance features like:
      - Clutch pedal
      - extended wheel rotation range (up to 900 degrees)
      - H-gate shifter
      - separate axis for throttle / brake
      - all buttons
      
      When the wheel is set to native mode it basically disconnects and reconnects
      with a different deviceID (USB_DEVICE_ID_LOGITECH_DFP_WHEEL - 0xc298 in this
      case).
      
      I am working on a userspace tool [1] which does the switching from fallback to
      native mode. During development I found out that the Driving Force Pro wheel
      is not supported in native mode - quierk NOGET is missing and the throttle and
      brake axes are reported in a combined way only.
      Signed-off-by: default avatarMichael Bauer <michael@m-bauer.org>
      Signed-off-by: default avatarSimon Wood <simon@mungewell.org>
      
      [1] https://github.com/TripleSpeeder/LTWheelConfSigned-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      dc0a4f0c
    • Tomoki Sekiyama's avatar
      HID: yurex: recognize GeneralKeys wireless presenter as generic HID · 6dc1418e
      Tomoki Sekiyama authored
      Unfortunately, the device seems to have the same Vendor ID and Product ID
      as YUREX leg-shakes sensors, and the commit 6bc235a2 ("USB: add driver
      for Meywa-Denki & Kayac YUREX") added the ID to hid_ignore_list.
      
      I believe that we can distinguish YUREX and the Wireless Presenter by
      device type.  The patch below makes the driver ignore only YUREX
      (bInterfaceProtocol==0), and recognize Wireless Presenter
      (bInterfaceProtocol is keyboard or mouse) as generic HID.  (I don't have
      the Wireless Presenter, so not yet ested.)
      
      ** YUREX lsusb information:
      Bus 002 Device 007: ID 0c45:1010 Microdia
      Device Descriptor:
         bLength                18
         bDescriptorType         1
         bcdUSB               1.10
         bDeviceClass            0 (Defined at Interface level)
         bDeviceSubClass         0
         bDeviceProtocol         0
         bMaxPacketSize0         8
         idVendor           0x0c45 Microdia
         idProduct          0x1010
         bcdDevice            0.03
         iManufacturer           1 JESS
         iProduct                2 YUREX
         iSerial                 3 10000269
         bNumConfigurations      1
         Configuration Descriptor:
           bLength                 9
           bDescriptorType         2
           wTotalLength           34
           bNumInterfaces          1
           bConfigurationValue     1
           iConfiguration          0
           bmAttributes         0xa0
             (Bus Powered)
             Remote Wakeup
           MaxPower              100mA
           Interface Descriptor:
             bLength                 9
             bDescriptorType         4
             bInterfaceNumber        0
             bAlternateSetting       0
             bNumEndpoints           1
             bInterfaceClass         3 Human Interface Device
             bInterfaceSubClass      1 Boot Interface Subclass
             bInterfaceProtocol      0 None
             iInterface              0
               HID Device Descriptor:
                 bLength                 9
                 bDescriptorType        33
                 bcdHID               1.10
                 bCountryCode            0 Not supported
                 bNumDescriptors         1
                 bDescriptorType        34 Report
                 wDescriptorLength      31
                Report Descriptors:
                  ** UNAVAILABLE **
             Endpoint Descriptor:
               bLength                 7
               bDescriptorType         5
               bEndpointAddress     0x81  EP 1 IN
               bmAttributes            3
                 Transfer Type            Interrupt
                 Synch Type               None
                 Usage Type               Data
               wMaxPacketSize     0x0008  1x 8 bytes
               bInterval              10
      Device Status:     0x0002
         (Bus Powered)
         Remote Wakeup Enabled
      
      Addresses https://bugzilla.kernel.org/show_bug.cgi?id=26922Signed-off-by: default avatarTomoki Sekiyama <tomoki.sekiyama@gmail.com>
      Cc: Greg KH <gregkh@suse.de>
      Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
      Cc: Maciej Rutecki <maciej.rutecki@gmail.com>
      Reported-by: default avatarThomas B?chler <thomas@archlinux.org>
      Tested-by: default avatarThomas B?chler <thomas@archlinux.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      6dc1418e
  2. 24 May, 2011 7 commits
  3. 23 May, 2011 31 commits