Newsgroup: it.comp.os.linux.development
Titolo: Auto power-on

Ciao, vi volevo chiedere se è possibile creare un programma in C (anche C++
va bene) che permetta di avviare il computer automaticamente ad un
determinato orario impostato dall'utente, tipo la funzione del BIOS.
se si come posso fare?
<---
+-sent by sgrung
 |
 `- 'Sono stato nessuno per diventare qualcuno'
--->

determinato orario impostato dall'utente, tipo la funzione del BIOS.
Domandina scema scema:
Se il pc e' spento, quale cpu dovrebbe eseguire quel programma?
Hai queste possibilita': 
1) Cercare se qualcuno ha trovato il modo di settare da programma il
timer del bios per farlo accendere ad una data ora, cosi' resta sempre
il bios a riattivare il pc. 
Io, non ne conosco.
2) Acquistare un timer esterno, e collegare una uscita a bassa tensione
al piedino ring della seriale, attivando il wake on ring nel bios.
2a) Sempre con il timer esterno, lo setti che spenga 5 minuti prima, e
setti il bios per riaccendersi al tornare della tensione di rete.
3) (da matti, ma potrebbe funzionare)
Imbrogliarlo: settare nel bios che vuoi che si riaccenda a mezzanotte.
Preparare uno script da eseguire allo spegnimento, che faccia le
seguenti cose:
Legga da qualche parte l'orario a cui vuoi che si riaccenda.
Calcoli quanto manca a quell'orario, e lo chiami X.
Imposti con hwclock l'ora del bios a X prima della mezzanotte.
Appena acceso, lo fai collegare a internet, e con rdate vai a recuperare
da un time-server l'ora corretta.
4) ti rassegni ad usare i settaggi del bios, o telefoni a casa e fai
accendere il pc da un familiare.:-)
-- 
           |Save our planet!
  Ciao     |Save wildlife;
  roberto  |For your E-MAIL use only recycled Bytes !!
           |roberto poggi  
rpo...@softhome.net

Hai queste possibilita': 
0) settare l'orologio  HW del PC che contiene un registro per generare
un  interrupt allo scoccare di un'orario impostato.
Spegnere il PC, che in realtà va in uno stand by spinto.
Quando scatta l'allarme (perchè così si chiama il registro
nell'orologio hw del pc)  e visto che in ogni caso l'orologio del PC
viene tenuto su con una batteria (quindi se durante la notte la rete
elettrica  manca per un attimo non si perde nulla), viene generato un
interrupt che sveglia il PC e fa partire il sistema.
Il sistema è in funzione sul PC di un mio collega d'ufficio che si
diverte a far partire il automatico il PC alle 8:20 di tutti i giorni,
giusto 10 min. prima di arrivare in ufficio.
Il programma è stato fatto i Turbo Pascal per DOS e viene lanciato in
una finestra di Windows.
A dire la verità non funziona su tutti i PC anche nuovissimi, bisogna
vedere la compatibilità del chip dell'orologio usato nella tua
macchina, lui ha fatto riferimento al diffusissimo Dallas. 
Se il mio collega me lo da e me lo consente ti spedisco il sorgente
del programma in TP, poi passarlo in C è una passeggiata.
 
Saluti
Alex

del programma in TP, poi passarlo in C č una passeggiata.
Sono proprio curioso, fino a poco tempo fa, sembrava impossibile sapere
come settare appunto dall'esterno l'alarm del bios.
Potrebbe diventare un bel modulino da inserire nel kernel.


 Io, non ne conosco.
C'e' una voce nella apm della configurazione del kernel
     [*] Advanced Power Management BIOS support
            [ ]    Ignore USER SUSPEND
            [ ]    Enable PM at boot time
            [ ]    Make CPU Idle calls when idle
            [ ]    Enable console blanking using APM
            [ ]    Ignore multiple suspend/resume cycles
------>     [ ]    RTC stores time in GMT
            [ ]    Allow interrupts during APM BIOS calls
            [*]    Use real mode APM BIOS call to power off
Che mi sembra MOOOLTO interessante ....