LinuxQuestions.org
Review your favorite Linux distribution.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices


Reply
  Search this Thread
Old 05-08-2006, 04:24 PM   #1
cferron
Member
 
Registered: Jan 2006
Location: Trois-Rivières, Québec, Canada
Distribution: Slackware, Ubuntu
Posts: 74

Rep: Reputation: 15
Unhappy Multiple USB mouse


Here's the story:

I'm trying to connect 6 USB mices on my computer. I'd like to have them work all independently in X. So far I was able to acheive this, but for some reason it is unstable. What I mean by that is that sometimes, for an unknow reason, a mouse will be erratic (when I move it it goes in every corner and click everywhere). Normally rebooting with the mices connected seem to solved the issue but NOT always (note that if mices are working when on each XFree started, they won't go down after...)

I have narrowed down this issue to a kernel problem because of this specific test.
1) Start an X session on a specific screen (3 for example) and hope to have the mouse working.
2) If mouse is erratic, kill X, edit my XFree86Config so in the Section "InputDevice" for example /dev/input/mouse3vss is not working, I replace it to /dev/input/mouse2vss (a working mouse) and Voila Screen #3 have a working mouse suddenly...

Doing a cat /dev/input/mouse3vss would produce some garbage on screen however, but it is impossible for me to tell by these weird caracters that the mouse is working properly

My udev.rules create the following when mouses are connected in specific USB port.
/dev/input/mouse1vss
/dev/input/mouse2vss
/dev/input/mouse3vss
/dev/input/mouse4vss
/dev/input/mouse5vss
/dev/input/mouse6vss

These entry are then used in my XFree86.conf file

Udev version 088
Linux VSS 2.6.15.4 #10 SMP Sat May 6 23:05:28 EDT 2006 i686

Here is my XF86Config.conf file (for those interested)
Quote:
# File generated by xf86config.
Section "Module"
Load "record"
Load "extmod"
Load "dbe"
# Load "dri"
Load "xtrap"
Load "glx"
Load "extmod"
Load "speedo"
Load "type1"

Load "freetype"
Load "xtt"

# This loads the miscellaneous extensions module, and disables
# initialisation of the XFree86-DGA extension within that module.
SubSection "extmod"
Option "omit xfree86-dga" # don't initialise the DGA extension
EndSubSection



EndSection

# **********************************************************************
# Files section. This allows default font and rgb paths to be set
# **********************************************************************

Section "Files"

RgbPath "/usr/X11R6/lib/X11/rgb"
ModulePath "/usr/X11R6/lib/modules"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/CID/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
# 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/Truetype/"
# FontPath "/usr/X11R6/lib/X11/fonts/TTF/"
# FontPath "/usr/X11R6/lib/X11/fonts/freefont/"

EndSection

# **********************************************************************
# Server flags section.
# **********************************************************************

Section "ServerFlags"

# Uncomment this to cause a core dump at the spot where a signal is
# received. This may leave the console in an unusable state, but may
# provide a better stack trace in the core dump to aid in debugging

# Option "NoTrapSignals"

# Uncomment this to disable the <Crtl><Alt><Fn> VT switch sequence
# (where n is 1 through 12). This allows clients to receive these key
# events.

Option "DontVTSwitch"

# Uncomment this to disable the <Crtl><Alt><BS> server abort sequence
# This allows clients to receive this key event.

Option "DontZap"

# Uncomment this to disable the <Crtl><Alt><KP_+>/<KP_-> mode switching
# sequences. This allows clients to receive these key events.

Option "Dont Zoom"

# Uncomment this to disable tuning with the xvidtune client. With
# it the client can still run and fetch card and monitor attributes,
# but it will not be allowed to change them. If it tries it will
# receive a protocol error.

# Option "DisableVidModeExtension"

# Uncomment this to enable the use of a non-local xvidtune client.

# Option "AllowNonLocalXvidtune"

# Uncomment this to disable dynamically modifying the input device
# (mouse and keyboard) settings.
###TEST MAGH
Option "DisableModInDev"

# Uncomment this to enable the use of a non-local client to
# change the keyboard or mouse settings (currently only xset).

# Option "AllowNonLocalModInDev"
Option "BlankTime" "0"
Option "StandbyTime" "0"
Option "SuspendTime" "0"
Option "OffTime" "0"
EndSection

# **********************************************************************
# Input devices
# **********************************************************************

# **********************************************************************
# Core keyboard's InputDevice section
# **********************************************************************

# These are the default XKB settings for XFree86

Section "InputDevice"
Identifier "Keyboard0"
#Driver "kbd"
Driver "keyboard"
Option "XkbModel" "pc101"
Option "XkbLayout" "us"
# Option "XkbDisable"

EndSection


# **********************************************************************
# Core Pointer's InputDevice section
# **********************************************************************

Section "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "IMPS/2"
#Option "Protocol" "Auto"
Option "SendCoreEvents" "true"
Option "Device" "/dev/input/mouse1vss"
Option "ZAxisMapping" "4 5"
#Option "Buttons" "5"
EndSection

Section "InputDevice"
Identifier "Mouse2"
Driver "mouse"
Option "Protocol" "IMPS/2"
#Option "Protocol" "Auto"
Option "SendCoreEvents" "true"
Option "Device" "/dev/input/mouse2vss"
Option "ZAxisMapping" "4 5"
#Option "Buttons" "5"
EndSection

Section "InputDevice"
Identifier "Mouse3"
Driver "mouse"
Option "Protocol" "IMPS/2"
# Option "Protocol" "Auto"
Option "SendCoreEvents" "true"
Option "Device" "/dev/input/mouse3vss"
Option "ZAxisMapping" "4 5"
#Option "Buttons" "5"
EndSection


Section "InputDevice"
Identifier "Mouse4"
Driver "mouse"
Option "Protocol" "IMPS/2"
#Option "Protocol" "Auto"
Option "SendCoreEvents" "true"
Option "Device" "/dev/input/mouse4vss"
Option "ZAxisMapping" "4 5"
#Option "Buttons" "5"
EndSection

Section "InputDevice"
Identifier "Mouse5"
Driver "mouse"
Option "Protocol" "IMPS/2"
#Option "Protocol" "Auto"
Option "SendCoreEvents" "true"
Option "Device" "/dev/input/mouse5vss"
Option "ZAxisMapping" "4 5"
#Option "Buttons" "5"
EndSection

Section "InputDevice"
Identifier "Mouse6"
Driver "mouse"
#Option "Protocol" "Auto"
Option "Protocol" "IMPS/2"
Option "SendCoreEvents" "true"
Option "Device" "/dev/input/mouse6vss"
Option "ZAxisMapping" "4 5"
#Option "Buttons" "5"
EndSection

# **********************************************************************
# Monitor section
# **********************************************************************

Section "Monitor"
Identifier "Monitor1"
HorizSync 31.5-48.5
VertRefresh 50-70
EndSection


Section "Monitor"
Identifier "Monitor2"
HorizSync 31.5-48.5
VertRefresh 50-70
EndSection

Section "Monitor"
Identifier "Monitor3"
HorizSync 31.5-48.5
VertRefresh 50-70
EndSection


Section "Monitor"
Identifier "Monitor4"
HorizSync 31.5-48.5
VertRefresh 50-70
EndSection

Section "Monitor"
Identifier "Monitor5"
HorizSync 31.5-48.5
VertRefresh 50-70
EndSection

Section "Monitor"
Identifier "Monitor6"
HorizSync 31.5-48.5
VertRefresh 50-70
EndSection


# **********************************************************************
# Graphics device section
# **********************************************************************

Section "Device"
Identifier "TNTAGP"
Driver "nvidia"
#Option "HWCursor" "TRUE"
#Option "NoLogo" "true"
#Option "UseEdidDpi" "FALSE"
#Option "DPI" "86 x 84"
BusID "PCI:1:0:0"
EndSection

Section "Device"
Identifier "TNT2"
Driver "nvidia"
BusID "PCI:0:9:0"
EndSection

Section "Device"
Identifier "TNT3"
Driver "nvidia"
BusID "PCI:0:10:0"
EndSection

Section "Device"
Identifier "TNT4"
Driver "nvidia"
BusID "PCI:0:11:0"
EndSection

Section "Device"
Identifier "TNT5"
Driver "nvidia"
BusID "PCI:0:12:0"
EndSection

Section "Device"
Identifier "TNT6"
Driver "nvidia"
BusID "PCI:0:13:0"
EndSection

Section "Screen"
Identifier "Screen1"
Device "TNTAGP"
Monitor "Monitor1"
DefaultDepth 24

Subsection "Display"
Depth 8
Modes "1024x768/60Hz" "1024x768" "800x600" "640x480"
ViewPort 0 0
Virtual 0 0
EndSubsection
Subsection "Display"
Depth 16
Modes "1024x768/60Hz" "1024x768" "800x600" "640x480"
ViewPort 0 0
Virtual 0 0
EndSubsection
Subsection "Display"
Depth 24
Modes "1024x768/60Hz" "1024x768" "800x600" "640x480"
ViewPort 0 0
Virtual 0 0
EndSubsection
EndSection

Section "Screen"
Identifier "Screen2"
Device "TNT2"
Monitor "Monitor2"
DefaultDepth 24

Subsection "Display"
Depth 8
Modes "1024x768/60Hz" "1024x768" "800x600" "640x480"
ViewPort 0 0
Virtual 0 0
EndSubsection
Subsection "Display"
Depth 16
Modes "1024x768/60Hz" "1024x768" "800x600" "640x480"
ViewPort 0 0
Virtual 800 600
EndSubsection
Subsection "Display"
Depth 24
Modes "1024x768/60Hz" "1024x768" "800x600" "640x480"
ViewPort 0 0
Virtual 0 0
EndSubsection

EndSection
Section "Screen"
Identifier "Screen3"
Device "TNT3"
Monitor "Monitor3"
DefaultDepth 24

Subsection "Display"
Depth 8
Modes "1024x768/60Hz" "1024x768" "800x600" "640x480"
ViewPort 0 0
Virtual 0 0
EndSubsection
Subsection "Display"
Depth 16
Modes "1024x768/60Hz" "1024x768" "800x600" "640x480"
ViewPort 0 0
Virtual 800 600
EndSubsection
Subsection "Display"
Depth 24
Modes "1024x768/60Hz" "1024x768" "800x600" "640x480"
ViewPort 0 0
Virtual 0 0
EndSubsection

EndSection

Section "Screen"
Identifier "Screen4"
Device "TNT4"
Monitor "Monitor4"
DefaultDepth 24

Subsection "Display"
Depth 8
Modes "1024x768/60Hz" "1024x768" "800x600" "640x480"
ViewPort 0 0
Virtual 0 0
EndSubsection
Subsection "Display"
Depth 16
Modes "1024x768/60Hz" "1024x768" "800x600" "640x480"
ViewPort 0 0
Virtual 0 0
EndSubsection
Subsection "Display"
Depth 24
Modes "1024x768/60Hz" "1024x768" "800x600" "640x480"
ViewPort 0 0
Virtual 0 0
EndSubsection
EndSection


Section "Screen"
Identifier "Screen5"
Device "TNT5"
Monitor "Monitor5"
DefaultDepth 24

Subsection "Display"
Depth 8
Modes "1024x768/60Hz" "1024x768" "800x600" "640x480"
ViewPort 0 0
Virtual 0 0
EndSubsection
Subsection "Display"
Depth 16
Modes "1024x768/60Hz" "1024x768" "800x600" "640x480"
ViewPort 0 0
Virtual 0 0
EndSubsection
Subsection "Display"
Depth 24
Modes "1024x768/60Hz" "1024x768" "800x600" "640x480"
ViewPort 0 0
Virtual 0 0
EndSubsection
EndSection



Section "Screen"
Identifier "Screen6"
Device "TNT6"
Monitor "Monitor6"
DefaultDepth 24

Subsection "Display"
Depth 8
Modes "1024x768/60Hz" "1024x768" "800x600" "640x480"
ViewPort 0 0
Virtual 0 0
EndSubsection
Subsection "Display"
Depth 16
Modes "1024x768/60Hz" "1024x768" "800x600" "640x480"
ViewPort 0 0
Virtual 0 0
EndSubsection
Subsection "Display"
Depth 24
Modes "1024x768/60Hz" "1024x768" "800x600" "640x480"
ViewPort 0 0
Virtual 0 0
EndSubsection
EndSection



Section "ServerLayout"

Identifier "subito1"
Screen "Screen 1"
InputDevice "Mouse1" "CorePointer"
InputDevice "Mouse1" "SendCoreEvents"
InputDevice "Keyboard0" "CoreKeyboard"

EndSection

Section "ServerLayout"

Identifier "subito2"
Screen "Screen 2"
InputDevice "Mouse2" "CorePointer"
InputDevice "Mouse2" "SendCoreEvents"
InputDevice "Keyboard0" "CoreKeyboard"

EndSection

Section "ServerLayout"

Identifier "subito3"
Screen "Screen 3"
InputDevice "Mouse3" "CorePointer"
InputDevice "Mouse3" "SendCoreEvents"
InputDevice "Keyboard0" "CoreKeyboard"

EndSection

Section "ServerLayout"
Identifier "subito4"
Screen "Screen 4"
InputDevice "Mouse4" "CorePointer"
InputDevice "Mouse4" "SendCoreEvents"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection

Section "ServerLayout"
Identifier "subito5"
Screen "Screen 5"
InputDevice "Mouse5" "CorePointer"
InputDevice "Mouse5" "SendCoreEvents"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection

Section "ServerLayout"
Identifier "subito6"
Screen "Screen 6"
InputDevice "Mouse6" "CorePointer"
InputDevice "Mouse6" "SendCoreEvents"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Please help if you can, give me some clues or anything...
 
Old 05-09-2006, 10:28 AM   #2
cferron
Member
 
Registered: Jan 2006
Location: Trois-Rivières, Québec, Canada
Distribution: Slackware, Ubuntu
Posts: 74

Original Poster
Rep: Reputation: 15
Multiple Mouse - UPDATE...

Udev might be the problem here....

I haven't waited for an answer on this one, so here is my progress.

I have updated udev to 090, still no luck. These are the things I'm doing to reproduce the problem:

1) Power the computer and connect mices in USB port (All mouse connected after power up are erratic)

2) Power the computer WITH mices ALREADY connected. Disconnect and reconnect a random mouse = THIS mouse will be erratic when staring X.

3) Power the computer WITH mices ALREADY connected. Start X on all screen... ALL mices working YEAH!!! Stop X, disconnect any mouse restart = mouse is erratic. STOP Udev and START it again... erratic mouse becomes functionnal when X is started again...

Any help anyone???

Thanks

Claude
 
Old 05-09-2006, 12:05 PM   #3
Xolo
Member
 
Registered: Jul 2004
Location: The Netherlands
Distribution: Mandrake, Knoppix, Coyote Linux, RedHat
Posts: 354
Blog Entries: 3

Rep: Reputation: 31
Could you also explain what exactly the purpose of your setup is?
By the looks of your X configuration i'd say you're creating a huge screen wall, which would make more sense with just one mouse and a single desktop stretching over all monitors to form into one.

But that's just a guess?

Could it be that you're simply running into a limitation of your motherboard's USB architecture and the driving capabilities of the operating system? I don't think a single computer was ever meant to be controlled by so many mice at once.

Last edited by Xolo; 05-09-2006 at 12:07 PM.
 
Old 05-10-2006, 09:15 AM   #4
cferron
Member
 
Registered: Jan 2006
Location: Trois-Rivières, Québec, Canada
Distribution: Slackware, Ubuntu
Posts: 74

Original Poster
Rep: Reputation: 15
Quote:
Originally Posted by Xolo
Could you also explain what exactly the purpose of your setup is?
I want to run a 6 screen system with Opera running in Kiosk Mode. All screen will run independant X server. It use to work great with hotplug (patched) but since I switched to Udev, I run in the issue described above...

Claude
 
Old 05-14-2006, 04:49 AM   #5
Xolo
Member
 
Registered: Jul 2004
Location: The Netherlands
Distribution: Mandrake, Knoppix, Coyote Linux, RedHat
Posts: 354
Blog Entries: 3

Rep: Reputation: 31
I really think you should be looking into something far easier such as Linux Terminal Server Project, and save yourself some headaches.
 
Old 04-20-2007, 04:52 PM   #6
Tischbein
Member
 
Registered: Oct 2006
Distribution: debian
Posts: 124

Rep: Reputation: 15
Hahahaha(sides ache)haha. Any time you want to come to any party I'm hosting you're welcome.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
disconnect USB mouse data from the mouse pointer Yeronimo Programming 0 04-07-2005 03:26 AM
Erratic mouse pointer with wireless USB mouse jomax Fedora 0 01-04-2005 03:38 AM
How do you configure to mouses, a laptop mouse and a Logitc USB Mouse dbratton Linux - Hardware 8 03-06-2004 05:02 PM
PS/2 mouse did not work after temp removal of USB mouse edwardp Linux - Hardware 1 09-06-2003 04:57 PM
USB mouse, keyboard, hid, console mouse problems jqcaducifer Linux - General 1 08-05-2003 09:43 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 09:11 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration