Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Demarrage du service local aléatoire
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
Anard
Apprentice
Apprentice


Joined: 01 Oct 2020
Posts: 236

PostPosted: Tue Jan 25, 2022 6:06 pm    Post subject: Demarrage du service local aléatoire Reply with quote

Bonjour,
J'ai défini deux scripts dans /etc/local.d pour permettre le réveil du PC par la souris ou le clavier et pour réveiller le PC par wakeonlan :
Code:
anard@imack ~ $ ls -l /etc/local.d/
total 12
-rw-r--r-- 1 root root 652 21 déc.  01:14 README
-rwxr-xr-x 1 root root 185 26 juil.  2021 wakeup-by-input.start
-rwxr-xr-x 1 root root  82 11 déc.  14:49 wol.start
anard@imack ~ $ cat /etc/local.d/*.start
#!/bin/bash
# wake up from mouse click
echo enabled > /sys/bus/usb/devices/3-11/power/wakeup
# wake up from keyboard key (BT call)
echo enabled > /sys/bus/usb/devices/3-12/power/wakeup
#!/bin/bash
# start listening for wakeonlan magic packets
ethtool -s enp2s0 wol g


Ça fonctionne plutôt bien dans l'ensemble mais parfois il semble que non. Je n'ai pas pu réveiller le PC par la souris ce soir par exemple :
Code:
anard@imack ~ $ cat /sys/bus/usb/devices/*/power/wakeup
disabled
disabled
disabled
disabled
disabled
disabled
disabled
disabled
disabled
disabled
disabled
anard@imack ~ $ rc-service local status
 * status: started


On voit bien que ça ne fonctionne pas, pourtant le service local est bien démarré.
Simplement en redémarrant le service, ça fonctionne à nouveau :
Code:
anard@imack ~ $ sudo rc-service local restart
Mot de passe :
 * Stopping local ...                                                     [ ok ]
 * Starting local ...                                                     [ ok ]
