Bug 28912
Summary: | Wireless Mobile Mouse 6000 recognised as joystick | ||
---|---|---|---|
Product: | Drivers | Reporter: | Julian Sikorski (belegdol) |
Component: | Input Devices | Assignee: | drivers_input-devices |
Status: | REOPENED --- | ||
Severity: | normal | CC: | alan, alexanderemmanuelpacheco, alexhultman, betaversiondot, chibiriak, daniel.eric.lynn, denilsonsa, dmitry.torokhov, dor.askayo, ghallberg, jckeerthan, jufofu, killertofu, leslie_alistair, netbox253, pepe, samuel-kbugs, thomas.langkamp, timo.jyrinki, wade |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 4.0.1 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: | /proc/bus/input/devices |
Description
Julian Sikorski
2011-02-11 22:41:20 UTC
Same behavior on gentoo (using kernel 2.6.37.6) with Microsoft Wireless Optical Desktop keyboard and mouse combo, seems to be an old bug, see [1]. [1] http://forums.gentoo.org/viewtopic-t-362032.html Collected some similar downstream bugs to be duplicates of the following bug report: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/390959 Closing as obsolete, if this is still seen on modern kernels please update Still a problem here on 3.10 series. Please reopen. Thanks Problem still exists with latest kernel (3.15) Still happens in 3.16.1. confirmed with 3.16.4 and A4tech X7 mouse (openSUSE Factory x64) workaround: sudo rm /dev/input/js0 But this has to be done after every reboot. A google for "linux recognize mouse as joystick" for example gives you many results of many people experiencing this, some even with keyboards as joysticks on all Distros. I found that this bug exists at least since 2010: http://forums.fedoraforum.org/archive/index.php/t-240201.html "Hello, I have the mouse X7, model XL-750F from A4tech. This mouse was running with Fedora 10 without any problems. Now I have installed Fedora 12 and my mouse pointer always moves to one side or corner of the screen. My second Logitech mouse is working fine. But it is a little bit old. So, if anyone can help my with my A4tech mouse ... " Workaround for MS Sculpt Ergonomic Desktop: https://forum.manjaro.org/index.php?PHPSESSID=edmjqlp8356fi33uc12ag0hfj0&topic=15275 updated today to 3.17.1 - still there workaround is nice, but not a solution for the average user... what logs etc do you need to fix this? And this is still an issue in 3.18.2 No change in 3.19.3. Would love for it to get some more attention. Chiming in to note this also effects Microsoft Mouse 4000 (Model 1383) as well as many other Microsoft-brand wireless devices. Relevant: https://bugzilla.kernel.org/show_bug.cgi?id=37982 and a Ubuntu bug report dating back to 2009 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/390959 This is pretty huge for anyone with a Microsoft mouse, as it renders many games unplayable. Workarounds exist but involving udev rules but they are device specific and have mixed results. Still happens in 4.0.1. It's getting absurd at this point. As a workaround, I tried collecting several Vendor/Product IDs that trigger this bug, and created a udev rule for disabling the joystick device for them. I'm sharing this udev rule file at: https://gist.github.com/denilsonsa/978f1d842cf5430f57f6 What is the /proc/bus/input/devices for that mouse please? Created attachment 177051 [details] /proc/bus/input/devices I have a "Microsoft Wireless Desktop 800", which is a tiny wireless receiver for both mouse and keyboard. It gets detected as a joystick with several axes (besides the normal mouse and keyboard). I also have a "Wacom Graphire 4" tablet, that also gets detected as a joystick. Right now I'm using Ubuntu 15.04 with Linux kernel 3.19.0, but this bug exists for several years. Relevant lsusb lines: Bus 001 Device 004: ID 045e:0745 Microsoft Corp. Nano Transceiver v1.0 for Bluetooth Bus 001 Device 003: ID 056a:0016 Wacom Co., Ltd Graphire 4 6x8 I also remember that the following project also got (incorrectly) detected as a joystick: https://bitbucket.org/denilsonsa/atmega8-magnetometer-usb-mouse https://github.com/denilsonsa/atmega8-magnetometer-usb-mouse However, I can't provide more info on it because I don't have the hardware anymore and it happened 4 years ago. If you really really want, I can hack that project again on a breadboard, but it might take a while. Still, if you need more info regarding the Microsoft wireless keyboard/mouse, or regarding the Wacom tablet, just ask and I can provide right away. Ubuntu 15.04 bug exist with A4Tech X7 mouse: dmesg: [ 684.641672] usb 1-2.1: new full-speed USB device number 6 using ehci-pci [ 684.914756] usb 1-2.1: New USB device found, idVendor=09da, idProduct=8090 [ 684.914761] usb 1-2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 684.914764] usb 1-2.1: Product: USB Full Speed [ 684.914765] usb 1-2.1: Manufacturer: A4Tech [ 684.916844] input: A4Tech USB Full Speed as /devices/pci0000:00/0000:00:12.2/usb1/1-2/1-2.1/1-2.1:1.0/0003:09DA:8090.0006/input/input18 [ 684.917106] hid-generic 0003:09DA:8090.0006: input,hidraw1: USB HID v1.11 Mouse [A4Tech USB Full Speed] on usb-0000:00:12.2-2.1/input0 [ 684.919709] input: A4Tech USB Full Speed as /devices/pci0000:00/0000:00:12.2/usb1/1-2/1-2.1/1-2.1:1.1/0003:09DA:8090.0007/input/input19 [ 685.025280] hid-generic 0003:09DA:8090.0007: input,hiddev0,hidraw2: USB HID v1.11 Keyboard [A4Tech USB Full Speed] on usb-0000:00:12.2-2.1/input1 lsusb: Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 002: ID 058f:6364 Alcor Micro Corp. AU6477 Card Reader Controller Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 003: ID 07d1:3a10 D-Link System DWA-126 802.11n Wireless Adapter [Atheros AR9271] Bus 001 Device 005: ID 062a:0201 Creative Labs Defender Office Keyboard (K7310) S Zodiak KM-9010 Bus 001 Device 006: ID 09da:8090 A4 Tech Co., Ltd X-718BK Oscar Optical Gaming Mouse <---------------- This is my mouse Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub (In reply to Denilson Figueiredo de Sá from comment #15) > As a workaround, I tried collecting several Vendor/Product IDs that trigger > this bug, and created a udev rule for disabling the joystick device for > them. I'm sharing this udev rule file at: > https://gist.github.com/denilsonsa/978f1d842cf5430f57f6 Thanx! There is A4Tech X7 mouse with that bug: ---------------------------------------LSUSB-------------- Bus 001 Device 006: ID 09da:8090 A4 Tech Co., Ltd X-718BK Oscar Optical Gaming Mouse ---------------------------------------DMESG------------- new full-speed USB device number 6 using ehci-pci [ 684.914756] usb 1-2.1: New USB device found, idVendor=09da, idProduct=8090 [ 684.914761] usb 1-2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 684.914764] usb 1-2.1: Product: USB Full Speed [ 684.914765] usb 1-2.1: Manufacturer: A4Tech [ 684.916844] input: A4Tech USB Full Speed as /devices/pci0000:00/0000:00:12.2/usb1/1-2/1-2.1/1-2.1:1.0/0003:09DA:8090.0006/input/input18 [ 684.917106] hid-generic 0003:09DA:8090.0006: input,hidraw1: USB HID v1.11 Mouse [A4Tech USB Full Speed] on usb-0000:00:12.2-2.1/input0 [ 684.919709] input: A4Tech USB Full Speed as /devices/pci0000:00/0000:00:12.2/usb1/1-2/1-2.1/1-2.1:1.1/0003:09DA:8090.0007/input/input19 [ 685.025280] hid-generic 0003:09DA:8090.0007: input,hiddev0,hidraw2: USB HID v1.11 Keyboard [A4Tech USB Full Speed] on usb-0000:00:12.2-2.1/input1 Is there anything one can do to get some attention to this bug? Even with disabling access to the /dev nodes, the mere presence of these bad "joysticks" causes havoc with other gamepads (at least the XBOX360 wireless ones). The Cooler Master Mizar mouse is facing the same issues. Here is a link to the Valve bug report: https://github.com/ValveSoftware/steam-for-linux/issues/3943 This is still an issue in Linux 4.2.3. For those inclined to work on kernel code, the following is a good starting point to understanding why current devices are detected as joysticks: * [1] drivers/input/joydev.c:joydev_ids[] * [2] drivers/input/joydev.c:joydev_match() * [3] drivers/input/joydev.c:joydev_dev_is_absolute_mouse() Looking at these three, it appears a joystick device will be created for input devices which have any of the following events... * ABS_X * ABS_WHEEL * ABS_THROTTLE * BTN_JOYSTICK * BTN_GAMEPAD * BTN_TRIGGER_HAPPY ... *unless* one of the following is also present (or the device appears to be a an "absolute mouse") * BTN_TOUCH * BTN_DIGI (aka BTN_TOOL_PEN) (You can use a tool like "evemu-record" to determine the events that are sent from specific /dev/input/event* devices) Possible solutions would be to improve the the filtering by adding additional checks that filter out the problem devices without preventing legitimate joysticks from appearing; altering the input/HID drivers that add these events if some events are added incorrectly; or adding a blacklist table to joydev.c that prevents the driver from matching devices with specific IDs. [1]: http://lxr.free-electrons.com/source/drivers/input/joydev.c#L942 [2]: http://lxr.free-electrons.com/source/drivers/input/joydev.c#L798 [3]: http://lxr.free-electrons.com/source/drivers/input/joydev.c#L740 |