2 votes

Automatiquement activer les interfaces réseau socketcan au démarrage (can0, ...)

J'ai quelques machines qui utilisent socketcan pour les interfaces CAN.

Le pilote matériel est chargé avec modprobe pcan, et ce module est actuellement configuré de manière magique pour se lancer au démarrage, ce qui fonctionne bien.

Mais à chaque redémarrage, je dois manuellement activer les interfaces réseau, par exemple :

sudo ip link set can0 up
sudo ip link set can1 up
sudo ip link set can2 up
sudo ip link set can3 up

Quel est le meilleur moyen d'activer les interfaces canX au démarrage (en veillant également à ce qu'elles ne s'activent pas avant le chargement du module pcan) ?

2voto

Mr.Lee Points 881

Je suis assez sûr que vous pouvez simplement les ajouter à votre fichier rc.local

sudo nano /etc/rc.local

#!/bin/sh -e

sudo ip link set can0 up
sudo ip link set can1 up
sudo ip link set can2 up
sudo ip link set can3 up

exit 0

0voto

luator Points 136

J'ai trouvé une solution intéressante en utilisant systemd-networkd qui devrait fonctionner pour Ubuntu >=19.04 :

Pour activer automatiquement toutes les interfaces CAN, créez un fichier /etc/systemd/network/80-can.network avec le contenu suivant :

[Match]
Name=can*

[CAN]
BitRate=500K

A la place de "can*", vous pouvez également spécifier une interface spécifique (par exemple "can0"). Et bien sûr, vous pouvez ajuster le débit en fonction de vos besoins. Consultez man systemd-network pour toutes les options disponibles dans la section [CAN].

Ensuite, redémarrez le service systemd-networkd :

sudo systemctl restart systemd-networkd

Pour le démarrer automatiquement au démarrage :

sudo systemctl enable systemd-networkd

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X