Force Feedback for Thrustmaster RGT Pro Clutch Pedal Edition racing wheel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear all,


I'm trying to get force feedback activated on this quite wonderful racing wheel (http://www.thrustmaster.com/product.aspx?ProductID=8&PlatformID=5).


Based on the thread started by Gerald Folcher of 16 Jul 2007 (force feedback for Thrustmaster FGT Wheel) and subsequent patches, I've added following USB id's :

(patches against 2.6.25, but I've already tested with 2.6.26.3)

diff -uNrp kernel-2.6.25.orig/drivers/hid/usbhid/hid-ff.c kernel-2.6.25.new/drivers/hid/usbhid/hid-ff.c --- kernel-2.6.25.orig/drivers/hid/usbhid/hid-ff.c 2008-04-17 04:49:44.000000000 +0200 +++ kernel-2.6.25.new/drivers/hid/usbhid/hid-ff.c 2008-09-09 16:56:34.000000000 +0200
@@ -62,11 +62,13 @@ static struct hid_ff_initializer inits[]
#ifdef CONFIG_PANTHERLORD_FF
       { 0x810, 0x0001, hid_plff_init }, /* "Twin USB Joystick" */
{ 0xe8f, 0x0003, hid_plff_init }, /* "GreenAsia Inc. USB Joystick " */ + { 0xe8f, 0x0012, hid_plff_init }, /* "GreenAsia Inc. USB Joystick " */
#endif
#ifdef CONFIG_THRUSTMASTER_FF
       { 0x44f, 0xb300, hid_tmff_init },
       { 0x44f, 0xb304, hid_tmff_init },
       { 0x44f, 0xb651, hid_tmff_init }, /* FGT Rumble Force Wheel */
+ { 0x44f, 0xb653, hid_tmff_init }, /* Thrustmaster RGT Force Feedback Pro Clutch Edition */
       { 0x44f, 0xb654, hid_tmff_init }, /* FGT Force Feedback Wheel */
#endif
#ifdef CONFIG_ZEROPLUS_FF
diff -uNrp kernel-2.6.25.orig/drivers/hid/usbhid/hid-tmff.c kernel-2.6.25.new/drivers/hid/usbhid/hid-tmff.c --- kernel-2.6.25.orig/drivers/hid/usbhid/hid-tmff.c 2008-04-17 04:49:44.000000000 +0200 +++ kernel-2.6.25.new/drivers/hid/usbhid/hid-tmff.c 2008-09-09 17:00:45.000000000 +0200
@@ -58,6 +58,7 @@ static const struct dev_type devices[] =
       { 0x44f, 0xb300, ff_rumble },
       { 0x44f, 0xb304, ff_rumble },
       { 0x44f, 0xb651, ff_rumble },   /* FGT Rumble Force Wheel */
+ { 0x44f, 0xb653, ff_joystick }, /* Thrustmaster RGT Force Feedback Pro Clutch Edition */
       { 0x44f, 0xb654, ff_joystick }, /* FGT Force Feedback Wheel */
};


Unfortunately, this yields no improvement : no force feedback is sent to the wheel (tested with ff-utils).

/var/log/messages :