anard@imack ~ $ cat /sys/bus/usb/devices/*/power/wakeup
disabled
disabled
enabled
enabled
disabled
disabled
disabled
disabled
disabled
disabled
disabled


Comment faire pour que ça fonctionne à chaque démarrage ? J'imagine que c'est un problème d'ordre de démarrage des services OpenRC, mais je ne sais pas comment régler ça ni à quel moment mon service local doit être démarré pour fonctionner correctement...
Merci pour votre aide.
_________________
"iMack" : GA-H97M-D3H, Intel i7 4790, 16Go DDR3, Intel HD4600, 2x SSD 256Go, HDD 500Go+2To / Clover - macOS Mojave / Gentoo-Xfce
"Portable" : HP 350G3, HDD 500Go / rEFInd - Xubuntu 20.04 / Windows 10
Back to top
View user's profile Send private message
xaviermiller
Bodhisattva
Bodhisattva


Joined: 23 Jul 2004
Posts: 8717
Location: ~Brussels - Belgique

PostPosted: Wed Jan 26, 2022 9:09 am    Post subject: Reply with quote

Bonjour,

Es-tu bien sûr que ces valeurs ne sont pas changées par autre chose par après? Écris dans un fichier .log durant l'exécution du script pour voir si tout se passe bien.
Est-ce que ces fichiers sont bien exécutables ? Est-ce qu'ils fonctionnent si tu les fais appelles manuellement ?

Le WOL, je l'active à l'arrêt de mes machines (scripts *.stop). Peut-être dois-tu aussi le faire pour ta souris et ton clavier.
_________________
Kind regards,
Xavier Miller
Back to top
View user's profile Send private message
El_Goretto
Moderator
Moderator


Joined: 29 May 2004
Posts: 3174
Location: Paris

PostPosted: Wed Jan 26, 2022 11:05 am    Post subject: Reply with quote

Bonjour à tous,

Même piste que xaviermiller, il faudrait regarder de plus près l'exécution des scripts, pour les rendre "robuste": à minima une valeur de retour adéquate et des logs.
Dans le même registre, est-ce que tu es sûr que le path vers tes périphériques USB est robuste peu importe l'état de la machine (cad d'un boot à l'autre, si quelqu'un débranche et rebranche ailleurs, etc.).
_________________
-TrueNAS & jails: µ-serv Gen8 E3-1260L, 16Go ECC + µ-serv N40L, 10Go ECC
-Réseau: APU2C4 (OpenWRT) + GS726Tv3 + 2x GS108Tv2 + Archer C5v1 (OpenWRT)
Back to top
View user's profile Send private message
xaviermiller
Bodhisattva
Bodhisattva


Joined: 23 Jul 2004
Posts: 8717
Location: ~Brussels - Belgique

PostPosted: Wed Jan 26, 2022 11:35 am    Post subject: Reply with quote

El_Goretto wrote:
Dans le même registre, est-ce que tu es sûr que le path vers tes périphériques USB est robuste peu importe l'état de la machine (cad d'un boot à l'autre, si quelqu'un débranche et rebranche ailleurs, etc.).


Bien vu! Je te propose de créer une règle udev pour garantir la stabilité d'accès, par exemple en créant un alias via un lien symbolique.
_________________
Kind regards,
Xavier Miller
Back to top
View user's profile Send private message
Anard
Apprentice
Apprentice


Joined: 01 Oct 2020
Posts: 236

PostPosted: Mon Jan 31, 2022 6:40 pm    Post subject: Reply with quote

Bonsoir et merci.
Le script lancé manuellement fonctionne bien puisqu'en relançant local par
Code:
# rc-service local restart
ma souris et mon clavier recommencent à réveiller le PC.
J'ai quand même modifié le script pour signaler une éventuelle erreur :
Code:
$ cat /etc/local.d/wakeup-by-input.start
#!/bin/bash
write_conf() {
   local file="/sys/bus/usb/devices/$1/power/wakeup"
   echo enabled > "$file"
   if [ $? -gt 0 ]; then
      logger local.d Impossible to write to $file
      exit 1
   fi
   return 0
}

# wake up from mouse click
write_conf 3-11
# wake up from keyboard key (BT call)
write_conf 3-12

exit 0


En effet, si je change de port USB, ça ne fonctionnera plus mais ça ne devrait pas arriver (et j'en suis conscient donc je saurais quoi faire).
Et puis, créer une règle udev, j'ai peur que ce ne soit pas (encore) de mon niveau :)

Je ne comprends pas : si je lance ces scripts lors de l'arrêt (*.stop) les valeurs seront correctement enregistrées lors du redémarrage ?
Merci.
_________________
"iMack" : GA-H97M-D3H, Intel i7 4790, 16Go DDR3, Intel HD4600, 2x SSD 256Go, HDD 500Go+2To / Clover - macOS Mojave / Gentoo-Xfce
"Portable" : HP 350G3, HDD 500Go / rEFInd - Xubuntu 20.04 / Windows 10
Back to top
View user's profile Send private message
Anard
Apprentice
Apprentice


Joined: 01 Oct 2020
Posts: 236

PostPosted: Mon Jan 31, 2022 8:15 pm    Post subject: Reply with quote

Aussi, je comprends mal les différences entre les différents modes de veille.
Dans l'invite de déconnexion d'Xfce, celui-ci propose "Mise en Veille", "Mise en Veille Hybride" et "Mise en Veille prolongée"
Quelles différences entre ces 3 modes ?
En revanche dans les préférences du Gestionnaire d'Alimentation, il n'y a plus le mode "hybride". Mes réglages demandent une mise en veille simple au bout de 45 minutes d'inactivité.
Est-ce que quelque chose d'autre pourrait déclencher une veille plus profonde du système quand je suis parti toute la journée ? Je le soupçonne car parfois quand je reviens, des applications lancées à mon départ ont été quittées. Ce qui pourrait peut-être expliquer que ce mode supprime également mes réglages faits dans les scripts wakeup-on-input.start et wol.start
Merci pour vos lumières.
_________________
"iMack" : GA-H97M-D3H, Intel i7 4790, 16Go DDR3, Intel HD4600, 2x SSD 256Go, HDD 500Go+2To / Clover - macOS Mojave / Gentoo-Xfce
"Portable" : HP 350G3, HDD 500Go / rEFInd - Xubuntu 20.04 / Windows 10
Back to top
View user's profile Send private message
El_Goretto
Moderator
Moderator


Joined: 29 May 2004
Posts: 3174
Location: Paris

PostPosted: Thu Feb 03, 2022 11:10 pm    Post subject: Reply with quote

  • Mise en Veille: suspend to RAM
  • Mise en Veille prolongée: suspend to Disk

L'hybride... je n'ai trouvé que des références à de la doc Microsoft, relative à du windows.
_________________
-TrueNAS & jails: µ-serv Gen8 E3-1260L, 16Go ECC + µ-serv N40L, 10Go ECC
-Réseau: APU2C4 (OpenWRT) + GS726Tv3 + 2x GS108Tv2 + Archer C5v1 (OpenWRT)
Back to top
View user's profile Send private message
netfab
Veteran
Veteran


Joined: 03 Mar 2005
Posts: 1956
Location: 127.0.0.1

PostPosted: Fri Feb 04, 2022 11:59 am    Post subject: Reply with quote

Salut,

Le mode hybride, c'est un mix des deux autres modes.
Quote:

Suspend to both
A hybrid of the aforementioned methods, sometimes called hybrid suspend. Saves the machine's state into swap space, but does not power off the machine. Instead, it invokes usual suspend to RAM. Therefore, if the battery is not depleted, the system can resume from RAM. If the battery is depleted, the system can be resumed from disk, which is much slower than resuming from RAM, but the machine's state has not been lost.

https://wiki.archlinux.org/title/Power_management/Suspend_and_hibernate
Back to top
View user's profile Send private message
Anard
Apprentice
Apprentice


Joined: 01 Oct 2020
Posts: 236

PostPosted: Sat Feb 05, 2022 9:34 am    Post subject: Reply with quote

Merci. et donc comment agit le service local ? Les scripts .stop sont lancés lors d'un mode de mise en veille ? D'après la doc, je croyais comprendre qu'ils n'étaient lancés que lors de l'extinction.
_________________
"iMack" : GA-H97M-D3H, Intel i7 4790, 16Go DDR3, Intel HD4600, 2x SSD 256Go, HDD 500Go+2To / Clover - macOS Mojave / Gentoo-Xfce
"Portable" : HP 350G3, HDD 500Go / rEFInd - Xubuntu 20.04 / Windows 10
Back to top
View user's profile Send private message
netfab
Veteran
Veteran


Joined: 03 Mar 2005
Posts: 1956
Location: 127.0.0.1

PostPosted: Sat Feb 05, 2022 12:13 pm    Post subject: Reply with quote

Anard wrote:
Les scripts .stop sont lancés lors d'un mode de mise en veille ?

Je ne crois pas.
Anard wrote:
D'après la doc, je croyais comprendre qu'ils n'étaient lancés que lors de l'extinction.

C'est normalement le cas.

Active l'option suivante dans /etc/rc.conf :
Code:

rc_logger="YES"

Puis, tu crées le fichier /etc/conf.d/local avec
Code:

rc_verbose=yes

Lorsque ton problème arrive, regarde le contenu de /var/log/rc.log pour voir si des erreurs apparaissent lors du démarrage du script *.start.
Back to top
View user's profile Send private message
Anard
Apprentice
Apprentice


Joined: 01 Oct 2020
Posts: 236

PostPosted: Sun Feb 06, 2022 8:41 am    Post subject: Reply with quote

Bien.
Au démarrage ce matin, le clavier n'est pas activé pour le réveil du PC. Il semble qu'au moment où le service local est lancé, tous les périphériques USB ne sont pas configurés:
Code:
rc default logging started at Sun Feb  6 09:21:20 2022

 * Starting automounter ...
 [ ok ]
 * Starting dbus ...
 [ ok ]
 * Starting bluetooth ...
 [ ok ]
 * Starting sysklogd ...
 [ ok ]
 * Starting cronie ...
 [ ok ]
 * Starting cupsd ...
 [ ok ]
 * Starting DHCP Client Daemon ...
 [ ok ]
 * Mounting network filesystems ...
 [ ok ]
 * Setting up lightdm ...
 [ ok ]
 * Initializing sensors ...
 [ ok ]
 * Starting ProFTPD ...
 [ ok ]
 * Starting sshd ...
 [ ok ]
 * Starting local ...
 *   Executing "/etc/local.d/wakeup-by-input.start" ...
/etc/local.d/wakeup-by-input.start: ligne 5: /sys/bus/usb/devices/3-12/power/wakeup: Aucun fichier ou dossier de ce type
 *   Execution of "/etc/local.d/wakeup-by-input.start" failed.
 [ !! ]
 *   Executing "/etc/local.d/wol.start" ...
 [ ok ]
 [ !! ]

rc default logging stopped at Sun Feb  6 09:21:22 2022

anard@imack ~ $ cat /sys/bus/usb/devices/3-
3-0:1.0/  3-1:1.0/  3-11:1.2/ 3-12:1.0/ 3-4:1.1/  3-7:1.0/  3-7:1.3/ 
3-1/      3-11:1.0/ 3-11:1.3/ 3-4/      3-4:1.2/  3-7:1.1/  3-8/     
3-11/     3-11:1.1/ 3-12/     3-4:1.0/  3-7/      3-7:1.2/  3-8:1.0/ 
anard@imack ~ $ cat /sys/bus/usb/devices/*/power/wakeup
disabled
disabled
enabled
disabled
disabled
disabled
disabled
disabled
disabled
disabled
disabled

