Wenn Linux plötzlich keine USB-Geräte mehr erkennt

Eigent­lich ist Plug-and-Play unter Linux denk­bar ein­fach: USB-Gerät ein­ste­cken und fertig. Manch­mal pas­siert es aber, dass der Datei­ma­na­ger bei­spiels­weise ein­ge­steckte externe Fest­plat­ten oder USB-Sticks plötz­lich nicht mehr erkennt – selbst wenn man sie vor ein paar Stun­den noch benutzt hat.

Ursa­che kann eine Kon­fi­gu­ra­tion sein, die vor allem für Note­books gedacht ist und Ener­gie sparen soll, indem nicht ver­wen­dete USB-Anschlüsse des Rech­ners ein­fach deak­ti­viert werden (Stich­wort: autosuspend). Blöd nur, wenn der nicht genutzte und fol­ge­rich­tig abge­schal­tete USB-Anschluss jetzt eben doch mal gefragt ist.

Pro­blem iden­ti­fi­zie­ren

Ob das besagte Fea­ture akti­viert ist, lässt sich in einem Ter­mi­nal mit dem Befehl cat /sys/module/usbcore/parameters/autosuspend ermit­teln.

Lautet die Aus­gabe 2, ist auto­sus­pend aktiv. Unten fin­dest Du zwei Lösungs­wege, um den strei­ken­den USB-Anschluss wie­der­zu­be­le­ben. Lautet die Aus­gabe hin­ge­gen -1 liegt die Ursa­che in deinem Fall leider woan­ders, sorry.

Pro­blem lösen

Vari­ante 1 (schnell und billig)

Ist akti­vier­tes auto­sus­pend die Ursa­che für plötz­lich nicht mehr erkannte USB-Geräte, hilft ein Neu­start und (vor­über­ge­hend) ist alles ist wieder tutti. 

Vari­ante 2 (die Gründ­li­che)

Die Nach­hal­tige Lösung wäre hin­ge­gen, das Fea­ture abzu­schal­ten. Hier­für muss dem Kernel beim Booten eine ent­spre­chende Anwei­sung mit­ge­ge­ben werden:

  1. Ein Ter­mi­nal öffnen
  2. Eine Siche­rungs­ko­pie der Datei /etc/default/grub anle­gen, z.B. mit
    $ sudo cp /etc/default/grub{,.bak~autosuspend}
  3. Die Datei /etc/default/grub mit Root-Rech­ten öffnen, z.B. so:
      $ sudo nano /etc/default/grub
  4. Suche die Zeile mit dem Inhalt GRUB_CMDLINE_LINUX_DEFAULT= und ergänze usbcore.autosuspend=-1. Wenn die kom­plette Zeile bei dir so aussah:
    GRUB_CMDLINE_LINUX_DEFAULT="quiet"

    Sollte sie anschlie­ßend so aus­se­hen:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet usbcore.autosuspend=-1"
  5. Spei­chern und den Rech­ner neu­star­ten

Beim Reboot wird Linux ohne autosuspend gestar­tet. Das Pro­blem ist damit geges­sen – ein­zi­ger Neben­ef­fekt: Das Strom­spar­po­ten­tial ist jetzt natür­lich futsch.

Die oben beschrie­bene Vor­ge­hens­weise wurde mit Debian Buster getes­tet.