Skip to content
Snippets Groups Projects
  1. Jul 21, 2011
  2. Jul 20, 2011
  3. Jul 14, 2011
  4. Jul 12, 2011
  5. Jul 11, 2011
  6. Jun 27, 2011
  7. Jun 14, 2011
  8. Jun 13, 2011
    • Simon Wood's avatar
      HID: hid-sony: fix endiannes of Sixaxis accel/gyro values · c9e4d877
      Simon Wood authored
      The accelerometers/gyro on the Sixaxis are reported in the wrong
      endianness (ie. not compatible with HID), so this patch intercepts
      the report and swaps the appropriate bytes over.
      
      Accelerometers are scaled with a nominal value of +/-4000 = 1G,
      maximum value would be around +/-32768 = 8G.
      
      Gyro on my device always reports -32768, might need some calibration
      set within the controller.
      
      Fix extracted from previous patch submission:
      https://patchwork.kernel.org/patch/95212/
      
      
      
      Signed-off-by: default avatarMarcin Tolysz <tolysz@gmail.com>
      Signed-off-by: default avatarSimon Wood <simon@mungewell.org>
      Signed-off-by: default avatarAntonio Ospite <ospite@studenti.unina.it>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      c9e4d877
    • Simon Wood's avatar
      HID: hid-sony: amend Sixaxis descriptor to enable accelerometers · 61ab44be
      Simon Wood authored
      
      Modify the HID descriptor of the Sixaxis controller to allow the
      reporting of the accelerometers and gyro via a joystick axis.
      
      Rewrite section from offset 83:
      --
      0x75, 0x08,         /* Report Size (8),         */
      /* all the other data lumped together */
      0x95, 0x27,         /* Report Count (39),       */
      0x09, 0x01,         /* Usage (Pointer),         */
      0x81, 0x02,         /* Input (Variable),        */
      0x75, 0x08,         /* Report Size (8),         */
      0x95, 0x30,         /* Report Count (48),       */
      0x09, 0x01,         /* Usage (Pointer),         */
      /* Note Output */
      0x91, 0x02,         /* Output (Variable),       */
      0x75, 0x08,         /* Report Size (8),         */
      0x95, 0x30,         /* Report Count (48),       */
      0x09, 0x01,         /* Usage (Pointer),         */
      /* Note Feature */
      0xB1, 0x02,         /* Feature (Variable),      */
      --
      with
      --
      /* last 2 not used... */
      0x95, 0x13,         /* Report Count (19),       */
      0x09, 0x01,         /* Usage (Pointer),         */
      0x81, 0x02,         /* Input (Variable),        */
      /* Padding */
      0x95, 0x0C,         /* Report Count (12),       */
      0x81, 0x01,         /* Input (Constant),        */
      0x75, 0x10,         /* Report Size (16),        */
      0x95, 0x04,         /* Report Count (4),        */
      0x26, 0xFF, 0x03,   /* Logical Maximum (1023),  */
      0x46, 0xFF, 0x03,   /* Physical Maximum (1023), */
      0x09, 0x01,         /* Usage (Pointer),         */
      0x81, 0x02,         /* Input (Variable),        */
      --
      
      Signed-off-by: default avatarSimon Wood <simon@mungewell.org>
      Signed-off-by: default avatarAntonio Ospite <ospite@studenti.unina.it>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      61ab44be
  9. Jun 08, 2011
    • Stefan Kriwanek's avatar
      HID: Add driver to fix Speedlink VAD Cezanne support · 74bc6953
      Stefan Kriwanek authored
      
      Speedlink VAD Cezanne have a hardware bug that makes the cursor "jump" from one
      place to another every now and then. The issue are relative motion events
      erroneously reported by the device, each having a distance value of +256. This
      256 can in fact never occur due to real motion, therefore those events can
      safely be ignored.  The driver also drops useless EV_REL events with a value of
      0, that the device sends every time it sends an "real" EV_REL or EV_KEY event.
      
      Signed-off-by: default avatarStefan Kriwanek <mail@stefankriwanek.de>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      74bc6953
  10. Jun 07, 2011
    • 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/LTWheelConf
      
      
      Signed-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=26922
      
      
      
      Signed-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
  11. May 23, 2011
  12. May 20, 2011
  13. May 19, 2011
  14. May 18, 2011
  15. May 09, 2011
  16. May 05, 2011
    • Bruno Prémont's avatar
      HID: picolcd: Avoid compile warning/error triggered by copy_from_user() · 8c4e708d
      Bruno Prémont authored
      
      With CONFIG_DEBUG_STRICT_USER_COPY_CHECKS=y compilation of PicoLCD
      driver fails on copy_from_user(), without it a warning is generated:
      
        CC [M]  drivers/hid/hid-picolcd.o
      In file included from /usr/src/linux-2.6/arch/x86/include/asm/uaccess.h:571,
                       from /usr/src/linux-2.6/arch/x86/include/asm/sections.h:5,
                       from /usr/src/linux-2.6/arch/x86/include/asm/hw_irq.h:26,
                       from /usr/src/linux-2.6/include/linux/irq.h:359,
                       from /usr/src/linux-2.6/arch/x86/include/asm/hardirq.h:5,
                       from /usr/src/linux-2.6/include/linux/hardirq.h:7,
                       from /usr/src/linux-2.6/include/linux/interrupt.h:12,
                       from /usr/src/linux-2.6/include/linux/usb.h:15,
                       from /usr/src/linux-2.6/drivers/hid/hid-picolcd.c:25:
      In function 'copy_from_user',
          inlined from 'picolcd_debug_eeprom_write' at drivers/hid/hid-picolcd.c:1592:
      arch/x86/include/asm/uaccess_32.h:212: error: call to 'copy_from_user_overflow' declared with attribute error: copy_from_user() buffer size is not provably correct
      
      gcc-4.4.5 is not able to track size calculation when it is stored into
      a variable, thus tell copy_from_user() maximum size via
      min(*max-size*, *effective-size*) explicitly and inline how much to copy
      at most.
      
      Signed-off-by: default avatarBruno Prémont <bonbons@linux-vserver.org>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      8c4e708d
  17. May 03, 2011
  18. Apr 29, 2011
  19. Apr 28, 2011
  20. Apr 26, 2011
  21. Apr 22, 2011
  22. Apr 06, 2011
  23. Apr 01, 2011
Loading