La raison pour laquelle les gens affichent des questions telles que cela est dû à l'effet dreaded- « EVIL « - Auto-Suspend USB » fonction ».
La suspension automatique coupe l'alimentation d'un périphérique USB «inactif» et à moins que le pilote du périphérique ne prenne correctement en charge cette fonction, le périphérique peut devenir incontrôlable. Donc, allumer / éteindre un port USB est un symptôme du problème, pas le problème en soi.
Je vais vous montrer comment désactiver GLOBALEMENT la suspension automatique, éliminant ainsi le besoin d'activer et de désactiver manuellement les ports USB:
Réponse courte:
Vous n'avez PAS besoin de modifier individuellement " autosuspend_delay_ms ": la suspension automatique USB peut être désactivée globalement et PERSISTANTMENT à l'aide des commandes suivantes:
sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="/&usbcore.autosuspend=-1 /' /etc/default/grub
update-grub
systemctl reboot
Une capture d'écran Ubuntu 18.04 suit à la fin de la "Longue réponse" illustrant comment mes résultats ont été atteints.
Longue réponse:
Il est vrai que la documentation du noyau de gestion de l'alimentation USB indique que la suspension automatique doit être obsolète et à sa place, « autosuspend_delay_ms » est utilisé pour désactiver la suspension automatique USB:
"In 2.6.38 the "autosuspend" file will be deprecated
and replaced by the "autosuspend_delay_ms" file."
CEPENDANT, mes tests révèlent que le réglage usbcore.autosuspend=-1
dans / etc / default / grub comme ci-dessous peut être utilisé comme une bascule GLOBALE pour la fonctionnalité de suspension automatique USB - vous n'avez PAS besoin d'éditer les fichiers individuels " autosuspend_delay_ms ".
Le même document lié ci-dessus indique qu'une valeur de "0" est ENABLED et une valeur négative est DISABLED :
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.
Dans la capture d'écran annotée d' Ubuntu 18.04 ci -dessous illustrant comment mes résultats ont été obtenus (et reproductibles), veuillez noter que la valeur par défaut est "0" ( activé ) dans autosuspend_delay_ms .
Notez ensuite qu'après le réglage UNIQUEMENTusbcore.autosuspend=-1
dans Grub, ces valeurs sont maintenant négatives ( désactivées ) après le redémarrage. Cela m'évitera la peine de modifier des valeurs individuelles et peut maintenant désactiver la suspension automatique USB.
J'espère que cela rendra la désactivation de la suspension automatique USB un peu plus facile et plus scriptable.
power/level
est maintenant obsolète; utiliser à lapower/control
place . (power/wakeup
c'est ok.) De plus, il n'accepte que "auto" et "on", et non plus "suspend". "auto" est assez intelligent, et si l'alimentation n'est pas coupée en mode veille, c'est la faute de l'appareil. Quoi qu'il en soit, vous ne pouvez pas couper l'alimentation manuellement. Pour plus d'informations, voir la réponse ci-dessous par tlwhitec et le document du noyau: kernel.org/doc/Documentation/usb/power-management.txt