4.1 KiB
4.1 KiB
Fix Permissions udev - ASUS Keyboard RGB
Problème Initial
La règle udev simple ne fonctionnait pas :
SUBSYSTEM=="leds", KERNEL=="asus::kbd_backlight", GROUP="kbdled", MODE="0660"
Symptôme : Les permissions restaient à root:root même après rechargement udev et redémarrage.
Diagnostic
udevadm test /sys/class/leds/asus::kbd_backlight 2>&1 | grep -E "(GROUP|MODE|kbdled)"
Résultat vide → La règle n'était pas déclenchée.
Solution Fonctionnelle
Règle udev Corrigée
sudo tee /etc/udev/rules.d/99-asus-kbd.rules > /dev/null << 'EOF'
ACTION=="add", SUBSYSTEM=="leds", KERNEL=="asus::kbd_backlight", TAG+="uaccess", RUN+="/bin/sh -c 'chgrp kbdled /sys/class/leds/asus::kbd_backlight/brightness && chmod g+w /sys/class/leds/asus::kbd_backlight/brightness'"
ACTION=="add", SUBSYSTEM=="leds", KERNEL=="asus::kbd_backlight", TAG+="uaccess", RUN+="/bin/sh -c 'chgrp kbdled /sys/class/leds/asus::kbd_backlight/kbd_rgb_mode && chmod g+w /sys/class/leds/asus::kbd_backlight/kbd_rgb_mode'"
EOF
Pourquoi Ça Fonctionne
ACTION=="add": La règle se déclenche uniquement lors de l'événement "add" (ajout du device)TAG+="uaccess": Ajoute un tag pour l'accès utilisateurRUN+=: Exécute une commande shell directement/bin/sh -c '...': Lance un shell pour exécuter plusieurs commandeschgrp kbdled: Change le groupe du fichierchmod g+w: Ajoute les permissions d'écriture pour le groupe
Application de la Règle
Après avoir créé la règle, il faut déclencher l'événement "add" :
# Recharger les règles udev
sudo udevadm control --reload-rules
# Retirer le module kernel
sudo modprobe -r asus_nb_wmi
# Réinsérer le module (déclenche l'événement "add")
sudo modprobe asus_nb_wmi
# Attendre que le module se charge
sleep 2
Vérification
ls -l /sys/class/leds/asus::kbd_backlight/brightness
ls -l /sys/class/leds/asus::kbd_backlight/kbd_rgb_mode
Résultat attendu :
-rw-rw-r-- 1 root kbdled 4096 ... brightness
--w--w---- 1 root kbdled 4096 ... kbd_rgb_mode
Test Fonctionnel
# Test brightness
echo 3 > /sys/class/leds/asus::kbd_backlight/brightness
# Test RGB (orange)
echo "1 0 255 165 0 0" > /sys/class/leds/asus::kbd_backlight/kbd_rgb_mode
Aucune erreur "Permission denied" ne doit apparaître.
Matériel Testé
- Modèle : ASUS TUF Gaming A16 FA608UH
- OS : Debian GNU/Linux 13 (trixie)
- Kernel : 6.12.x
- Module :
asus_nb_wmi
Fichiers Concernés
sysfs
/sys/class/leds/asus::kbd_backlight/
├── brightness (contrôle intensité 0-3)
└── kbd_rgb_mode (contrôle RGB, format "1 0 R G B 0")
udev
/etc/udev/rules.d/99-asus-kbd.rules
Groupe système
/etc/group (ligne kbdled)
Alternative : Service systemd
Si la règle udev ne fonctionne toujours pas (rare), on peut utiliser un service systemd :
# Script
sudo tee /usr/local/bin/asus-kbd-permissions.sh > /dev/null << 'EOF'
#!/bin/bash
sleep 2
chgrp kbdled /sys/class/leds/asus::kbd_backlight/brightness 2>/dev/null
chmod 0660 /sys/class/leds/asus::kbd_backlight/brightness 2>/dev/null
chgrp kbdled /sys/class/leds/asus::kbd_backlight/kbd_rgb_mode 2>/dev/null
chmod 0660 /sys/class/leds/asus::kbd_backlight/kbd_rgb_mode 2>/dev/null
EOF
sudo chmod +x /usr/local/bin/asus-kbd-permissions.sh
# Service
sudo tee /etc/systemd/system/asus-kbd-permissions.service > /dev/null << 'EOF'
[Unit]
Description=ASUS Keyboard RGB Permissions
After=multi-user.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/asus-kbd-permissions.sh
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable asus-kbd-permissions.service
sudo systemctl start asus-kbd-permissions.service
Références
- udev manual :
man 7 udev - Module kernel : Documentation du driver
asus-nb-wmi - Tests réalisés : 2025-12-20
Note : Ce fix est intégré dans la documentation officielle (docs/INSTALL.md) et dans le script d'installation (tools/install-local.sh).