_________________
"iMack" : GA-H97M-D3H, Intel i7 4790, 16Go DDR3, Intel HD4600, 2x SSD 256Go, HDD 500Go+2To / Clover - macOS Mojave / Gentoo-Xfce
"Portable" : HP 350G3, HDD 500Go / rEFInd - Xubuntu 20.04 / Windows 10
Back to top
View user's profile Send private message
netfab
Veteran
Veteran


Joined: 03 Mar 2005
Posts: 1956
Location: 127.0.0.1

PostPosted: Sun Feb 06, 2022 9:18 am    Post subject: Reply with quote

C'est pour cela que tu devrais écrire une règle udev pour chacun de tes péripériques. Ce n'est pas si compliqué.
Udev lancera ta commande au moment où un périphérique sera reconnu et disponible.
Un petit tuto ici : https://linuxconfig.org/tutorial-on-how-to-write-basic-udev-rules-in-linux
Back to top
View user's profile Send private message
Anard
Apprentice
Apprentice


Joined: 01 Oct 2020
Posts: 236

PostPosted: Sun Feb 06, 2022 9:28 am    Post subject: Reply with quote

Merci je vais étudier cette voie. En attendant, j'ai modifié mon script pour attendre l'arrivée du périphérique :
Code:
#!/bin/bash
wake_by_usb() {
   while [ $# -gt 0 ]; do
      local file="/sys/bus/usb/devices/$1/power/wakeup"
      local count=0
      while
         [ ! -f "$file" ] && [ $count -lt 5 ]
      do sleep .5 && let count+=1; done
      [ -f "$file" ] && echo enabled > "$file" || logger local.d : File $file not found
      shift
   done
   return 0
}

# wake up from mouse click
wake_by_usb 3-11
# wake up from keyboard key (BT call)
wake_by_usb 3-12

exit 0

_________________
"iMack" : GA-H97M-D3H, Intel i7 4790, 16Go DDR3, Intel HD4600, 2x SSD 256Go, HDD 500Go+2To / Clover - macOS Mojave / Gentoo-Xfce
"Portable" : HP 350G3, HDD 500Go / rEFInd - Xubuntu 20.04 / Windows 10
Back to top
View user's profile Send private message
Anard
Apprentice
Apprentice


Joined: 01 Oct 2020
Posts: 236

PostPosted: Sun Feb 06, 2022 3:19 pm    Post subject: Reply with quote

Voici ma règle, pour le clavier, c'est un clavier BT et BCM20702A0 correspond au nom de l'adaptateur
Si j'ai bien compris, avec ce code je peux utiliser une autre souris et qu'elle soit reconnue comme telle à condition que son attribut "product" se termine par "mouse"

Code:
anard@imack ~ $ cat /etc/udev/rules.d/70-mouse-keyboard-wakeup.rules
ACTION=="add" \
, ATTR{product}=="BCM20702A0|[A-Za-z -_]*[mM]ouse" \
, ATTR{power/wakeup}="enabled"

_________________
"iMack" : GA-H97M-D3H, Intel i7 4790, 16Go DDR3, Intel HD4600, 2x SSD 256Go, HDD 500Go+2To / Clover - macOS Mojave / Gentoo-Xfce
"Portable" : HP 350G3, HDD 500Go / rEFInd - Xubuntu 20.04 / Windows 10
Back to top
View user's profile Send private message
Anard
Apprentice
Apprentice


Joined: 01 Oct 2020
Posts: 236

PostPosted: Wed Feb 22, 2023 8:34 pm    Post subject: Reply with quote

Rebonjour,

Ce petit message aussi comme un post-it :)
Parfois, mon adaptateur Bluetooth semble changer de nom, de BCM20702A0 à BCMautrechose. J'ai fait plusieurs tentatives pour que ma règle udev fonctionne correctement dans tous les cas, puis finalement, je teste une autre méthode trouvée en suivant les explications très complètes de LinuxEmbedded

