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

Bug#341035: kernel-source-2.6.8: [PATCH] CH Products USB yoke and pedals recognized but frozen by SET_IDLE



Package: kernel-source-2.6.8
Version: 2.6.8-16
Severity: normal
Tags: patch

The devices
Bus 004 Device 003: ID 068e:00ff CH Products, Inc. Flight Sim Yoke
Bus 004 Device 002: ID 068e:00f2 CH Products, Inc. Flight Sim Pedals
on my machine get recognized but they don't work. cat'ting the
relevant /dev/input/js* devices reports some initial data,
but no axis or button input on any of them produces any change.
flightgear/fgjs/js_demo don't show any input either.

Following the tip at 
http://www.qbik.ch/usb/devices/showdev.php?id=587
by Alex Perry, I made the following patch that works perfectly
on my system. A better approach would probably be a configure
option if somebody does need that extra SET_IDLE call.

I'm not x-posting to lkml since 2.6.8 is an ancient source (2.6.14
exists today), but since we only have 2.6.8 in debian archive
as of today, I want it available for other Debian users that
might want to solve the same problem.


--- drivers/usb/input/hid-core.c.orig	2005-11-27 23:53:11.838499336 +0200
+++ drivers/usb/input/hid-core.c	2005-11-27 23:53:05.533457848 +0200
@@ -1309,9 +1309,14 @@ void hid_init_reports(struct hid_device 
 	 * bugfree devices and will cause a worst-case extra delay of
 	 * 1ms for buggy ones.
 	 */
+#if 0 /* vassilii: disabled tipped by Alex Perry's report for an equivalent
+       * change of older (2001) source. This allows the USB CH Products
+       * yoke and pedals to work correctly.
+       */
 	usb_control_msg(hid->dev, usb_sndctrlpipe(hid->dev, 0),
 			HID_REQ_SET_IDLE, USB_TYPE_CLASS | USB_RECIP_INTERFACE, (1 << 8),
 			hid->ifnum, NULL, 0, HZ * USB_CTRL_SET_TIMEOUT);
+#endif
 
 	report_enum = hid->report_enum + HID_INPUT_REPORT;
 	list = report_enum->report_list.next;


-- System Information:
Debian Release: 3.1
  APT prefers testing
  APT policy: (400, 'testing'), (300, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.8-ilmarinen
Locale: LANG=ru_RU.KOI8-R, LC_CTYPE=ru_RU.KOI8-R (charmap=KOI8-R)

Versions of packages kernel-source-2.6.8 depends on:
ii  binutils                      2.15-6     The GNU assembler, linker and bina
ii  bzip2                         1.0.2-7    high-quality block-sorting file co
ii  coreutils [fileutils]         5.2.1-2    The GNU core utilities

-- no debconf information



Reply to: