Installation einer (zusätzlichen) USB-Maus unter Linux
Aktuelle Linux-Distributionen wie Suse, Mandriva oder Fedora haben in der Regel keine Probleme mit dem Erkennen von USB-Geräten wie in diesem Artikel einer USB-Maus. In den meisten Fällen steckt man die USB-Maus ein und diese wird dann automatisch installiert und konfiguriert.
Doch manchmal kommt es auch vor, dass die USB-Maus nicht erkannt wird, so dass man gezwungen ist, die USB-Maus manuell einzurichten. Oder man ist Anwender eines Linux Gentoo-Systems, denn hier darf man grundsätzlich sämtliche Hardware manuell konfigurieren.
Die Installation einer USB-Maus ist relativ einfach, denn man muss lediglich zwei Schritte durchführen: 1.) Benötigte Module in den Kernel kompilieren und 2.) die Konfigurationsdatei des X-Servers erweitern.
Installation
Beginnen wir mit der Konfiguration des Kernels. Hier muss man lediglich beachten, dass die Unterstützung für USB-Geräte integriert wird. Das sind EHCI, UHCI oder OHCI. Um zu testen, welches dieser Features benötigt wird, sollte man die drei als Module kompilieren und anschließend per Hand laden. Somit muss man nicht alles fest in den Kernel kompilieren und somit unnötige Ressourcen verbrauchen.
Device Drivers
USB support
USB Host Controller Drivers
<M> EHCI HCD (USB 2.0) support
[ ] Full speed ISO transactions (EXPERIMENTAL)
[ ] Root Hub Transaction Translators (EXPERIMENTAL)
<M> OHCI HCD support
<M> UHCI HCD (most Intel and VIA) support
Sollten diese Optionen nicht bereits aktiv sein, also auch nicht im aktuellen Kernel einkompiliert worden sein, so erstellen wir die Module. Beim 2.6er Kernel reicht ein kurzes "make modules_install". Anschließend sollte man mittels "modprobe ohci-hcd" die entsprechenden Module laden.
Hat man bis hier alles richtig gemacht, sollte ähnliches erscheinen, wenn man die USB-Maus eingesteckt hat. Wenn Nein, dann braucht man erst gar nicht mit dem nächsten Schritt weitermachen, denn die USB-Maus wird erst gar nicht vom Kernel erkannt.
usb 2-2: new low speed USB device using ohci_hcd and address 2
input: USB HID v1.10 Mouse [062a:0000] on usb-0000:00:0f.1-2
usb 2-2: USB disconnect, address 2
Als nächstes überprüft man, auf welchem Device die USB-Maus vom Kernel festgelegt wurde. Das kann recht unterschiedlich sein, beispielsweise "/dev/usbmouse", "/dev/input/mice" oder "/dev/psaux". Um dies zu überprüfen, gibt man cat gefolgt von dem jeweiligen Device an, also zum Beispiel "cat /dev/input/mice". Bewegt man nun die USB-Maus, sollte eine Reaktion (nicht verständlicher Datenmüll) auf dem Monitor erscheinen. Das bedeutet, dass die USB-Maus über dieses Device angesprochen wird.
Nachdem die USB-Maus richtig installiert wurde, muss diese noch in der Konfigurationsdatei des X-Servers eingetragen werden. Dazu muss man die Input-Section um einen Eintrag erweitern. Je nachdem welchen X-Server man verwendet, öffnet man mit einem Editor die XF86Config, xorg.conf oder eine andere Datei im /etc/X11/ Verzeichnis.
In dieser Anleitung wird eine USB-Maus zusätzlich zum Touchpad des Notebook installiert. Das Ganze sieht dann wiefolgt aus:
# Hier das Touchpad des Notebooks.
# Es benutzt das PS/2-Interface
Section "InputDevice"
Driver "mouse"
Identifier "Mouse[1]"
Option "Device" "/dev/input/mouse0"
Option "Name" "SynPS/2 Synaptics TouchPad"
Option "Protocol" "explorerps/2"
Option "Vendor" "Sysp"
Option "ZAxisMapping" "4 5"
EndSection
# Hier die USB-Maus
Section "InputDevice"
Driver "mouse"
Identifier "Mouse[2]"
Option "Device" "/dev/input/mice"
Option "Name" "USBMOUSE"
Option "Protocol" "IMPS/2"
Option "ZAxisMapping" "4 5"
EndSection
Wichtig ist, dass man den Identifier und Name individuell festlegt. Dabei kann man einen beliebigen Name nehmen. Unter Device trägt man nun das zuvor getestete Device ein.
Betreibt man zwei oder mehrere Mäuse in einem System, so muss man noch die Section "ServerLayout" erweitern. In diesem Fall wurde InputDevice "Mouse[2]" "SendCoreEvents" eingetragen, um die zweite (USB-)Maus zu aktivieren. Der Name Mouse[2] stimmt hierbei mit dem Identifier überein, was zwingend erforderlich ist.
Section "ServerLayout"
Identifier "Layout[all]"
InputDevice "Keyboard[0]" "CoreKeyboard"
InputDevice "Mouse[1]" "CorePointer"
InputDevice "Mouse[2]" "SendCoreEvents"
Screen "Screen[0]"
EndSection
Und das war es auch schon! Die USB-Maus sollte nun treu ihren Dienst verrichten.