Voici ma dernière règle udev, plus simple que la précédente et prenant à priori en compte toutes les souris et claviers, voire joysticks, dites-moi si vous pensez que je fais fausse route :

Code:
$ cat /etc/udev/rules.d/70-mouse-keyboard-wakeup.rules
ACTION=="add" \
, KERNELS=="input*"
, ATTR{power/wakeup}="enabled"


Merci pour les retours :)

EDIT : Eh bien après reboot ça ne va ps du tout, tous mes périphériques USB peuvent réveiller l'ordinateur. Je suis donc revenu à la version précédente qui prend een compte les changements que j'ai pu observer dans le nom de mon adaptateur BT :
Code:
$ cat /etc/udev/rules.d/70-mouse-keyboard-wakeup.rules
ACTION=="add" \
, ATTR{product}=="BCM20702A0|BCM920702|[A-Za-z -_]*[mM]ouse|[A-Za-z -_]*[kK]eyboard" \
, ATTR{power/wakeup}="enabled"

_________________
"iMack" : GA-H97M-D3H, Intel i7 4790, 16Go DDR3, Intel HD4600, 2x SSD 256Go, HDD 500Go+2To / Clover - macOS Mojave / Gentoo-Xfce
"Portable" : HP 350G3, HDD 500Go / rEFInd - Xubuntu 20.04 / Windows 10
Back to top
View user's profile Send private message
Adrien
Advocate
Advocate


Joined: 13 Jul 2004
Posts: 2310
Location: Bretagne

PostPosted: Mon Apr 17, 2023 9:19 am    Post subject: Reply with quote

Anard wrote:
EDIT : Eh bien après reboot ça ne va ps du tout, tous mes périphériques USB peuvent réveiller l'ordinateur. Je suis donc revenu à la version précédente qui prend een compte les changements que j'ai pu observer dans le nom de mon adaptateur BT :
Code:
$ cat /etc/udev/rules.d/70-mouse-keyboard-wakeup.rules
ACTION=="add" \
, ATTR{product}=="BCM20702A0|BCM920702|[A-Za-z -_]*[mM]ouse|[A-Za-z -_]*[kK]eyboard" \
, ATTR{power/wakeup}="enabled"


J'ai pas mal de choses à configurer/nomer avec udev aussi et ne suis pas vraiment un spécialiste mais tu pourrais jeter un oeil à ce guide qui est très complet.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum