Proposed patch to get the Microsoft Sidewinder Force Feedback 2 working. Three bugs are addressed:
1) The FF2 driver (usbhid/hid-pidff.c) sends commands to the stick during ff_init. However, this is called inside a block where driver_input_lock is locked, so the results of these initial commands are discarded. This one is the "killer", without this nothing else works. 2) The usbhid driver ignores an endpoint stall when sending control commands, causing the first few commands of the hid-pidff.c initialisation to get lost. 3) The FF2 driver does not set the effect ID when uploading an effect. The result is that the initial upload works but subsequent uploads to modify effect parameters are all directed at the last-created effect. Patch created against kernel 3.13.0 . ** Patch added: "swff2.patch" https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1035723/+attachment/4300116/+files/swff2.patch -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1035723 Title: Joystick (SideWinder FF2) Force Feedback doesn't reset properly Status in linux package in Ubuntu: Expired Bug description: I've been trying to get the FF to work on my SideWinder Force Feedback 2 joystick without success so far. This is what I get when I try to test it: [code] ~$ sudo fftest /dev/input/event4 Force feedback test program. HOLD FIRMLY YOUR WHEEL OR JOYSTICK TO PREVENT DAMAGES Device /dev/input/event4 opened Axes query: Effects: Constant Periodic Spring Friction Number of simultaneous effects: 0 Upload effects[0]: Function not implemented Upload effects[1]: Function not implemented Upload effects[2]: Function not implemented Upload effects[3]: Function not implemented Upload effects[4]: Function not implemented Upload effects[5]: Function not implemented Enter effect number, -1 to exit [/code] When I try any of the effects it does not do anything. When I plug it in the USB port it shows this in the 'dmesg' output: [code] [ 170.280024] usb 4-2: new full-speed USB device number 2 using uhci_hcd [ 170.489878] input: Microsoft SideWinder Force Feedback 2 Joystick as /devices/pci0000:00/0000:00:1a.1/usb4/4-2/4-2:1.0/input/input4 [ 170.521795] generic-usb 0003:045E:001B.0003: device reports 0 simultaneous effects [ 170.582764] generic-usb 0003:045E:001B.0003: pid_block_load failed 60 times [ 170.582768] generic-usb 0003:045E:001B.0003: upload request failed [ 170.582774] generic-usb 0003:045E:001B.0003: input,hidraw2: USB HID v1.00 Joystick [Microsoft SideWinder Force Feedback 2 Joystick] on usb-0000:00:1a.1-2/input0 [/code] This tells me that the kernel modules are present and being executed. It's using the 'hid-pidff' driver and I found that the message about '0 simultaneous effects' is generated here: file: drivers/hid/usbhid/hid-pidff.c line: 1178, function pidff_reset From the code I can see it should at least find 2 simultaneous effects, but it finds none and after 20 retries it fails and continues. After this, I leave my comfort zone, but I am happy to debug (with some assistance) and try anything out. Maybe you'll be able to convert me from being a Windows developer to a Linux developer :) Cheers ProblemType: Bug DistroRelease: Ubuntu 12.04 Package: linux-image-3.2.0-29-generic 3.2.0-29.46 ProcVersionSignature: Ubuntu 3.2.0-29.46-generic 3.2.24 Uname: Linux 3.2.0-29-generic i686 AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24. ApportVersion: 2.0.1-0ubuntu12 Architecture: i386 ArecordDevices: **** List of CAPTURE Hardware Devices **** card 0: Intel [HDA Intel], device 0: AD198x Analog [AD198x Analog] Subdevices: 2/2 Subdevice #0: subdevice #0 Subdevice #1: subdevice #1 AudioDevicesInUse: USER PID ACCESS COMMAND /dev/snd/controlC0: marijn 1970 F.... pulseaudio /dev/snd/pcmC0D0p: marijn 1970 F...m pulseaudio CRDA: Error: command ['iw', 'reg', 'get'] failed with exit code 1: nl80211 not found. Card0.Amixer.info: Card hw:0 'Intel'/'HDA Intel at 0xfe9dc000 irq 44' Mixer name : 'Analog Devices AD1984' Components : 'HDA:11d41984,10280211,00100400' Controls : 30 Simple ctrls : 18 Date: Sat Aug 11 20:33:24 2012 HibernationDevice: RESUME=UUID=d05e0608-7ccc-4d87-ac0c-994266652f47 InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Release i386 (20110427.1) IwConfig: lo no wireless extensions. virbr0 no wireless extensions. eth0 no wireless extensions. MachineType: Dell Inc. OptiPlex 755 ProcEnviron: LANGUAGE=en_GB:en TERM=xterm PATH=(custom, user) LANG=en_GB.UTF-8 SHELL=/bin/bash ProcFB: 0 inteldrmfb ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.2.0-29-generic root=UUID=99e917a5-032c-416b-ab03-af8b02651198 ro crashkernel=384M-2G:64M,2G-:128M quiet splash vt.handoff=7 RelatedPackageVersions: linux-restricted-modules-3.2.0-29-generic N/A linux-backports-modules-3.2.0-29-generic N/A linux-firmware 1.79 RfKill: SourcePackage: linux UpgradeStatus: Upgraded to precise on 2012-04-25 (108 days ago) dmi.bios.date: 05/31/2011 dmi.bios.vendor: Dell Inc. dmi.bios.version: A19 dmi.board.name: 0PU052 dmi.board.vendor: Dell Inc. dmi.chassis.type: 15 dmi.chassis.vendor: Dell Inc. dmi.modalias: dmi:bvnDellInc.:bvrA19:bd05/31/2011:svnDellInc.:pnOptiPlex755:pvr:rvnDellInc.:rn0PU052:rvr:cvnDellInc.:ct15:cvr: dmi.product.name: OptiPlex 755 dmi.sys.vendor: Dell Inc. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1035723/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp