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.