# Fehlende Maus legt X lahm

## xraver

Hallo,

ich habe hier ne LogitechMX an meinen Laptop. Wenn ich im Betrieb die Maus entferne ist alles ok, aber fehlt die Maus beim starten von X beibt der Bildschirm schwarz. Auch auf andere Konsolen kann ich nicht wechseln. Aber beim druck auf den powerknopf fährt der Rechner sauber runter. Ich dachte mit dem Eintrag "AllowMouseOpenFail" sei das gelöst. Hier erstmal nen Auszu aus meiner xorg.conf;

```
Section "ServerLayout"

        Identifier     "Layout0"

        Screen      0  "Screen0" 0 0

        InputDevice    "Keyboard0" "CoreKeyboard"

        InputDevice    "Mouse0" "CorePointer"

        InputDevice     "Mouse1" "SendCoreEvents"

EndSection

Section "InputDevice"

        Identifier  "Mouse0"

        Driver      "synaptics"

        Option      "Device" "/dev/input/event2"

        Option  "ZAxisMapping"  "Y"

        Option  "Emulate3Buttons" "true"

        Option  "Emulate3Timeout" "100"

        Option  "LeftEdge" "60"

        Option  "RightEdge" "830"

        Option  "TopEdge" "70"

        Option  "BottomEdge" "650"

        Option  "FingerLow" "25"

        Option  "FingerHigh" "30"

        Option  "MaxTapTime" "180"

        Option  "MaxTapMove" "50"

        Option  "EmulateMidButtonTime" "75"

        Option  "VertScrollDelta" "50"

        Option  "HorizScrollDelta" "50"

        Option  "MinSpeed" "0.50"

        Option  "MaxSpeed" "0.9"

        Option  "AccelFactor" "0.02"

        Option  "EdgeMotionSpeed" "40"

        Option  "UpDowScrolling" "1"

        Option  "TouchpadOff" "0"

EndSection

Section "InputDevice"

        Identifier  "Mouse1"

        Driver      "evdev"

        Option      "Device"        "/dev/input/mx518"

# /dev/input/mx518 wird per udev erstellt

        Option      "Protocol"      "event"

        Option  "Buttons"       "8"

        Option      "ZAxisMapping"  "7 8"

EndSection

Section "ServerFlags"

          Option   "AllowMouseOpenFail" "1"

EndSection

```

Thx für Hilfe. Nervt schon wenn man immer die xorg.conf ändern muss.

----------

## Finswimmer

Start doch mal nur X aus der Konsole...Ohne Maus.

Dann schieß ihn ab und schau, was er sagt.

Btw: Du hast 2 Mäuse drin...

Tobi

----------

## xraver

 *Finswimmer wrote:*   

> Start doch mal nur X aus der Konsole...Ohne Maus.
> 
> Dann schieß ihn ab und schau, was er sagt.
> 
> Btw: Du hast 2 Mäuse drin...
> ...

 

1 Maus und 1 touchpad  :Wink: . Mit abschiessen geht da nicht viel - kann in keine  andere Konsole wechseln und STRG+ALT+BACKSPACE gehen auch nicht.

----------

## Finswimmer

Sagen die Logs irgendwas?

----------

## xraver

 *Finswimmer wrote:*   

> Sagen die Logs irgendwas?

 

Die werde ich mir gleich mal anschauen. Hab mir auch mal überlegt vom Server aus zuzugreifen und die Sache zu checken.

----------

## xraver

```
(--) Mouse0 touchpad found

(**) Option "CorePointer"

(**) Mouse0: Core Pointer

(**) Option "SendCoreEvents"

(**) Mouse1: always reports core events

(**) Mouse1: Device: "/dev/input/mx518"

(EE) Unable to open evdev device "/dev/input/mx518".

(EE) PreInit failed for input device "Mouse1"

(II) UnloadModule: "evdev"

(II) XINPUT: Adding extended input device "Mouse0" (type: MOUSE)

   *** If unresolved symbols were reported above, they might not

   *** be the reason for the server aborting.

Backtrace:

0: X(xf86SigHandler+0x86) [0x80b4b94]

Fatal server error:

Caught signal 11.  Server aborting

```

----------

## Finswimmer

# /dev/input/mx518 wird per udev erstellt 

sicher, dass das stimmt?

Probiers erstmal mit nur einer Maus.

Oder mit:  /dev/psaux

Tobi

----------

## xraver

 *Finswimmer wrote:*   

> # /dev/input/mx518 wird per udev erstellt 
> 
> sicher, dass das stimmt?
> 
> 

 

Ja, 

```
cat /etc/udev/rules.d/10-udev.rules

KERNEL=="event*", SYSFS{manufacturer}=="Logitech", SYMLINK+="input/mx518", NAME="%k"

```

Hab den Eintrag selber erstellt. Ist per USB angeschlossen.

Hab mehr oder weniger nach dem Tip im gentoo-wiki gemacht. Aus http://de.gentoo-wiki.com/Logitech_MX

```
/dev/input/mx500 ist ein mittels folgender Udev-Regel erzeugter Symlink:

KERNEL=="event*", SYSFS{manufacturer}=="B16_b_02", SYMLINK+="input/mx500", NAME="%k"

Dies geschieht aus dem einfachen Grund, weil beim Besitz mehrerer Eingabegeräte wie bei Usbsticks die Maus unterschiedliche Devicenamen zugeordnet bekommt:

ls /dev/input/

event0  event1  event2  event3  event4  mice  mouse0  

Für obengenannten Eintrag ist die Angabe eines event* Device zwingend erforderlich.

```

Hab halt nur ne 518 draus gemacht. Und daran wird kaum liegen - hoff ich doch.

 *Finswimmer wrote:*   

> 
> 
> Probiers erstmal mit nur einer Maus. 
> 
> 

 

Verstehe ich nicht ganz. Das Touchpad kann ich net entfernen - nur die USB Maus, und wenn die draussen ist startet X net und nix geht mehr, hab ich aber schon beschrieben.

Könnte es sein das der event Treiber von X nicht ganz klar kommt? Er ist ja für Touchpad und Mouse verantwortlich.

----------

## Finswimmer

Gibt es: /dev/psaux ?

Ist bei mir jedenfalls vorhanden und kann durch beide Mäuse angesprochen werden, je nachdem, welche grade bewegt wird.

Tobi

----------

## xraver

Ja, /dev/psaux gibt es. Werds bei der nächsten Gelegenheit mal antesten. Aber was ist dann mit meiner USB-Maus und ihren 8 Buttons?

----------

## Polynomial-C

Hi,

ich hatte ein ähnliches Problem mit meiner Razer Diamondback am Notebook. Das Problem ist, daß xorg zwingend ein existierendes device für den Mauseintrag in der xorg.conf haben will beim Start.

Die einzige Lösung, die ich gefunden habe, war die Maus über /dev/input/mice anzusprechen, da dieses device immer vorhanden ist auf meinem Notebook.

Natürlich hat das dann auch den udev-Eintrag für meine Diamondback nutzlos gemacht und ich habe ihn wieder entfernt.

Grüße

Poly-C

----------

## Finswimmer

 *xraver wrote:*   

> Ja, /dev/psaux gibt es. Werds bei der nächsten Gelegenheit mal antesten. Aber was ist dann mit meiner USB-Maus und ihren 8 Buttons?

 

Meine Maus hat nur 4 Buttons, auch über USB und geht wunderbar.

Ich denke, es kommt auf das Protokoll an.

Tobi

----------

## firefly

also ich habe mir ein kleines script geschrieben, welches in /etc/dev.d/input liegt. Dieses script wird beim einstecken und abstecken der usb-mouse(Logitech MX518) aufgerufen.

Dieses script macht nichts anderes als den symlink usbmouse beim einstecken auf das device des usb-mouse zu legen oder beim abstecken auf /dev/input/mice. Desweiteren wird dabei auch das Touchpad de-/aktiviert.

Ich verwende in der Xorg.conf dann nur den symlink /dev/usbmouse um die Mouse zu konfigurieren.

Dadurch kann ich auch wärend dem laufendem X die mouse ein- und absstecken.

usbmouse.dev:

```
#!/bin/sh

if [ "/dev/input/mouse" = "${DEVNAME:0:16}" ]; then 

    if [ "${ACTION}" = "add" ] ; then 

        rm -f /dev/usbmouse

        ln -fs ${DEVNAME} /dev/usbmouse

        

        synclient TouchpadOff=1

    else

        if [ "${ACTION}" = "remove" ]; then

            rm -f /dev/usbmouse

            ln -fs /dev/input/mice /dev/usbmouse

            synclient TouchpadOff=0

        fi    

    fi

fi
```

----------

## xraver

firefly, das script arbeitet wie gewünscht, legt zumindest die links an. Aber leider geht jetzt mit maus und ohne nicht. Überlge mir schon nen script zu machen was bei starten checkt ob die maus da ist und einfach die xorg.conf austauscht. Das lästige rebooten nervt bei der Fehlersuche ungemein.

----------

## xraver

Hallo,

da sich immer noch keine Lösung gefunden hatt hab ich mal versucht für die mouse1 den "mouse" driver zu verwenden und als protokoll eben "imps/2".

Tja, was soll ich sagen. Es läuft super. Maus kann ran und raus so oft sie will - it works!

Also liegt es doch (wie ich es mir schon dachte) doch am evdev Treiber oder am event Protokoll.

Da ich es eh noch nicht geschafft habe die anderen Buttons meiner Maus zu benutzen kann ich erstmal auf evdev verzichten und werd eben den "mouse" Treiber verwenden.

Thx @forum.

----------

## firefly

ich habe gerade herausgefunden, wie man es ohne udev-regel, ohnde *.dev-script und mit dem evdev xorg-treiber auch realisieren kann  :Smile: 

denn der evdev treiber unterstützt folgende Optionen:

Name, vendor und product und noch ein paar mehr (siehe man evdev)

Diese infos findet man für das entsprechende input device unter /proc/bus/input/devices anschaut.

(Die hexadezimalen Zahlen für vendor und product müssen nach dezimal umgewandelt werden, da der parser dezimal-zahlen erwartet)

Damit kann man nun eine device spezifische konfigurationin der xorg.conf festlegen.

Hier ist meine für eine Logitech MX518:

```
Section "InputDevice"

        Identifier  "MX518"

        Driver      "evdev"

        Option      "Name" "Logitech USB-PS/2 Optical Mouse"

        Option      "vendor" "1133"     #046d hex -> Logitech

        Option      "product" "49182"   #c01e hex -> MX518

EndSection
```

Durch diese Einstellungen kann ich nun den Xserver auch ohne angesteckter mouse starten und wenn ich die mouse anstecke, egal an welchen usb-port, dann funktioniert sie anstandslos. Zusätzlich entfällt auch das remappen der Mouse Buttons für das Scrollwhell und die seitlichen Tasten. Die werden durch den evdev treiber automatisch passend auf 4,5 (Scrollwheel) und 6, 7 (seitlichen Tasten) eingestellt.  :Wink: 

Zumindestens funktioniert das mit dem x11-drivers/xf86-input-evdev-1.1.2-r2 (der auch unter Xorg 7.0 funktioniert).

----------

