Mon laptop s'allume tout seul à 16h30 !

Salut à tous !

Problème bizarre que je remarque juste maintenant à cause des vacances : mon ordinateur portable s’allume tout seul, tous les jours, à 16h30.
Un script cron a-t-il la capacité de “réveiller” la machine (qui est éteinte) ? Le système tout court en est-il capable alors que la machine n’est plus sous tension ? Je pensais que seule la pile du BIOS restait alimentée.

Merci d’avance pour toute piste :slightly_smiling:

Salut,

La pile du bios n’est pas alimentée, c’est elle qui alimente le bios et notamment l’horloge qui a reçu l’ordre de réveiller ta machine à cette heure là.
Tu devrais aller voir dans le bios, c’est là que çà se passe :laughing:

16h30 c’est l’heure du goûter :041

Salut à vous deux,

J’ai évidemment regardé dans le BIOS, et aucune option ne laisse penser à un réveil quelconque (ni au goûter). Le WOL (Wake On LAN) est même désactivé.

D’autres pistes ?

il existe une commande pour régler cela, même s’il n’y a pas l’option apparente dans le BIOS

apt-cache show nvram-wakeup

Voir aussi la commande rtcwake (en particulier l’option “–mode no”) incluse en standard :wink:

Il y a peut-être un script qui fait appel à cette commande sur ton système (genre dans le /etc/rc.local par exemple)…

il n’est pas besoin d’utiliser nvram-wakeup, c’est même déconseillé (obsolete).
C’est l’horloge du Bios qui réveille ta machine. tu devrais y trouver une option du type Wake from RTC, Wake From Alarm, RTC Resume (dans power management), à désactiver.

Sur certain bios il est même possible d’allumer le PC avec l’appuie sur une touche du clavier :unamused:

Ah je confirme, ça ne marche qu’avec les vieux machins d’avant 2005 ou un truc du genre. Mais c’était génial (guess-helper, programme super smart).

La version récente pour mettre une alarme RTC dans le système, c’est rtcwake.
“cat /sys/class/rtc/rtc0/wakealarm” va peut-être t’afficher un gros nombre, tu le colles dans un truc comme epochconverter.com et tu verras si ça dit 16h30 :slightly_smiling:

Le réveil par RTC utilise une date absolue, c’est donc un pistolet à un coup. Le reveil quotidien à 16h30 sent fortement le réglage dans le BIOS. Ou alors tu as un process rigolo qui s’amuse tous les jours à re-programmer un reveil RTC pour le lendemain, ce qui paraît assez peu probable si ta machine n’est pas un enregistreur mythtv…

Merci à tous, j’apprends plein de choses utiles !

Cependant, mon problème persiste :

  1. Le BIOS du portable est (très) succint et ne contient absolument rien au sujet du boot (tout juste l’ordre des périphériques à utiliser, et l’activation/désactivation de ceux-ci)
  2. Un grep -r rtcwake /etc/* ne me renvoie que quelques occurences dans bash_completion, donc à priori rtcwake n’est pas appelé par un processus du boot
  3. /sys/class/rtc/rtc0/wakealarm est vide

Je m’en remets à nouveau à vous…

Je ne comprends pas comment un script pourrait intervenir à ce niveau.
C’est obligatoirement au niveau bios qu’il faut chercher.
Une machine éteinte physiquement n’a de seule vie qu’à partir de la pile interne.
ou alors la machine n’est pas totalement débranchée du secteur ou de la batterie.
Commencer par tester en enlevant la batterie en plus du débranchement physique EDF.

Si y’a rien dans la BIOS c’est assez dingue en effet :slightly_smiling:
T’es pas sommnambul ( ou t’as de la bonne beuh ?)?Tu vois le pc s’allumer ou c’est ta petite soeur qui utilise ton pc au goûter et tu crois qu’il s’allume seul ?
Depuis quand as tu ce problême ? T’as installé un truc étrange ? Ton éléctricien est passé et as touché ton alim ? ? Un mec te veux du mal ?
Ca fait rigoler en tout cas , vu que c’est pas a moi que ca arrive !

Le process de réveil est simple. Un logiciel va écrire dans une case mémoire du BIOS la date du prochain réveil (il existe plusieurs solutions pour cela.
Par exemple sur un enregistreur tel que mythtv, c’est au moment de l’extinction que mythwelcome va écrire la date du prochain enregistrement programmé.
Lorsque la machine est éteinte, un bout du BIOS est toujours alimenté par la pile, c’est l’horloge (RTC). Lorsque la valeur de l’horloge correspond à la date de réveil programmée, le BIOS fait l’équivalent d’un appui sur la touche ON, et la bête se réveille.
Dommage que ton BIOS n’ai pas la possibilité d’inhiber cette fonction (qui je le rèpéte est dans la partie power management, et non une option de boot).
Il te faut donc trouver quel process écrit régulièrement une nouvelle date de réveil dans la RTC.

Une piste à explorer …
Il y a un script qui réveille le pc mis dans les tréfonds de cette partie du forum. Ce script était basé sur le daemon at permettant l’exécution de tâches différées. Peut être devrais tu regarder si tu as “atd” d’actif avec la commande # sysv-rc-conf

[quote=“douarn”]Une piste à explorer …
Il y a un script qui réveille le pc mis dans les tréfonds de cette partie du forum. Ce script était basé sur le daemon at permettant l’exécution de tâches différées. Peut être devrais tu regarder si tu as “atd” d’actif avec la commande # sysv-rc-conf[/quote]

Ou regarder# ls -l /etc/rc2.d/*atd
si le lien pour atd commence par S ca veut dire qu’il est lancé au démarrage ( Start); si c’est K ( kill) , il ne l’est pas.
sysv-rc-conf n’est qu’une interface plus jolie pour voir ces liens.

Et pour voir si le service tourne actuellement:

$ /etc/init.d/atd status [ ok ] atd is running.

# atq pour lister les taches programmées.
Il y a aussi cron et anacron qui s’occupent des tâches planifiées:

$ crontab -l no crontab for gab1
http://wiki.debian-facile.org/manuel:crontab
etc…

Mais atd ( et companie ) en lui même ne fait rien de mal; il n’est la que pour lancer des actions ( scripts etc… ) programmées quand le pc est ALLUME.
Quel script penses tu que atd as pu lancer pour que ce fameux script se permette d’aller bidouiller le BIOS pour réussir a allumer le PC ?
As tu un lien ?

@Piratebab: sais tu comment tracer ou logger les appels systèmes qui vont toucher au BIOS ?
Sinon comment peut-il réussir a trouver quel programme fait cela ?

@seb-ksl: qu’as tu installé comme programme sur ton PC qui pourrait faire cela ? Des programmes d’origines douteuses ( hors dépots officiels debian ? scripts téléchargés dans un sombre forum ?). Eventuellement mythv comme l’a dit piratebab ?

Merci à Piratebab pour les infos sur la possibilité pour un programme de modifier le Bios pour programmer un allumage du PC.
Je suis tombé sur le culs!

Bonjour à tous,

Alors pour clore la piste des esprits frappeurs : ma petite sœur n’est pas en cause, j’ai pu assister au phénomène de mes propres yeux à 16h30 pile, je n’ai rien installé de douteux (rien en dehors des dépôts debian à part Skype et Dropbox), le réseau électrique est aux normes (et de toute façon si c’était un problème électrique il ne me ferait pas le coup tous les jours à 16h30), et je suis sain d’esprit.

-Dans un registre plus technique : mon BIOS est réellement très succint et n’a même pas de section “Power management”. Je parlais de la section boot parce que c’est ce qui s’en rapproche le plus (c’est là qu’ils ont fourré le Wake On LAN).

-Comme je l’ai déjà dit, grep n’a trouvé aucune occurence de rtcwake dans tout /etc/ (donc comprenant les scripts du boot) : à priori aucun de ces scripts ne l’appelle, d’autant plus que le fichier censé contenir l’heure epoch de réveil de la machine est vide.

-J’avais déjà vérifié les scripts lancés par les runlevels S et 2, et rien d’exotique non plus. ATD en fait partie effectivement, mais je ne comptais le désactiver qu’en dernier recours. D’ailleurs il n’est pas indispensable au bon fonctionnement de la machine ?

-J’avais déjà vérifié aussi cron et crontab, qui sont tous les deux cleans. Pour info, les seuls scripts “daily” de cron sont 0anacron, aptitude, dpkg, logrotate, mlocate, standard, apt, bsdmainutils, exim4-base, man-db et passwd. Et aucun d’eux ne semble appeler rtcwake non plus.

D’autres idées avant que j’appelle une cartomancienne ?

[quote=“SwitchT”]Mais atd ( et companie ) en lui même ne fait rien de mal; il n’est la que pour lancer des actions ( scripts etc… ) programmées quand le pc est ALLUME.
Quel script penses tu que atd as pu lancer pour que ce fameux script se permette d’aller bidouiller le BIOS pour réussir a allumer le PC ?
As tu un lien ?[/quote]
Le script dont je parle peux faire sortir d’hibernation le pc (OK la bécane n’est donc pas éteinte au sens propre du terme) à une heure fixée. Le script est présent dans la partie programmation du forum (mars ou avril 2011 de tête).

Si j’avais la solution pour trouver le logiciels qui va écrire l’heure dans le RTC, je l’aurais donnée!
Je sèche sur ce sujet. J’utilise cette fonction pour ma machine multimédia sous mythtv, mais je n’ai jamais été amené à debugger ce point.

Y’a pas un wake on lan programmé depuis un autre poste?

Pourrait donner le modèle de BIOS; éventuellement dire comment s'appelle ce mode du BIOS qui se permet d'allumer le pc ?

Pourrait donner le modèle de BIOS; éventuellement dire comment s’appelle ce mode du BIOS qui se permet d’allumer le pc ?

Ben les gars (les gattes), je vous sens pas très pointus sur rtcwake ?
Ca s’installe avec le paquet util-linux, ca ressemble à ça:# /usr/sbin/rtcwake -h usage: rtcwake [options] -d | --device <device> select rtc device (rtc0|rtc1|...) -l | --local RTC uses local timezone -m | --mode standby|mem|... sleep mode -s | --seconds <seconds> seconds to sleep -t | --time <time_t> time to wake -u | --utc RTC uses UTC -v | --verbose verbose messages -V | --version show version
L’option mode propose standby (ACPI S1), mem (S3, suspend), disk (S4, hibernate) et off (ACPI S5, soft off). D’après la spec ACPI le reveil depuis S5 n’est pas supporté, mais je confirme que sur les quelques machines modernes où j’ai essayé, ça marche (depuis quelques années, kernel 2.6 ou supérieur.)
Si vous n’avez pas de device rtc (?) et donc pas d’entrée /sys/class/rtc/…/wakealarm, ça ne marchera pas.
Si votre ACPI est déglingué, ça marchera dans certains modes seulement.
Si vous vous retrouvez limité au réveil depuis S3, je vous invite à regarder si votre machine consomme vraiment plus sous S3 que sous S5. Dans le cas d’un vieux desktop vous pourriez avoir une surprise.