Récupérer état eth0 en temps reel


#1

Hello à toutes et à tous.

Pour mon projet, j’utilise des scripts python pour alimenter ou éteindre des leds sur mes ports gpio(Led pour on off,une Led pour les mises à jour etc…).
J’aimerais allumer une Led quand je branche ma carte en éthernet et éteindre cette led quand je débranche du réseau.
J’avais pense à un cron mais l’idéal serait du temps réel.
Quelqu’un aurait une idée :slight_smile:
Merci par avance.


#2

Regarde sans doute du côté du contenu de /sys/class/net/ethx/carrier
Si c’est 1 c’est brancher il me semble pour la manière cron régulière.

Sinon ce sera selon le contenu de ton system avec udev ou systemd-networkd qu’il faudra jouer.
Pour la seconde proposition je dirait sans doute que le script serait au niveau du link file de ta gestion du réseau (grosso modo tu lui dit de jouer ton script comme une règle udev mais via systemd).


#3

Hello
Merci pour ta réponse.
Je vais explorer ta deuxième proposition .:slight_smile:


#4

Tu peux aussi surveiller les logs du noyau pour choper les messages de connexion et de déconnexion.


#5

Merci pour ta réponse et désolé de te remercier que maintenant (beaucoup de boulot :p)
Dès que j’ai un moment je me penche sur vos solutions, en espérant rien deglinguer dans ma carte avec ma maladresse :p.


#6

Tu peux utiliser le framework “leds” directement intégré à Linux, et configurer un trigger adéquat si il existe.

https://www.kernel.org/doc/Documentation/devicetree/bindings/leds/common.txt

https://www.kernel.org/doc/Documentation/devicetree/bindings/leds/leds-gpio.txt

Par exemple, sur une “led” enregisrée dans le noyau:

cd /sys/class/leds/input2::scrolllock
-> % cat trigger 
[none] kbd-scrolllock kbd-numlock kbd-capslock kbd-kanalock kbd-shiftlock kbd-altgrlock kbd-ctrllock kbd-altlock kbd-shiftllock kbd-shiftrlock kbd-ctrlllock kbd-ctrlrlock usb-gadget usb-host disk-activity disk-read disk-write ide-disk mtd nand-disk cpu cpu0 cpu1 cpu2 cpu3 panic audio-mute audio-micmute r8169-300:00:link r8169-300:00:1Gbps r8169-300:00:100Mbps r8169-300:00:10Mbps 
-> % cat trigger 
[none] kbd-scrolllock kbd-numlock kbd-capslock kbd-kanalock kbd-shiftlock kbd-altgrlock kbd-ctrllock kbd-altlock kbd-shiftllock kbd-shiftrlock kbd-ctrlllock kbd-ctrlrlock usb-gadget usb-host disk-activity disk-read disk-write ide-disk mtd nand-disk cpu cpu0 cpu1 cpu2 cpu3 panic audio-mute audio-micmute r8169-300:00:link r8169-300:00:1Gbps r8169-300:00:100Mbps r8169-300:00:10Mbps 
-> % echo r8169-300:00:link | sudo tee trigger
r8169-300:00:link