Der Grund, warum Leute solche Fragen stellen, liegt in der gefürchteten "in der Tat" EVIL " - USB Auto-Suspend " -Funktion ".
Durch die automatische Unterbrechung wird die Stromversorgung eines "inaktiven" USB-Geräts abgeschaltet. Wenn der Treiber des Geräts diese Funktion nicht korrekt unterstützt, kann das Gerät nicht mehr kontaktiert werden. Das Ein- und Ausschalten eines USB-Anschlusses ist also ein Symptom des Problems und nicht das eigentliche Problem.
Ich zeige dir, wie man GLOBAL geht automatische Suspendieren deaktivieren, ohne dass die USB-Anschlüsse manuell und ausgeschaltet werden müssen:
Kurze Antwort:
Sie müssen " autosuspend_delay_ms " NICHT einzeln bearbeiten : USB-Autosuspend kann global und dauerhaft mit den folgenden Befehlen deaktiviert werden:
sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="/&usbcore.autosuspend=-1 /' /etc/default/grub
update-grub
systemctl reboot
Ein Ubuntu 18.04 Ende der "Langen Antwort" folgt ein Screenshot von , der zeigt, wie meine Ergebnisse erzielt wurden.
Lange Antwort:
Es ist wahr, dass in der USB Power Management Kernel-Dokumentation angegeben ist, dass Autosuspend veraltet ist und stattdessen " autosuspend_delay_ms " zum Deaktivieren von USB-Autosuspend verwendet wird:
"In 2.6.38 the "autosuspend" file will be deprecated
and replaced by the "autosuspend_delay_ms" file."
JEDOCH zeigt meine Tests , die Einstellung usbcore.autosuspend=-1
in / etc / default / grub wie unten kann eingesetzt werden GLOBAL für USB Autosuspend Toggle Funktionalitäts- Sie NICHT zu bearbeiten einzelne "müssen autosuspend_delay_ms “ -Dateien.
Das gleiche Dokument, das oben verlinkt ist, besagt, dass ein Wert von "0" AKTIVIERT und ein negativer Wert deaktiviert ist :
power/autosuspend_delay_ms
<snip> 0 means to autosuspend
as soon as the device becomes idle, and negative
values mean never to autosuspend. You can write a
number to the file to change the autosuspend
idle-delay time.
Beachten Sie im kommentierten Ubuntu 18.04- Screenshot unten, der zeigt, wie meine Ergebnisse erzielt wurden (und reproduzierbar sind), dass der Standardwert in autosuspend_delay_ms "0" ( aktiviert ) ist .
Beachten Sie dann, dass diese Werte nach der Einstellung NURusbcore.autosuspend=-1
in Grub nach dem Neustart jetzt negativ ( deaktiviert ) sind. Dies erspart mir die Bearbeitung einzelner Werte und kann jetzt das automatische Deaktivieren der USB-Autosuspendierung per Skript deaktivieren.
Ich hoffe, dies macht das Deaktivieren der USB-Autosuspendierung ein wenig einfacher und skriptfähiger.
power/level
ist jetzt veraltet; Verwenden Siepower/control
stattdessen . (power/wakeup
ist in Ordnung.) Außerdem akzeptiert es nur noch "auto" und "on", nicht mehr "suspend". "auto" ist intelligent genug, und wenn die Stromversorgung im Leerlauf nicht ausgeschaltet wird, ist das Gerät schuld. Auf jeden Fall können Sie das Gerät nicht manuell ausschalten. Weitere Informationen finden Sie in der Antwort von tlwhitec und im Dokument des Kernels: kernel.org/doc/Documentation/usb/power-management.txt