Python script automatisation au démarrage - SystemD - Network Manager

Demande d'aide : c'est ici.
Répondre
Gronjus
Messages : 1
Inscription : 31 janv. 2024, 19:31
Status : Hors-ligne

Bonjour à tous,

Je suis un ingénieur en électronique embarqué et depuis deux mois, j'ai commencé à développer sur une Debian Distro pour un client.

Je développe actuellement un projet qui comporte une partie qui gère un MODEM4G et la connectivité du système d'exploitation. Le modem est géré par des commandes AT et la connectivité os principalement avec les commandes ping et curl.

Le script python fonctionne bien jusqu'à présent et je l'ai testé pendant environ 2 semaines. J'en suis satisfait mais maintenant, je suis dans la phase d'automatisation du script.

J'ai essayé de lancer mon script au démarrage avec systemd et avec la vieille méthode (init.d). Les deux ont lancé le script correctement mais j'ai des problèmes avec le résultat de mes commandes ping et curl.

Une fois que le modem a été configuré avec les commandes AT, j'utilise une commande "nmcli device connect" du paquet NetworkManager pour obtenir une adresse IP du réseau et je peux ensuite interagir avec la commande réseau comme ping et curl.

Lorsqu'elle est lancée en tant que service systemd ou avec l'aide de init.d, la sortie de la commande échoue. Je ne peux pas faire de ping sur l'hôte et le résultat de curl est "000".

Pourtant, en regardant le statut de Network Manager, il y a un ip, dns, route valide et même en dehors du script, en utilisant les commandes ping et curl ont le même comportement d'échec.

En cherchant des solutions, j'ai découvert que Network Manager utilise la session DBUS pour que le service fonctionne et il semble complexe d'implémenter ce type de package avec un script lancé au démarrage.

Je suis un peu coincé et je me demande si quelqu'un a des suggestions de dépannage plus approfondies.

J'ai déjà configuré la journalisation du Network Manager en tant que debug mais rien de pertinent.

Merci beaucoup pour votre aide !

Antoine
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 4962
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : En ligne

Bonjour, peut étre un problème de droits lié à l'utilisateur.
Est ce que l'utilisateur qui lance le script via systemd est le même que celui qui le lance manuellement ?
Autre piste, est ce que tu as bien préciser à systemd tous les logiciels qui doivent étre lancés avant ton script.
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 4974
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Hello et bienvenue sur le Forum,

On peut voir les fichiers de démarrage d'init ou de systemd pour se faire une idée ?
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Répondre