Redémarrage automatique d'un service

Tags: #<Tag:0x00007f78ca37a1c8>

Bonjour,
Mon service displaylink-driver.service démarre bien au démarrage de l’hôte mais devrait démarrer aussi lors du branchement d’un périphérique usb (compatible DP) or ce n’est pas le cas ici (car après le débranchement du périphérique ou de la mise en veille, le service passe en loaded /inactive (dead) mais ne redémarre pas lors du rebranchement (mais quand je kill le service, il redémarre bien automatiquement). En gros je n’ai pas de HotPlug (je dois démarrer le service manuellement) et j’aurai voulu savoir si cela venait plus du systemd/udev mal configuré ou plus du driver ? j’ai farfouillé dans les confs mais pour moi ça m’a l’air ok donc j’aurai voulu votre avis !

infos :
Micro-Star International Co., Ltd. GL62M 7RDX/MS-16J9, BIOS E16J9IMS.324 03/23/2018, EFI v2.50 by American Megatrends
Linux version 5.10.0-1-amd64 / Debian 11
DP Driver : 5.3.1.34
evdi-dkms : 1.7.2 (1.9.0 not work, virtual screen ko but dkms install and run ok)
DKMS : 2.8.4-1

99-displaylink.rules.txt (784 Octets) debtr-systemd-displaylink-driver.html (6,5 Ko) displaylink-debian.sh.txt (24,2 Ko) displaylink-driver.service.txt (397 Octets) evdi.html (10,8 Ko) suspend.sh.txt (976 Octets) udev.sh.txt (2,1 Ko)

ce n’est pas un service fourni par Debian

systemctl status displaylink-driver.service
Unit displaylink-driver.service could not be found.

vaut mieux te renseigner à la source DisplayLink
Threads in Forum : Linux and Open Source

Pour en savoir plus sur un service systemd

Oui il n’est effectivement pas founit par debian mais ce n’est pas vraiment le fourniseur que je remet en cause (car la seule distrib prise en charge officiellement est Ubuntu) mais je veux juste comprendre comment configurer le service.

J’ai lu un peu la doc de systemd et j’ai une question : comment savoir quel type de signal a arrété le service quand je débranche le périphérique usb ?

.syslog

Jan 18 18:58:04 debian kernel: [ 3350.807534] evdi: [D] evdi_detect:94 (dev=0) poll connector state: disconnected
Jan 18 18:58:04 debian kernel: [ 3350.807543] evdi: [D] evdi_detect:94 (dev=0) poll connector state: disconnected
Jan 18 18:58:04 debian kernel: [ 3350.807551] evdi: [D] evdi_detect:94 (dev=0) poll connector state: disconnected
Jan 18 18:58:04 debian kernel: [ 3350.842231] evdi: [D] evdi_painter_dpms_notify:654 (dev=0) Notifying dpms mode: 3
Jan 18 18:58:04 debian kernel: [ 3350.842233] evdi: [W] evdi_painter_send_event:307 Painter is not connected!
Jan 18 18:58:04 debian kernel: [ 3350.842240] evdi: [D] evdi_painter_dpms_notify:654 (dev=0) Notifying dpms mode: 3
Jan 18 18:58:04 debian kernel: [ 3350.842253] evdi: [W] evdi_painter_send_event:307 Painter is not connected!
Jan 18 18:58:04 debian kernel: [ 3350.842261] evdi: [D] evdi_painter_dpms_notify:654 (dev=-1) Notifying dpms mode: 3
Jan 18 18:58:04 debian kernel: [ 3350.842262] evdi: [W] evdi_painter_send_event:307 Painter is not connected!
Jan 18 18:58:04 debian kernel: [ 3350.842271] evdi: [D] evdi_painter_dpms_notify:654 (dev=-1) Notifying dpms mode: 3
Jan 18 18:58:09 debian systemd[1]: displaylink-driver.service: Succeeded.
Jan 18 18:58:09 debian systemd[1]: Stopped DisplayLink Driver Service.
Jan 18 18:58:09 debian systemd[1]: displaylink-driver.service: Consumed 1min 7.803s CPU time.

Pour gérer une unit.service de systemd sur un event c’est à l’aide de systemd-udevd.service, mais je pratique pas ce type de bricolage à la maison …

Un lien expliquant comment suivre un event à l’aide de systemd sur de l’ambarqué :