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

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



Vassilii Khachaturov <vassilii@tarunz.org> wrote:
> 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.

Just a slight clarification, 2.6.8 and 2.4.27 are the kernels for Sarge.
More recent kernels are available in Sid (unstable) and Etch (currently 
testing), and occasionally experimental. There is also a backport of
2.4.12 for Sarge floating about:

http://packages.vergenet.net/sarge-backports/

> --- 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;


That seems fine enough to me. Do you know of any side effects of
using this patch. Or do you considere it a candidate for inclusion
in a Sarge update.


-- 
Horms



Reply to: