Bug 90322 - Mouse is broken
Summary: Mouse is broken
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Input/libinput (show other bugs)
Version: unspecified
Hardware: Other Linux (All)
: medium normal
Assignee: Peter Hutterer
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-05-05 18:59 UTC by mail
Modified: 2015-05-21 21:44 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
description (17.13 KB, text/plain)
2015-05-19 04:38 UTC, mail
no flags Details
evemu-record (446.54 KB, text/plain)
2015-05-19 04:38 UTC, mail
no flags Details
0001-Only-init-abs-axes-if-we-don-t-have-acceleration.patch (2.50 KB, patch)
2015-05-20 04:34 UTC, Peter Hutterer
no flags Details | Splinter Review

Description mail 2015-05-05 18:59:22 UTC
I followed the instructions, but to no effect.

[root@localhost ~]# mouse-dpi-tool  /dev/input/event7
Mouse Microsoft Microsoft® 2.4GHz Transceiver V1.0 on /dev/input/event7
Move the device 250mm/10in or more along the x-axis.
Pause 3 seconds before movement to reset, Ctrl+C to exit.
Covered distance in device units:     9837 at frequency 142.9Hz |       /^C
Estimated sampling frequency: 142Hz
To calculate resolution, measure physical distance covered
and look up the matching resolution in the table below
     624mm	   24.59in	     400dpi
     416mm	   16.39in	     600dpi
     312mm	   12.30in	     800dpi
     249mm	    9.84in	    1000dpi
     208mm	    8.20in	    1200dpi
     178mm	    7.03in	    1400dpi
     156mm	    6.15in	    1600dpi
     138mm	    5.46in	    1800dpi
     124mm	    4.92in	    2000dpi
     113mm	    4.47in	    2200dpi
     104mm	    4.10in	    2400dpi
If your resolution is not in the list, calculate it with:
	resolution=9837/inches, or
	resolution=9837 * 25.4/mm

Entry for hwdb match (replace XXX with the resolution in DPI):
mouse:usb:v045ep071d:name:Microsoft Microsoft® 2.4GHz Transceiver V1.0:
 MOUSE_DPI=XXX@142

[root@localhost ~]# cat /usr/lib/udev/hwdb.d/71-mouse-local.hwdb 
mouse:usb:v045ep071d:name:Microsoft Microsoft® 2.4GHz Transceiver V1.0:
 MOUSE_DPI=1000@142
[root@localhost ~]#

But no MOUSE_DPI shows up:

udevadm info /dev/input/event7 | grep MOUSE_DPI

[root@localhost ~]# udevadm info /dev/input/event7
P: /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1:1.1/0003:045E:071D.0003/input/input9/event7
N: input/event7
S: input/by-id/usb-Microsoft_Microsoft®_2.4GHz_Transceiver_V1.0-if01-event-mouse
S: input/by-path/pci-0000:00:1a.0-usb-0:1.1.1:1.1-event-mouse
E: DEVLINKS=/dev/input/by-id/usb-Microsoft_Microsoft®_2.4GHz_Transceiver_V1.0-if01-event-mouse /dev/input/by-path/pci-0000:00:1a.0-usb-0:1.1.1:1.1-event-mouse
E: DEVNAME=/dev/input/event7
E: DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1:1.1/0003:045E:071D.0003/input/input9/event7
E: ID_BUS=usb
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_INPUT_KEYBOARD=1
E: ID_INPUT_MOUSE=1
E: ID_MODEL=Microsoft®_2.4GHz_Transceiver_V1.0
E: ID_MODEL_ENC=Microsoft®\x202.4GHz\x20Transceiver\x20V1.0
E: ID_MODEL_ID=071d
E: ID_PATH=pci-0000:00:1a.0-usb-0:1.1.1:1.1
E: ID_PATH_TAG=pci-0000_00_1a_0-usb-0_1_1_1_1_1
E: ID_REVISION=0270
E: ID_SERIAL=Microsoft_Microsoft®_2.4GHz_Transceiver_V1.0
E: ID_TYPE=hid
E: ID_USB_DRIVER=usbhid
E: ID_USB_INTERFACES=:030101:030000:
E: ID_USB_INTERFACE_NUM=01
E: ID_VENDOR=Microsoft
E: ID_VENDOR_ENC=Microsoft
E: ID_VENDOR_ID=045e
E: LIBINPUT_DEVICE_GROUP=usb-0000:00:1a.0-1.1
E: MAJOR=13
E: MINOR=71
E: SUBSYSTEM=input
E: USEC_INITIALIZED=98450

I'm running Fedora 23 beta.
The mouse is a wireless MS Laser mouse 6000 V2.0 with an USB dongle.

Regards,
Robert
Comment 1 Peter Hutterer 2015-05-05 21:26:27 UTC
did you run:
  sudo udevadm hwdb --update


Run udev hwdb --test="mouse:usb:v045ep071d:name:Microsoft Microsoft® 2.4GHz Transceiver V1.0:", if that doesn't show anything then it's not yet picked up by the hwdb. If it does, run udevadm test /sys/class/input/eventX and check for any errors in there.
Comment 2 mail 2015-05-06 06:14:58 UTC
Yes, I did run udevadm trigger and I rebootet the system, several times in trying to fix the problem.

udevadm hwdb --test... does not show any result.

[root@localhost ~]# udevadm hwdb --test="mouse:usb:v045ep071d:name:Microsoft Microsoft® 2.4GHz Transceiver V1.0:"
[root@localhost ~]# 

[root@localhost ~]# cat /usr/lib/udev/hwdb.d/71-mouse-local.hwdb 
mouse:usb:v045ep071d:name:Microsoft Microsoft® 2.4GHz Transceiver V1.0:
 MOUSE_DPI=1000@142
[root@localhost ~]# 

[root@localhost ~]# lsusb
Bus 001 Device 005: ID 045e:071d Microsoft Corp. 
[root@localhost ~]# 

[root@localhost ~]# lsusb -v -s 1:5

Bus 001 Device 005: ID 045e:071d Microsoft Corp. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x045e Microsoft Corp.
  idProduct          0x071d 
  bcdDevice            2.70
  iManufacturer           1 Microsoft
  iProduct                2 Microsoft® 2.4GHz Transceiver V1.0
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           59
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      63
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     571
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
Device Status:     0x0000
  (Bus Powered)
[root@localhost ~]# 

It's this device:

http://www.microsoft.com/hardware/en-ie/p/wireless-laser-desktop-6000

Mouse is ok in Gnome on Wayland and in GDM. But after login the mouse becomes unusable. Both running on Fedora 22 Beta.
Comment 3 Peter Hutterer 2015-05-06 06:34:02 UTC
(In reply to mail from comment #2)
> Mouse is ok in Gnome on Wayland and in GDM. But after login the mouse
> becomes unusable. Both running on Fedora 22 Beta.

wait, really? That would actually indicate that libinput is working just fine and that something in the xorg stack has issues. also, reading the hwdb entry again: libinput assumes 1000dpi as default and ignores the frequency, so even if the hwdb entry is recognised it won't change the behaviour, you're just re-setting the defaults.

anyway, found the issue: the (R) sign. replace that with a * in the hwdb entry and it should work (at least it does here):
mouse:usb:v045ep071d:name:Microsoft Microsoft* 2.4GHz Transceiver V1.0:
 MOUSE_DPI=1000@142

might want to file a new systemd bug for that, we should be able to handle 'funky' signs like this...
I'll move this bug over to some xorg product once I know what exactly is happening. so first question: what's the output of xinput list-props "device name"?
Comment 4 mail 2015-05-06 16:02:46 UTC
[root@localhost ~]# xinput list-props "pointer:Microsoft Microsoft® 2.4GHz Transceiver V1.0"
Device 'Microsoft Microsoft® 2.4GHz Transceiver V1.0':
	Device Enabled (136):	1
	Coordinate Transformation Matrix (138):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	libinput Calibration Matrix (274):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	libinput Calibration Matrix Default (275):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	libinput Accel Speed (276):	0.151079
	libinput Accel Speed Default (277):	0.000000
	libinput Natural Scrolling Enabled (278):	0
	libinput Natural Scrolling Enabled Default (279):	0
	libinput Send Events Modes Available (257):	1, 0
	libinput Send Events Mode Enabled (258):	0, 0
	libinput Send Events Mode Enabled Default (259):	0, 0
	libinput Left Handed Enabled (280):	0
	libinput Left Handed Enabled Default (281):	0
	libinput Scroll Methods Available (282):	0, 0, 1
	libinput Scroll Method Enabled (283):	0, 0, 0
	Device Node (260):	"/dev/input/event6"
	Device Product ID (261):	1118, 1821
[root@localhost ~]#
Comment 5 mail 2015-05-10 04:26:27 UTC
Anything I can help with ? This non-working mouse is really really annoying.
Comment 6 Peter Hutterer 2015-05-18 06:56:51 UTC
two things: file a separate bug for the issue with the ® please, against systemd.

the other thing: record your device and some movements with evemu-record and attach the output here. I'm assuming by "is broken" you mean it doesn't move, or doesn't move correctly, right?
Comment 7 mail 2015-05-19 04:30:17 UTC
I already reported the funky device string problem: 

https://bugs.freedesktop.org/show_bug.cgi?id=90343
Comment 8 mail 2015-05-19 04:38:06 UTC
Created attachment 115888 [details]
description
Comment 9 mail 2015-05-19 04:38:32 UTC
Created attachment 115889 [details]
evemu-record
Comment 10 mail 2015-05-19 04:41:08 UTC
yes. Broken means the movement is very slow. I have to move the mouse about a meter to cross the screen once.
Comment 11 Peter Hutterer 2015-05-19 07:05:23 UTC
ok, this is a problem in the xorg libinput driver, the device is set up as absolute device and thus the scaling happens in the server, and is incorrect. To make sure, please attach the output of xinput list "device name" here.
Comment 12 mail 2015-05-19 19:28:51 UTC
[root@localhost ~]# xinput list 
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft® 2.4GHz Transceiver V1.0	id=11	[slave  pointer  (2)]
⎜   ↳ AlpsPS/2 ALPS DualPoint TouchPad        	id=14	[slave  pointer  (2)]
⎜   ↳ AlpsPS/2 ALPS DualPoint Stick           	id=15	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Video Bus                               	id=7	[slave  keyboard (3)]
    ↳ Power Button                            	id=8	[slave  keyboard (3)]
    ↳ Sleep Button                            	id=9	[slave  keyboard (3)]
    ↳ Microsoft Microsoft® 2.4GHz Transceiver V1.0	id=10	[slave  keyboard (3)]
    ↳ UVC Camera (046d:08c9)                  	id=12	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=13	[slave  keyboard (3)]
    ↳ Dell WMI hotkeys                        	id=16	[slave  keyboard (3)]
[root@localhost ~]# xinput list pointer:"Microsoft Microsoft® 2.4GHz Transceiver V1.0"
Microsoft Microsoft® 2.4GHz Transceiver V1.0	id=11	[slave  pointer  (2)]
	Reporting 8 classes:
		Class originated from: 11. Type: XIButtonClass
		Buttons supported: 9
		Button labels: "Button Left" "Button Middle" "Button Right" "Button Wheel Up" "Button Wheel Down" "Button Horiz Wheel Left" "Button Horiz Wheel Right" "Button Side" "Button Extra"
		Button state:
		Class originated from: 11. Type: XIKeyClass
		Keycodes supported: 248
		Class originated from: 11. Type: XIValuatorClass
		Detail for Valuator 0:
		  Label: Abs X
		  Range: 0.000000 - 65535.000000
		  Resolution: 0 units/m
		  Mode: absolute
		  Current value: 2778.000000
		Class originated from: 11. Type: XIValuatorClass
		Detail for Valuator 1:
		  Label: Abs Y
		  Range: 0.000000 - 65535.000000
		  Resolution: 0 units/m
		  Mode: absolute
		  Current value: 21595.000000
		Class originated from: 11. Type: XIValuatorClass
		Detail for Valuator 2:
		  Label: Rel Horiz Scroll
		  Range: -1.000000 - -1.000000
		  Resolution: 0 units/m
		  Mode: relative
		Class originated from: 11. Type: XIValuatorClass
		Detail for Valuator 3:
		  Label: Rel Vert Scroll
		  Range: -1.000000 - -1.000000
		  Resolution: 0 units/m
		  Mode: relative
		Class originated from: 11. Type: XIScrollClass
		Scroll info for Valuator 2
		  type: 2 (horizontal)
		  increment: 15.000000
		  flags: 0x0
		Class originated from: 11. Type: XIScrollClass
		Scroll info for Valuator 3
		  type: 1 (vertical)
		  increment: 15.000000
		  flags: 0x0

[root@localhost ~]#
Comment 13 Peter Hutterer 2015-05-20 04:34:54 UTC
Created attachment 115906 [details] [review]
0001-Only-init-abs-axes-if-we-don-t-have-acceleration.patch

give this one a try please, thanks.
Comment 14 mail 2015-05-20 19:31:23 UTC
Applied the patch to

xorg-x11-drv-libinput-0.9.0-1.fc22.x86_64.rpm and installed it.

Works like a charm. Many thanks.
Comment 15 Peter Hutterer 2015-05-21 00:34:46 UTC
thanks, sent it to the list to get some more eyeballs on it
http://patchwork.freedesktop.org/patch/50062/
Comment 16 Peter Hutterer 2015-05-21 21:44:54 UTC
commit 3d6afca975e5c54d458974ca2e9ada3df209587c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed May 20 13:22:45 2015 +1000

    Only init abs axes if we don't have acceleration


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.