Sep 10 08:46:40 moewelstat1 kernel: usb 1-4.3: new low speed USB device using ehci_hcd and address 17 Sep 10 08:46:40 moewelstat1 kernel: usb 1-4.3: configuration #1 chosen from 1 choice Sep 10 08:46:40 moewelstat1 kernel: input: Thrustmaster Thrustmaster force feedback wheel as /class/input/input13 Sep 10 08:46:40 moewelstat1 kernel: drivers/hid/usbhid/hid-tmff.c: ignoring unknown output usage 000f0022 Sep 10 08:46:40 moewelstat1 kernel: drivers/hid/usbhid/hid-tmff.c: ignoring unknown output usage 000f0050 Sep 10 08:46:40 moewelstat1 kernel: drivers/hid/usbhid/hid-tmff.c: ignoring unknown output usage 000f0022 Sep 10 08:46:40 moewelstat1 kernel: drivers/hid/usbhid/hid-tmff.c: ignoring unknown output usage 000f0060 Sep 10 08:46:40 moewelstat1 kernel: drivers/hid/usbhid/hid-tmff.c: ignoring unknown output usage 000f0063 Sep 10 08:46:40 moewelstat1 kernel: drivers/hid/usbhid/hid-tmff.c: ignoring unknown output usage 000f0022 Sep 10 08:46:40 moewelstat1 kernel: drivers/hid/usbhid/hid-tmff.c: ignoring unknown output usage 000f0070 Sep 10 08:46:40 moewelstat1 kernel: drivers/hid/usbhid/hid-tmff.c: ignoring unknown output usage 000f0022 Sep 10 08:46:40 moewelstat1 kernel: drivers/hid/usbhid/hid-tmff.c: ignoring unknown output usage 000f0079 Sep 10 08:46:40 moewelstat1 kernel: drivers/hid/usbhid/hid-tmff.c: ignoring unknown output usage 000f0097 Sep 10 08:46:40 moewelstat1 kernel: drivers/hid/usbhid/hid-tmff.c: Force feedback for ThrustMaster devices by Zinx Verituse <zinx@xxxxxxxxxxx> Sep 10 08:46:40 moewelstat1 kernel: input,hidraw0: USB HID v1.10 Joystick [Thrustmaster Thrustmaster force feedback wheel] on usb-0000:00:02.1-4.3 Sep 10 08:46:40 moewelstat1 kernel: usb 1-4.3: New USB device found, idVendor=044f, idProduct=b653 Sep 10 08:46:40 moewelstat1 kernel: usb 1-4.3: New USB device strings: Mfr=3, Product=1, SerialNumber=0 Sep 10 08:46:40 moewelstat1 kernel: usb 1-4.3: Product: Thrustmaster force feedback wheel
Sep 10 08:46:40 moewelstat1 kernel: usb 1-4.3: Manufacturer: Thrustmaster


Changing the hid-tmff.c code to forcibly run the THRUSTMASTER_USAGE_FF clause (preventing 'ignoring unknown output usage') yields :

Sep 12 20:50:59 moewelstat1 kernel: input: Thrustmaster Thrustmaster force feedback wheel as /class/input/input7 Sep 12 20:50:59 moewelstat1 kernel: usbhid: ignoring FF field with report_count < 2
Sep 12 20:50:59 moewelstat1 kernel:last message repeated 2 times
Sep 12 20:50:59 moewelstat1 kernel: usbhid: ignoring FF field in other report Sep 12 20:50:59 moewelstat1 kernel: usbhid: ignoring FF field in other report Sep 12 20:50:59 moewelstat1 kernel: usbhid: ignoring FF field with report_count < 2
Sep 12 20:51:00 moewelstat1 kernel:last message repeated 4 times
Sep 12 20:50:59 moewelstat1 kernel: usbhid: Force feedback for ThrustMaster devices by Zinx Verituse <zinx@xxxxxxxxxxx>


Please find in attachment kernel DEBUG output from dmesg , /var/log/messages and output from the ff-utils evtest application.



Of course, I'm eager to supply test feedback in case anybody feels compelled to provide me with some corrective code patches (please note I'm not truly acquainted with C code, though). If required, I could run USB snooping with the Windows Thrustmaster drivers through a VMware session.



As I'm not currently subscribed to linux-input, CC: to moensd@xxxxxxxxx would be much appreciated.


Best regards and thank you in advance,
Didier

usb 2-6: new low speed USB device using ohci_hcd and address 4
usb 2-6: configuration #1 chosen from 1 choice
drivers/hid/usbhid/hid-core.c: HID probe called for ifnum 0
drivers/hid/usbhid/hid-core.c: report descriptor (size 455, read 455) =  05 01 09 04 a1 01 09 01 a1 00 85 81 06 00 ff 15 00 27 ff ff 00 00 09 01 09 02 75 10 95 02 b1 a2 09 03 09 04 85 82 25 7f 75 08 95 02 b1 02 85 01 05 09 19 01 29 0a 25 01 75 01 95 0a 81 02 05 01 09 39 25 07 35 00 46 3b 01 65 14 95 01 75 04 81 42 09 30 46 ff 03 16 00 fe 26 ff 01 65 00 75 0a 95 01 81 02 09 31 46 ff 00 15 00 26 ff 00 75 08 81 02 09 35 81 02 09 36 81 02 09 37 81 02 c0 85 40 09 bb 15 00 26 ff 00 35 00 46 ff 00 75 08 95 04 91 02 05 0f 09 21 a1 02 85 41 09 22 15 01 25 04 75 08 95 01 91 02 09 50 15 00 25 7f 35 00 46 c0 1f 75 08 66 03 10 55 0d 95 01 91 02 c0 09 5f a1 02 85 43 09 22 15 01 25 04 75 08 95 01 91 02 09 60 09 61 09 62 15 80 25 7f 95 03 91 02 09 63 09 64 09 65 15 00 91 02 c0 09 73 a1 02 85 45 09 22 15 01 25 04 75 08 95 01 91 02 09 70 15 80 25 7f 75 08 91 02 c0 09 77 a1 02 85 4a 09 22 15 01 25 04 75 08 95 01 91 02 09 78 a1 02 09 79 09 7a 09 7b 25 03 75 08 91 00 c0 c0 09 92 a1 02 85 88 09 22 15 01 25 04 75 08 b1 02 09 94 09 a0 09 9f 15 00 25 01 75 01 95 03 b1 02 95 05 b1 03 c0 09 95 a1 02 85 4b 09 96 a1 02 09 97 09 98 09 99 09 9a 09 9b 09 9c 15 01 25 06 75 08 95 01 91 00 c0 c0 09 ab a1 02 85 85 09 25 a1 02 09 26 09 40 15 01 25 02 75 08 95 01 b1 00 c0 c0 09 89 a1 02 85 86 09 22 15 01 25 04 75 08 95 01 b1 02 09 8b a1 02 09 8c 09 8d 09 8e 15 01 25 03 75 08 95 01 b1 00 c0 c0 09 90 a1 02 85 87 09 22 15 01 25 04 75 08 95 01 b1 02 c0 c0
drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Get_Report wValue=0x0101 wIndex=0x0000 wLength=8
drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Get_Report wValue=0x0381 wIndex=0x0000 wLength=5
drivers/hid/hid-core.c: report (size 5) (numbered)
drivers/hid/hid-core.c: report 129 (size 4) =  01 21 ff ff
drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Get_Report wValue=0x0382 wIndex=0x0000 wLength=3
drivers/hid/hid-core.c: report (size 3) (numbered)
drivers/hid/hid-core.c: report 130 (size 2) =  50 5a
drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Get_Report wValue=0x0388 wIndex=0x0000 wLength=3
drivers/hid/hid-core.c: report (size 3) (numbered)
drivers/hid/hid-core.c: report 136 (size 2) =  00 02
drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Get_Report wValue=0x0385 wIndex=0x0000 wLength=2
drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Get_Report wValue=0x0386 wIndex=0x0000 wLength=3
drivers/hid/hid-core.c: report (size 3) (numbered)
drivers/hid/hid-core.c: report 134 (size 2) =  00 01
drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Get_Report wValue=0x0387 wIndex=0x0000 wLength=2
  INPUT(1)[INPUT]
    Field(0)
      Physical(GenericDesktop.Pointer)
      Usage(10)
        Button.0001
        Button.0002
        Button.0003
        Button.0004
        Button.0005
        Button.0006
        Button.0007
        Button.0008
        Button.0009
        Button.000a
      Logical Minimum(0)
      Logical Maximum(1)
      Report Size(1)
      Report Count(10)
      Report Offset(0)
      Flags( Variable Absolute )
    Field(1)
      Physical(GenericDesktop.Pointer)
      Usage(1)
        GenericDesktop.HatSwitch
      Logical Minimum(0)
      Logical Maximum(7)
      Physical Minimum(0)
      Physical Maximum(315)
      Unit(English Rotation : Degrees)
      Report Size(4)
      Report Count(1)
      Report Offset(10)
      Flags( Variable Absolute NullState )
    Field(2)
      Physical(GenericDesktop.Pointer)
      Usage(1)
        GenericDesktop.X
      Logical Minimum(-512)
      Logical Maximum(511)
      Physical Minimum(0)
      Physical Maximum(1023)
      Report Size(10)
      Report Count(1)
      Report Offset(14)
      Flags( Variable Absolute )
    Field(3)
      Physical(GenericDesktop.Pointer)
      Usage(1)
        GenericDesktop.Y
      Logical Minimum(0)
      Logical Maximum(255)
      Physical Minimum(0)
      Physical Maximum(255)
      Report Size(8)
      Report Count(1)
      Report Offset(24)
      Flags( Variable Absolute )
    Field(4)
      Physical(GenericDesktop.Pointer)
      Usage(1)
        GenericDesktop.Rz
      Logical Minimum(0)
      Logical Maximum(255)
      Physical Minimum(0)
      Physical Maximum(255)
      Report Size(8)
      Report Count(1)
      Report Offset(32)
      Flags( Variable Absolute )
    Field(5)
      Physical(GenericDesktop.Pointer)
      Usage(1)
        GenericDesktop.Slider
      Logical Minimum(0)
      Logical Maximum(255)
      Physical Minimum(0)
      Physical Maximum(255)
      Report Size(8)
      Report Count(1)
      Report Offset(40)
      Flags( Variable Absolute )
    Field(6)
      Physical(GenericDesktop.Pointer)
      Usage(1)
        GenericDesktop.Dial
      Logical Minimum(0)
      Logical Maximum(255)
      Physical Minimum(0)
      Physical Maximum(255)
      Report Size(8)
      Report Count(1)
      Report Offset(48)
      Flags( Variable Absolute )
  OUTPUT(64)[OUTPUT]
    Field(0)
      Usage(4)
        GenericDesktop.00bb
        GenericDesktop.00bb
        GenericDesktop.00bb
        GenericDesktop.00bb
      Logical Minimum(0)
      Logical Maximum(255)
      Physical Minimum(0)
      Physical Maximum(255)
      Report Size(8)
      Report Count(4)
      Report Offset(0)
      Flags( Variable Absolute )
  OUTPUT(65)[OUTPUT]
    Field(0)
      Logical(PhysicalInterfaceDevice.0021)
      Usage(1)
        PhysicalInterfaceDevice.0022
      Logical Minimum(1)
      Logical Maximum(4)
      Physical Minimum(0)
      Physical Maximum(255)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Variable Absolute )
    Field(1)
      Logical(PhysicalInterfaceDevice.0021)
      Usage(1)
        PhysicalInterfaceDevice.0050
      Logical Minimum(0)
      Logical Maximum(127)
      Physical Minimum(0)
      Physical Maximum(8128)
      Unit Exponent(13)
      Unit(English Linear : Seconds)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Variable Absolute )
  OUTPUT(67)[OUTPUT]
    Field(0)
      Logical(PhysicalInterfaceDevice.005f)
      Usage(1)
        PhysicalInterfaceDevice.0022
      Logical Minimum(1)
      Logical Maximum(4)
      Physical Minimum(0)
      Physical Maximum(8128)
      Unit Exponent(13)
      Unit(English Linear : Seconds)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Variable Absolute )
    Field(1)
      Logical(PhysicalInterfaceDevice.005f)
      Usage(3)
        PhysicalInterfaceDevice.0060
        PhysicalInterfaceDevice.0061
        PhysicalInterfaceDevice.0062
      Logical Minimum(-128)
      Logical Maximum(127)
      Physical Minimum(0)
      Physical Maximum(8128)
      Unit Exponent(13)
      Unit(English Linear : Seconds)
      Report Size(8)
      Report Count(3)
      Report Offset(8)
      Flags( Variable Absolute )
    Field(2)
      Logical(PhysicalInterfaceDevice.005f)
      Usage(3)
        PhysicalInterfaceDevice.0063
        PhysicalInterfaceDevice.0064
        PhysicalInterfaceDevice.0065
      Logical Minimum(0)
      Logical Maximum(127)
      Physical Minimum(0)
      Physical Maximum(8128)
      Unit Exponent(13)
      Unit(English Linear : Seconds)
      Report Size(8)
      Report Count(3)
      Report Offset(32)
      Flags( Variable Absolute )
  OUTPUT(69)[OUTPUT]
    Field(0)
      Logical(PhysicalInterfaceDevice.0073)
      Usage(1)
        PhysicalInterfaceDevice.0022
      Logical Minimum(1)
      Logical Maximum(4)
      Physical Minimum(0)
      Physical Maximum(8128)
      Unit Exponent(13)
      Unit(English Linear : Seconds)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Variable Absolute )
    Field(1)
      Logical(PhysicalInterfaceDevice.0073)
      Usage(1)
        PhysicalInterfaceDevice.0070
      Logical Minimum(-128)
      Logical Maximum(127)
      Physical Minimum(0)
      Physical Maximum(8128)
      Unit Exponent(13)
      Unit(English Linear : Seconds)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Variable Absolute )
  OUTPUT(74)[OUTPUT]
    Field(0)
      Logical(PhysicalInterfaceDevice.0077)
      Usage(1)
        PhysicalInterfaceDevice.0022
      Logical Minimum(1)
      Logical Maximum(4)
      Physical Minimum(0)
      Physical Maximum(8128)
      Unit Exponent(13)
      Unit(English Linear : Seconds)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Variable Absolute )
    Field(1)
      Logical(PhysicalInterfaceDevice.0078)
      Usage(3)
        PhysicalInterfaceDevice.0079
        PhysicalInterfaceDevice.007a
        PhysicalInterfaceDevice.007b
      Logical Minimum(1)
      Logical Maximum(3)
      Physical Minimum(0)
      Physical Maximum(8128)
      Unit Exponent(13)
      Unit(English Linear : Seconds)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
  OUTPUT(75)[OUTPUT]
    Field(0)
      Logical(PhysicalInterfaceDevice.0096)
      Usage(6)
        PhysicalInterfaceDevice.0097
        PhysicalInterfaceDevice.0098
        PhysicalInterfaceDevice.0099
        PhysicalInterfaceDevice.009a
        PhysicalInterfaceDevice.009b
        PhysicalInterfaceDevice.009c
      Logical Minimum(1)
      Logical Maximum(6)
      Physical Minimum(0)
      Physical Maximum(8128)
      Unit Exponent(13)
      Unit(English Linear : Seconds)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
  FEATURE(129)[FEATURE]
    Field(0)
      Physical(GenericDesktop.Pointer)
      Usage(2)
        ff00.0001
        ff00.0002
      Logical Minimum(0)
      Logical Maximum(65535)
      Report Size(16)
      Report Count(2)
      Report Offset(0)
      Flags( Variable Absolute NoPreferredState Volatile )
  FEATURE(130)[FEATURE]
    Field(0)
      Physical(GenericDesktop.Pointer)
      Usage(2)
        ff00.0003
        ff00.0004
      Logical Minimum(0)
      Logical Maximum(127)
      Report Size(8)
      Report Count(2)
      Report Offset(0)
      Flags( Variable Absolute )
  FEATURE(136)[FEATURE]
    Field(0)
      Logical(PhysicalInterfaceDevice.0092)
      Usage(1)
        PhysicalInterfaceDevice.0022
      Logical Minimum(1)
      Logical Maximum(4)
      Physical Minimum(0)
      Physical Maximum(8128)
      Unit Exponent(13)
      Unit(English Linear : Seconds)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Variable Absolute )
    Field(1)
      Logical(PhysicalInterfaceDevice.0092)
      Usage(3)
        PhysicalInterfaceDevice.0094
        PhysicalInterfaceDevice.00a0
        PhysicalInterfaceDevice.009f
      Logical Minimum(0)
      Logical Maximum(1)
      Physical Minimum(0)
      Physical Maximum(8128)
      Unit Exponent(13)
      Unit(English Linear : Seconds)
      Report Size(1)
      Report Count(3)
      Report Offset(8)
      Flags( Variable Absolute )
  FEATURE(133)[FEATURE]
    Field(0)
      Logical(PhysicalInterfaceDevice.0025)
      Usage(2)
        PhysicalInterfaceDevice.0026
        PhysicalInterfaceDevice.0040
      Logical Minimum(1)
      Logical Maximum(2)
      Physical Minimum(0)
      Physical Maximum(8128)
      Unit Exponent(13)
      Unit(English Linear : Seconds)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
  FEATURE(134)[FEATURE]
    Field(0)
      Logical(PhysicalInterfaceDevice.0089)
      Usage(1)
        PhysicalInterfaceDevice.0022
      Logical Minimum(1)
      Logical Maximum(4)
      Physical Minimum(0)
      Physical Maximum(8128)
      Unit Exponent(13)
      Unit(English Linear : Seconds)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Variable Absolute )
    Field(1)
      Logical(PhysicalInterfaceDevice.008b)
      Usage(3)
        PhysicalInterfaceDevice.008c
        PhysicalInterfaceDevice.008d
        PhysicalInterfaceDevice.008e
      Logical Minimum(1)
      Logical Maximum(3)
      Physical Minimum(0)
      Physical Maximum(8128)
      Unit Exponent(13)
      Unit(English Linear : Seconds)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
  FEATURE(135)[FEATURE]
    Field(0)
      Logical(PhysicalInterfaceDevice.0090)
      Usage(1)
        PhysicalInterfaceDevice.0022
      Logical Minimum(1)
      Logical Maximum(4)
      Physical Minimum(0)
      Physical Maximum(8128)
      Unit Exponent(13)
      Unit(English Linear : Seconds)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Variable Absolute )
