Bug 196456 - USB mouse configured with evdev driver stops working after suspend and wake computer.
Summary: USB mouse configured with evdev driver stops working after suspend and wake c...
Status: RESOLVED DUPLICATE of bug 138311
: 196457 (view as bug list)
Alias: None
Product: SUSE Linux 10.1
Classification: openSUSE
Component: X.Org (show other bugs)
Version: Final
Hardware: i686 SuSE Linux 10.1
: P5 - None : Major (vote)
Target Milestone: ---
Assignee: Matthias Hopf
QA Contact: Stefan Dirsch
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-08-02 11:54 UTC by Marek Urbaniak
Modified: 2006-08-23 14:05 UTC (History)
2 users (show)

See Also:
Found By: Customer
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marek Urbaniak 2006-08-02 11:54:51 UTC
I use mouse with 10 buttons. If I configure mouse with mouse driver in xorg.conf file only 5 buttons give events in xev. I read that to get all buttons working evdev driver should be used. So I configured my mouse with evdev driver and all buttons start to give events in xev. But after that some problems occur:
1. When I suspend my laptop and wake it cursor doesn't respond to the movement of mouse. There's no difference if I use suspend to RAM memory or suspend on disc.
2. When I unplug and replug mouse USB receiver cursor doesn't respond to the movement of mouse. This isn't real problem for me because I rather don't unplug and replug receiver during work of system but this problem is in some way similar to the problem from first point so I wrote also about this.
3. When I boot computer with mouse USB receiver unplugged system crash during starting X Window System.

I use SUSE Linux 10.0 with Xorg 6.8.2 but I check if this bug is also in SUSE Linux 10.1 Live-DVD and unfortunately problems for points 1 and 2 also occurs in SUSE 10.1 Live-DVD (I can't check if problem for 3 point also occurs using Live-DVD).

Here is my /etc/X11/xorg.conf file:
# /.../
# SaX generated X11 config file
# Created on: 2006-07-28T13:43:57+0200.
#
# Version: 7.1
# Contact: Marcus Schaefer <sax@suse.de>, 2002
#
# Automatically generated by [ISaX] (7.1)
# PLEASE DO NOT EDIT THIS FILE!
#

Section "Files"
  FontPath     "/usr/X11R6/lib/X11/fonts/misc:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/local"
  FontPath     "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/Type1"
  FontPath     "/usr/X11R6/lib/X11/fonts/URW"
  FontPath     "/usr/X11R6/lib/X11/fonts/Speedo"
  FontPath     "/usr/X11R6/lib/X11/fonts/PEX"
  FontPath     "/usr/X11R6/lib/X11/fonts/cyrillic"
  FontPath     "/usr/X11R6/lib/X11/fonts/latin2/misc:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/latin2/75dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/latin2/100dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/latin2/Type1"
  FontPath     "/usr/X11R6/lib/X11/fonts/latin7/75dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/baekmuk:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/japanese:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/kwintv"
  FontPath     "/usr/X11R6/lib/X11/fonts/truetype"
  FontPath     "/usr/X11R6/lib/X11/fonts/uni:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/CID"
  FontPath     "/usr/X11R6/lib/X11/fonts/ucs/misc:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/ucs/75dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/ucs/100dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/hellas/misc:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/hellas/75dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/hellas/100dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/hellas/Type1"
  FontPath     "/usr/X11R6/lib/X11/fonts/misc/sgi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/xtest"
  FontPath     "/opt/kde3/share/fonts"
  InputDevices "/dev/ttyS0"
  InputDevices "/dev/ttyS1"
  InputDevices "/dev/ttyS2"
  InputDevices "/dev/ttyS3"
  InputDevices "/dev/ttyS4"
  InputDevices "/dev/ttyS5"
  InputDevices "/dev/ttyS6"
  InputDevices "/dev/ttyS7"
  InputDevices "/dev/ttyS8"
  InputDevices "/dev/psaux"
  InputDevices "/dev/logibm"
  InputDevices "/dev/sunmouse"
  InputDevices "/dev/atibm"
  InputDevices "/dev/amigamouse"
  InputDevices "/dev/atarimouse"
  InputDevices "/dev/inportbm"
  InputDevices "/dev/gpmdata"
  InputDevices "/dev/mouse"
  InputDevices "/dev/usbmouse"
  InputDevices "/dev/input/CCP"
  InputDevices "/dev/adbmouse"
  InputDevices "/dev/input/mice"
  InputDevices "/dev/input/event0"
  InputDevices "/dev/pointer0"
  InputDevices "/dev/pointer1"
  InputDevices "/dev/pointer2"
  InputDevices "/dev/pointer3"
EndSection

Section "ServerFlags"
  Option       "AllowMouseOpenFail"
EndSection

Section "Module"
  Load         "freetype"
  Load         "type1"
  Load         "dbe"
  Load         "glx"
  Load         "extmod"
  Load         "v4l"
EndSection

Section "InputDevice"
  Driver       "kbd"
  Identifier   "Keyboard[0]"
  Option       "Protocol" "Standard"
  Option       "XkbLayout" "pl"
  Option       "XkbModel" "pc104"
  Option       "XkbRules" "xfree86"
EndSection

Section "InputDevice"
  Driver       "evdev"
  Identifier   "Mouse[1]"
  Option       "Device" "/dev/input/CCP"
#  Option        "Device Phys"  "usb-0000:00:1d.0-1/input0"
EndSection

#Section "InputDevice"
#  Driver       "mouse"
#  Identifier   "Mouse[5]"
#  Option       "Buttons" "8"
#  Option       "Device" "/dev/input/mice"
#  Option       "Name" "MediaPlay"
#  Option       "Protocol" "ExplorerPS/2"
#  Option       "Vendor" "Logitech"
#  Option       "ZAxisMapping" "4 5"
#EndSection

#Section "InputDevice"
#  Identifier   "Mouse[1]"
#  Driver       "evdev"
#  Option "evBits"  "+1-2"
#  Option "keyBits" "~272-287"
#  Option "relBits" "~0-2 ~6 ~8"
#  Option "Pass"    "3"
#EndSection

Section "InputDevice"
  Driver       "synaptics"
  Identifier   "Mouse[3]"
  Option       "AccelFactor" "0.01"
  Option       "BottomEdge" "650"
  Option       "CircScrollDelta" "0.1"
  Option       "CircScrollTrigger" "2"
  Option       "CircularScrolling" "1"
  Option       "Device" "/dev/input/mice"
  Option       "EdgeMotionMaxSpeed" "15"
  Option       "EdgeMotionMinSpeed" "15"
  Option       "Emulate3Buttons" "on"
  Option       "EmulateMidButtonTime" "75"
  Option       "FingerHigh" "15"
  Option       "FingerLow" "14"
  Option       "HorizScrollDelta" "20"
  Option       "LeftEdge" "120"
  Option       "MaxSpeed" "0.5"
  Option       "MaxTapMove" "110"
  Option       "MaxTapTime" "180"
  Option       "MinSpeed" "0.2"
  Option       "Name" "Touchpad"
  Option       "Protocol" "auto-dev"
  Option       "RightEdge" "830"
  Option       "SHMConfig" "on"
  Option       "TopEdge" "120"
  Option       "UpDownScrolling" "1"
  Option       "Vendor" "ALPS"
  Option       "VertScrollDelta" "20"
  Option       "ZAxisMapping" "4 5"
EndSection


Section "Monitor"
  DisplaySize  305 228
  HorizSync    28-48
  Identifier   "Monitor[0]"
  ModelName    "1024X768@60HZ"
  VendorName   "--> VESA"
  VertRefresh  50-60
  UseModes     "Modes[0]"
EndSection


Section "Modes"
  Identifier   "Modes[0]"
  Modeline 	"1024x768" 61.89 1024 1080 1184 1344 768 769 772 794
  Modeline 	"800x600" 36.88 800 832 912 1024 600 601 604 621
  Modeline 	"768x576" 33.74 768 792 872 976 576 577 580 596
  Modeline 	"640x480" 23.06 640 656 720 800 480 481 484 497
EndSection


Section "Screen"
  DefaultDepth 24
  SubSection "Display"
    Depth      15
    Modes      "1024x768" "800x600" "768x576" "640x480" 
  EndSubSection
  SubSection "Display"
    Depth      16
    Modes      "1024x768" "800x600" "768x576" "640x480" 
  EndSubSection
  SubSection "Display"
    Depth      24
    Modes      "1024x768" "800x600" "768x576" "640x480" 
  EndSubSection
  SubSection "Display"
    Depth      32
    Modes      "1024x768" "800x600" "768x576" "640x480" 
  EndSubSection
  SubSection "Display"
    Depth      8
    Modes      "1024x768" "800x600" "768x576" "640x480" 
  EndSubSection
  Device       "Device[0]"
  Identifier   "Screen[0]"
  Monitor      "Monitor[0]"
EndSection


Section "Device"
  BoardName    "855 GM"
  BusID        "0:2:0"
  Driver       "i810"
  Identifier   "Device[0]"
  Screen       0
  VendorName   "Intel"
EndSection


Section "ServerLayout"
  Identifier   "Layout[all]"
  InputDevice  "Keyboard[0]" "CoreKeyboard"
  InputDevice  "Mouse[1]" "SendCoreEvents"
  InputDevice  "Mouse[3]" "CorePointer"
  Option       "Clone" "off"
  Option       "Xinerama" "off"
  Screen       "Screen[0]"
EndSection

Section "DRI"
    Group      "video"
    Mode       0660
EndSection

Section "Extensions"
EndSection

Before first suspend mouse event device is /dev/input/event4 but after wake up it is /dev/input/event5 so I create a file with rule to udev.
/etc/udev/rules.d/010_local.rules:
BUS="usb", SYSFS{modalias}=="usb:v046DpC510d2901dc00dsc00dp00ic03isc01ip02", KERNEL=="event[4-5]", SYMLINK="input/CCP"
     
Now /dev/input/CCP is symbolic link to /dev/input/event4 xor /dev/input/event5 xor null (null when mouse USB receiver is unplugged).

My mouse is Logitech Cordless Click Plus but I think that these problems apply to everybody who use USB mouse configured with evdev driver.
Comment 1 Stefan Dirsch 2006-08-02 12:25:43 UTC
*** Bug 196457 has been marked as a duplicate of this bug. ***
Comment 2 Stefan Dirsch 2006-08-02 12:28:25 UTC
Reassigning to our mouse expert. :-)
Comment 3 Matthias Hopf 2006-08-17 16:39:18 UTC

*** This bug has been marked as a duplicate of bug 138311 ***
Comment 4 Marek Urbaniak 2006-08-22 15:51:24 UTC
I don't think that this bug is a duplicate of bug 138311. Creation of the file with rule for udev didn't solve the problem.

Now I use SUSE Linux 10.1 fully updated and this bug still fails for this version so I'm adjusting the version.

Maybe these links would be helpful:
http://kvance.com/project/evdev_replug/
http://kvance.livejournal.com/961898.html
Comment 5 Matthias Hopf 2006-08-23 14:05:12 UTC
It *is* a duplicate. The rules suggestion is not the right solution, though, especially as it was only for wacom tablets.

Newer versions of the evdev driver will be able to select the usb device by name or pysical location. Mice with >5 buttons are not a supported feature for SL, though, so don't expect updates for older versions. A future product of SUSE will probably include support for this feature.

*** This bug has been marked as a duplicate of bug 138311 ***