Aucune des réponses mentionnées ci-dessus ne m'a aidé. C'est pourquoi je poste ici le mien.
Activation / désactivation du réveil de la suspension pour les périphériques USB
Testé dans KDE neon 5.16.2, basé sur Ubuntu 18.04 mais devrait fonctionner dans n'importe quelle distribution.
1. Affichez la liste des périphériques USB pour identifier celui que vous souhaitez activer / désactiver:
grep . /sys/bus/usb/devices/*/product
vous devriez obtenir quelque chose comme ceci:
/ sys / bus / usb / périphériques / 3-3 / produit: Cord Optical Mouse
/sys/bus/usb/devices/3-4.3/product:802.11n Adaptateur WLAN
/sys/bus/usb/devices/3-4.4/product: Récepteur USB
/sys/bus/usb/devices/3-4/product:USB2.0 Hub
/sys/bus/usb/devices/4-4/product:USB3.0 Hub
/ sys / bus / usb / périphériques / usb1 / produit: Contrôleur hôte EHCI
/ sys / bus / usb / périphériques / usb2 / produit: Contrôleur hôte EHCI
/ sys / bus / usb / périphériques / usb3 / produit: contrôleur hôte xHCI
/ sys / bus / usb / périphériques / usb4 / produit: contrôleur hôte xHCI
2. Vérifiez l'état de réveil de tous les périphériques USB:
grep. / sys / bus / usb / périphériques / * / alimentation / réveil
le résultat devrait être quelque chose comme ceci:
/ sys / bus / usb / périphériques / 1-1 / alimentation / réveil: désactivé
/ sys / bus / usb / périphériques / 2-1 / alimentation / réveil: désactivé
/ sys / bus / usb / appareils / 3-11 / alimentation / réveil: désactivé
/ sys / bus / usb / périphériques / 3-3 / alimentation / réveil: activé
/sys/bus/usb/devices/3-4.4/power/wakeup:disabled
/ sys / bus / usb / appareils / 3-4 / alimentation / réveil: désactivé
/ sys / bus / usb / périphériques / 4-4 / alimentation / réveil: désactivé
/ sys / bus / usb / périphériques / usb1 / alimentation / réveil: désactivé
/ sys / bus / usb / périphériques / usb2 / alimentation / réveil: désactivé
/ sys / bus / usb / périphériques / usb3 / alimentation / réveil: désactivé
/ sys / bus / usb / périphériques / usb4 / alimentation / réveil: désactivé
Dans mon cas, le réveil n'est activé que pour le périphérique USB 3-3 qui, selon la liste précédente, est "Cord Optical Mouse".
Je veux activer le réveil de la suspension uniquement pour le clavier sans fil et le désactiver pour le reste. Le récepteur USB du clavier est connecté à un HUB et correspond à 3-4.4 dans la liste précédente ("Récepteur USB").
3. Créez un script qui fait le travail:
Pour avoir des autorisations root:
sudo su
Ensuite, nous créons le fichier pour le script (le fichier peut être appelé "usbwakeup" ou n'importe quelle description que vous souhaitez):
nano /etc/init.d/usbwakeup
Contenu du dossier. Adaptez-le simplement à vos besoins en modifiant la section "ACTIONS DE SCRIPTS" (j'aime ajouter des commentaires aux scripts afin de savoir ce qu'ils font réellement si je les rouvre un jour):
#! / bin / bash
#
#######################
# INFORMATIONS GÉNÉRALES #
#######################
#
# - Ce script active / désactive le réveil de la suspension # pour les périphériques USB.
#
# - Le script a besoin d'autorisations d'exécution.
#
# - Pour que ce script soit exécuté au démarrage du système, il doit y avoir
# un lien symbolique vers celui-ci dans /etc/rc3.d/ avec la priorité S01
# (par exemple: /etc/rc3.d/S01usbwakeup)
#
###########################
# COMMANDES UTILES CONNEXES #
###########################
#
# - Identifiez les périphériques USB:
# grep. / sys / bus / usb / périphériques / * / produit
#
# - Vérifiez l'état de "réveil de la suspension" des périphériques USB:
# grep. / sys / bus / usb / périphériques / * / alimentation / réveil
#
#
##################
# ACTIONS SCRIPT #
##################
#
# Désactive le réveil de la suspension pour la souris optique
écho désactivé> / sys / bus / usb / devices / 3-3 / power / wakeup
#
# Permet le réveil de la suspension pour le clavier sans fil
que j'ai connecté à un HUB USB 3.0 dans le port USB n ° 4
echo activé> /sys/bus/usb/devices/3-4.4/power/wakeup
4. Donnez-lui des autorisations d'exécution:
chmod +x /etc/init.d/usbwakeup
5. Créez un lien symbolique dans /etc/rc3.d/ pour qu'il démarre au démarrage:
sudo ln -s /etc/init.d/usbwakeup /etc/rc3.d/S01usbwakeup
En redémarrant le système, tout devrait fonctionner comme spécifié dans le script. Les modifications seront persistantes car elles seront exécutées à chaque démarrage du système.
Sources consultées (en dehors de ce billet):
https://ubuntuforums.org/showthread.php?t=2388336
https://www.thomasmonaco.com/prevent-usb-devices-waking-ubuntu-sleep/
/unix/83748/the-rc0-d-rc1-d-directories-in-etc
/sys/bus/usb/devices/<device id>/product
une description textuelle.