drivers/hid/hid-input.c: Mapping: Button.0001 ---> Key.Trigger
drivers/hid/hid-input.c: Mapping: Button.0002 ---> Key.ThumbBtn
drivers/hid/hid-input.c: Mapping: Button.0003 ---> Key.ThumbBtn2
drivers/hid/hid-input.c: Mapping: Button.0004 ---> Key.TopBtn
drivers/hid/hid-input.c: Mapping: Button.0005 ---> Key.TopBtn2
drivers/hid/hid-input.c: Mapping: Button.0006 ---> Key.PinkieBtn
drivers/hid/hid-input.c: Mapping: Button.0007 ---> Key.BaseBtn
drivers/hid/hid-input.c: Mapping: Button.0008 ---> Key.BaseBtn2
drivers/hid/hid-input.c: Mapping: Button.0009 ---> Key.BaseBtn3
drivers/hid/hid-input.c: Mapping: Button.000a ---> Key.BaseBtn4
drivers/hid/hid-input.c: Mapping: GenericDesktop.HatSwitch ---> Absolute.Hat0X
drivers/hid/hid-input.c: Mapping: GenericDesktop.X ---> Absolute.X
drivers/hid/hid-input.c: Mapping: GenericDesktop.Y ---> Absolute.Y
drivers/hid/hid-input.c: Mapping: GenericDesktop.Rz ---> Absolute.Rz
drivers/hid/hid-input.c: Mapping: GenericDesktop.Slider ---> Absolute.Throttle
drivers/hid/hid-input.c: Mapping: GenericDesktop.Dial ---> Absolute.Rudder
drivers/hid/hid-input.c: Mapping: GenericDesktop.00bb --->  [non-LED output field] IGNORED
drivers/hid/hid-input.c: Mapping: GenericDesktop.00bb --->  [non-LED output field] IGNORED
drivers/hid/hid-input.c: Mapping: GenericDesktop.00bb --->  [non-LED output field] IGNORED
drivers/hid/hid-input.c: Mapping: GenericDesktop.00bb --->  [non-LED output field] IGNORED
drivers/hid/hid-input.c: Mapping: PhysicalInterfaceDevice.0022 --->  [non-LED output field] IGNORED
drivers/hid/hid-input.c: Mapping: PhysicalInterfaceDevice.0050 --->  [non-LED output field] IGNORED
drivers/hid/hid-input.c: Mapping: PhysicalInterfaceDevice.0022 --->  [non-LED output field] IGNORED
drivers/hid/hid-input.c: Mapping: PhysicalInterfaceDevice.0060 --->  [non-LED output field] IGNORED
drivers/hid/hid-input.c: Mapping: PhysicalInterfaceDevice.0061 --->  [non-LED output field] IGNORED
drivers/hid/hid-input.c: Mapping: PhysicalInterfaceDevice.0062 --->  [non-LED output field] IGNORED
drivers/hid/hid-input.c: Mapping: PhysicalInterfaceDevice.0063 --->  [non-LED output field] IGNORED
drivers/hid/hid-input.c: Mapping: PhysicalInterfaceDevice.0064 --->  [non-LED output field] IGNORED
drivers/hid/hid-input.c: Mapping: PhysicalInterfaceDevice.0065 --->  [non-LED output field] IGNORED
drivers/hid/hid-input.c: Mapping: PhysicalInterfaceDevice.0022 --->  [non-LED output field] IGNORED
drivers/hid/hid-input.c: Mapping: PhysicalInterfaceDevice.0070 --->  [non-LED output field] IGNORED
drivers/hid/hid-input.c: Mapping: PhysicalInterfaceDevice.0022 --->  [non-LED output field] IGNORED
drivers/hid/hid-input.c: Mapping: PhysicalInterfaceDevice.0079 --->  [non-LED output field] IGNORED
drivers/hid/hid-input.c: Mapping: PhysicalInterfaceDevice.007a --->  [non-LED output field] IGNORED
drivers/hid/hid-input.c: Mapping: PhysicalInterfaceDevice.007b --->  [non-LED output field] IGNORED
drivers/hid/hid-input.c: Mapping: PhysicalInterfaceDevice.0097 --->  [non-LED output field] IGNORED
drivers/hid/hid-input.c: Mapping: PhysicalInterfaceDevice.0098 --->  [non-LED output field] IGNORED
drivers/hid/hid-input.c: Mapping: PhysicalInterfaceDevice.0099 --->  [non-LED output field] IGNORED
drivers/hid/hid-input.c: Mapping: PhysicalInterfaceDevice.009a --->  [non-LED output field] IGNORED
drivers/hid/hid-input.c: Mapping: PhysicalInterfaceDevice.009b --->  [non-LED output field] IGNORED
drivers/hid/hid-input.c: Mapping: PhysicalInterfaceDevice.009c --->  [non-LED output field] IGNORED
input: Thrustmaster Thrustmaster force feedback wheel as /class/input/input8
usbhid: ignoring FF field with report_count < 2
usbhid: ignoring FF field with report_count < 2
usbhid: ignoring FF field with report_count < 2
usbhid: ignoring FF field in other report
usbhid: ignoring FF field in other report
usbhid: ignoring FF field with report_count < 2
usbhid: ignoring FF field with report_count < 2
usbhid: ignoring FF field with report_count < 2
usbhid: ignoring FF field with report_count < 2
usbhid: ignoring FF field with report_count < 2
usbhid: Force feedback for ThrustMaster devices by Zinx Verituse <zinx@xxxxxxxxxxx>
input,hidraw0: USB HID v1.10 Joystick [Thrustmaster Thrustmaster force feedback wheel] on usb-0000:00:02.0-6
usb 2-6: New USB device found, idVendor=044f, idProduct=b653
usb 2-6: New USB device strings: Mfr=3, Product=1, SerialNumber=0
usb 2-6: Product: Thrustmaster force feedback wheel
usb 2-6: Manufacturer: Thrustmaster

Sep 13 14:18:43 moewelstat1 kernel: usb 2-6: new low speed USB device using ohci_hcd and address 4
Sep 13 14:18:44 moewelstat1 kernel: usb 2-6: configuration #1 chosen from 1 choice
Sep 13 14:18:44 moewelstat1 kernel:  25 04 75 08 b1 02 09 94 09 a0 09 9f 15 00 25 01 75 01 95 03 b1 02 95 05 b1 03 c0 09 95 a1 02 85 4b 09 96 a1 02 09 97 09 98 09 99 09 9a 09 9b 09 9c 15 01 25 06 75 08 95 01 91 00 c0 c0 09 ab a1 02 85 85 09 25 a1 02 09 26 09 40 15 01 25 02 75 08 95 01 b1 00 c0 c0 09 89 a1 02 85 86 09 22 15 01 25 04 75 08 95 01 b1 02 09 8b a1 02 09 8c 09 8d 09 8e 15 01 25 03 75 08 95 01 b1 00 c0 c0 09 90 a1 02 85 87 09 22 15 01 25 04 75 08 95 01 b1 02 c0 c0
Sep 13 14:18:44 moewelstat1 kernel: input: Thrustmaster Thrustmaster force feedback wheel as /class/input/input8
Sep 13 14:18:44 moewelstat1 kernel: usbhid: ignoring FF field with report_count < 2
Sep 13 14:18:44 moewelstat1 kernel:last message repeated 2 times
Sep 13 14:18:44 moewelstat1 kernel: usbhid: ignoring FF field in other report
Sep 13 14:18:44 moewelstat1 kernel: usbhid: ignoring FF field in other report
Sep 13 14:18:44 moewelstat1 kernel: usbhid: ignoring FF field with report_count < 2
Sep 13 14:18:44 moewelstat1 kernel:last message repeated 4 times
Sep 13 14:18:44 moewelstat1 kernel: usbhid: Force feedback for ThrustMaster devices by Zinx Verituse <zinx@xxxxxxxxxxx>
Sep 13 14:18:44 moewelstat1 kernel: input,hidraw0: USB HID v1.10 Joystick [Thrustmaster Thrustmaster force feedback wheel] on usb-0000:00:02.0-6
Sep 13 14:18:44 moewelstat1 kernel: usb 2-6: New USB device found, idVendor=044f, idProduct=b653
Sep 13 14:18:44 moewelstat1 kernel: usb 2-6: New USB device strings: Mfr=3, Product=1, SerialNumber=0
Sep 13 14:18:44 moewelstat1 kernel: usb 2-6: Product: Thrustmaster force feedback wheel
Sep 13 14:18:44 moewelstat1 kernel: usb 2-6: Manufacturer: Thrustmaster

Input driver version is 1.0.0
Input device ID: bus 0x3 vendor 0x44f product 0xb653 version 0x110
Input device name: "Thrustmaster Thrustmaster force feedback wheel"
Supported events:
  Event type 0 (Reset)
    Event code 0 (Reset)
    Event code 1 (Key)
    Event code 3 (Absolute)
    Event code 4 (?)
    Event code 21 (ForceFeedback)
  Event type 1 (Key)
    Event code 288 (Trigger)
    Event code 289 (ThumbBtn)
    Event code 290 (ThumbBtn2)
    Event code 291 (TopBtn)
    Event code 292 (TopBtn2)
    Event code 293 (PinkieBtn)
    Event code 294 (BaseBtn)
    Event code 295 (BaseBtn2)
    Event code 296 (BaseBtn3)
    Event code 297 (BaseBtn4)
  Event type 3 (Absolute)
    Event code 0 (X)
      Value      0
      Min     -512
      Max      511
      Fuzz       3
      Flat      63
    Event code 1 (Y)
      Value      0
      Min        0
      Max      255
      Flat      15
    Event code 5 (Rz)
      Value      0
      Min        0
      Max      255
      Flat      15
    Event code 6 (Throttle)
      Value      0
      Min        0
      Max      255
      Flat      15
    Event code 7 (Rudder)
      Value      0
      Min        0
      Max      255
      Flat      15
    Event code 16 (Hat0X)
      Value      0
      Min       -1
      Max        1
    Event code 17 (Hat0Y)
      Value      0
      Min       -1
      Max        1
  Event type 4 (?)
    Event code 4 (?)
  Event type 21 (ForceFeedback)
    Event code 82 (?)
    Event code 96 (?)
Testing ... (interrupt to exit)
Event: time 1221308641.483012, type 4 (?), code 4 (?), value 589834
Event: time 1221308641.483018, type 1 (Key), code 297 (BaseBtn4), value 1
Event: time 1221308641.483022, type 3 (Absolute), code 0 (X), value 39
Event: time 1221308641.483025, type 3 (Absolute), code 1 (Y), value 243
Event: time 1221308641.483027, type 3 (Absolute), code 5 (Rz), value 4
Event: time 1221308641.483030, type 3 (Absolute), code 6 (Throttle), value 253
Event: time 1221308641.483033, type 0 (Reset), code 0 (Reset), value 0
Event: time 1221308641.498997, type 4 (?), code 4 (?), value 589834
Event: time 1221308641.499002, type 1 (Key), code 297 (BaseBtn4), value 0
Event: time 1221308641.499005, type 3 (Absolute), code 0 (X), value 8
Event: time 1221308641.499007, type 3 (Absolute), code 1 (Y), value 255
Event: time 1221308641.499010, type 3 (Absolute), code 5 (Rz), value 255
Event: time 1221308641.499012, type 3 (Absolute), code 6 (Throttle), value 255
Event: time 1221308641.499014, type 3 (Absolute), code 7 (Rudder), value 255
Event: time 1221308641.499016, type 0 (Reset), code 0 (Reset), value 0
Event: time 1221308641.514999, type 3 (Absolute), code 0 (X), value -512
Event: time 1221308641.515005, type 0 (Reset), code 0 (Reset), value 0

[snip]
...


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux