ACPI: supporto APM per eComStation

Transcript

ACPI: supporto APM per eComStation
ACPI: supporto APM per eComStation
Traduzione della documentazione ufficiale
Realizzata da Mentore Siesto per il PIDO/2
Progetto Italiano Documentazione eComStation e OS/2
Versione 1.1
Terminato il 26/08/2009
INDICE
1. ACPI APM.
2. ACPI APM: Elenco dell'hardware supportato.
3. ACPI APM: elenco dei driver compatibili e non.
4. ACPI APM: applicazioni pericolose con suspend e resume.
5. ACPI APM: gli stati Cx.
6. ACPI APM: FAQ.
7. Risoluzione dei problemi.
Annotazioni tipografiche:
In Courier New vengono evidenziati nomi di file e direttive specificanti nomi di file (per
es. CONFIG.SYS, PSD=ACPI.PSD)
In grassetto vengono evidenziate le direttive nei file di configurazione (per es. EVALUATE
nel file ACPI.CFG).
1. ACPI APM.
27 novembre 2008
Questa è la documentazione della versione 1.27 del driver APM.ADD per eComStation.
Indice:
1. Descrizione
2. Funzionalità
3. Installazione
4. Uso
5. Limitazioni temporanee
6. Risoluzione dei problemi
1. Descrizione.
APM.ADD è un driver per la gestione dell'alimentazione tramite l'interfaccia ACPI.
Requisiti di sistema:
●
ACPI per eComStation installato e funzionante
●
Kernel recente (rilasciato dopo il 2005)
●
Sistema operativo eComStation
2. Funzionalità.
Il driver ACPI APM sostituisce il supporto APM originale di IBM.
In tal modo è possibile controllare, per esempio, il livello di carica delle batterie del proprio
notebook tramite i widget originali di xWorkPlace / eWorkPlace oppure tramite widget
alternativi, come per esempio quello presente in
http://ecomstation.ru/projects/neowps/?action=widgets
Il driver supporta i seguenti stati di sospensione (sleep):
●
Modalità S1:
○
IDE ok
○
USB ok
○
Video ok
●
Modalità S2: non ancora testata
●
Modalità S3: supportata con video VGA
●
○
IDE ok
○
USB ok
○
Video ok
Modalità S4 non implementata
Gli stati di funzionamento di tipo C sono descritti nella documentazione del driver ACPI e
più in basso in questo documento.
3. Installazione.
Assicuratevi che ACPI sia correttamente installato e funzionante.
1. Controllate l'eventuale incompatibilità di alcuni driver:
Rimuovete APM.SYS (IBM APM) e il materiale correlato dal file CONFIG.SYS;
2. Copiate il file APM.ADD dal pacchetto ACPI in \os2\boot
3. Aggiungete al file config.sys, sotto la riga che richiama ACPI.PSD, la riga
BASEDEV=APM.ADD
4. Aggiungete al file startup.cmd la seguente riga:
start /min ACPIDAEMON.EXE
oppure aggiungete l'oggetto ACPIDAEMON.EXE alla cartella Avviamento
(per installazioni di prova avviate il daemon manualmente)
5. La configurazione di APM è contenuta nel file ACPID.CFG, che va posto nella
directory puntata dalla variabile di sistema ETC: solitamente, si tratta di
\MPTN\ETC.
6. Riavviate il sistema.
4. Uso.
Per l'uso di APM:
●
Per abilitare sleep e resume è obbligatorio usare il driver video Panorama VESA.
●
Dalla impostazione del BIOS (power), abilitare il modo S3. Cercare le opzioni “S3”,
“S1”, “S1&S3” oppure “S3/STR” o simili.
●
Abilitate l'opzione da BIOS “Init video after S3” o simili. In caso contrario sarà
necessario inserire il parametro /VBE nella direttiva di ACPI.PSD per inizializzare il
BIOS video dopo il resume. Non è garantito che il sistema funzioni.
●
Consultate il file acpidaemon.log per capire se il PC supporta la modalità S3. Il
file si trova in \var\log.
●
Per mandare il sistema in sospensione: dall'oggetto Alimentazione attivare la voce
“sospensione” (Suspend) oppure usare il comando apm.exe con l'opzione
/suspend (presente in http://ecomstation.ru/?e=92)
●
Per riavviare dopo la sospensione, premete il tasto di alimentazione.
Per chipset VIA: se il resume non funziona, si consiglia di provare a usare il parametro
/VBE in ACPI.PSD.
Per valutare i risultati delle prove:
1. Aggiornate i driver disco DaniS506 all'ultima versione.
2. Disabilitate tutti i device driver prima di provare sospensione e resume (USB, audio
e rete).
3. L'elenco degli sleep state supportati dal computer è disponibile avviando l'ACPI
daemon:
1. S1 – computer fermo;
2. S2 – computer fermo, alcuni dispositivi spenti;
3. S3 – tutti i dispositivi spenti, eccezion fatta per la memoria;
4. S4 – tutti i dispositivi spenti;
5. S5 – computer spento.
4. Inviate il rapporto al sistema di tracking:
http://svn.netlabs.org/acpi/newticket
Per la registrazione: http://www.netlabs.org/site/member
Per vedere i ticket: http://svn.netlabs.org/acpi/report/1
5. Utilità.
APM.EXE. Passate a una sessione a schermo intero e date:
–
apm.exe /suspend per la sospensione
–
apm.exe /poweroff per lo spegnimento.
2. ACPI APM: Elenco dell'hardware supportato.
4 febbraio 2008
Nota: se il vostro sistema ha una scheda video integrata, e il BIOS supporta l'opzione “Init
Video BIOS after S3”, le funzioni di sleep/resume dovrebbero funzionare perfettamente.
Computer per cui sleep e resume funzionano:
●
Lenovo Thinkpad R60 (Core 2 Duo) utilizzando il parametro /VBE in ACPI.PSD;
●
ASUS M2V-MX, con l'opzione “Init video BIOS after S3” abilitata;
●
Thinkpad T4x – alcuni problemi con i driver USB.
Sistemi con fallimenti nel resume a causa dell'inizializzazione del BIOS video:
●
i965
●
nVidia nForce 4
Hardware non controllato:
●
ASUS p5wd2
●
ASUS A6Ja
3. ACPI APM: elenco dei driver compatibili e non.
13 settembre 2007
Driver funzionanti con modalità suspend/resume:
●
Driver Realtek 8139 di Veit Kannegieser
●
Driver mouse.sys
●
Driver GenMac dal 12/2007 in poi
●
Driver UniAud dal 11/2007 in poi
Driver non pronti per modalità suspend e resume:
●
Driver di rete Intel100 – la sospensione causa un blocco
●
Driver Scitech SNAP: alcuni problemi con lo stato S3
●
Driver USB: problemi con suspend e resume.
4. ACPI APM: applicazioni pericolose con suspend e resume.
12 marzo 2007
Queste applicazioni non sono pronte per il supporto APM o per suspend e resume:
●
L'eCenter si blocca dopo il resume: utilizzate eWorkPlace, versioni dal novembre
2007 in poi
●
File Commander, lanciato prima della sospensione con kernel SMP, dopo il resume
spesso non accetta comandi da tastiera.
Le sessioni CMD accettano i tasti.
5. ACPI APM: gli stati Cx.
Gli stati C vengono configurati nel file ACPID.CFG. Per la descrizione del file, consultate la
documentazione ufficiale sul driver ACPI.
●
HLT: utile per OS/2 senza ACPI
●
C2: più avanzato di HLT
●
C3: idle avanzato
Stato predefinito: C2 oppure HLT.
Annotazione: il resto del documento è in lingua Russa, a me ignota. Se qualche volontario
volesse prestarsi glie ne sarei immensamente grato!
6. ACPI APM: FAQ.
25 novembre 2008
Questo capitolo contiene domande frequenti sul supporto APM ACPI per eComStation.
Indice
1. Ho un vecchio notebook. Posso usare sospensione e riavvio con APM?
2. Qual è lo scopo dell'ACPI Daemon?
3. Posso usare APM.ADD senza ACPI?
4. Come prolungare la vita della batteria?
5. Sarà disponibile il supporto all'Ibernazione?
6. La ventola della CPU è molto rumorosa: potete aiutarmi?
7. Il driver 8233cool APM può coesistere con il driver ACPI?
8. Quanti stati di sospensione esistono?
9. APM.ADD funziona male. Il widget della batteria si blocca (o altri problemi).
10. Come avviare ACPI Daemon?
11. Perché usare ACPI Daemon?
12. Com'è implementata la sospensione-riavvio in eComStation?
13. È sicuro usare eCS senza ACPI Daemon?
14. Perché sospensione e riavvio sono così difficili da implementare?
1. Ho un vecchio notebook. Posso usare sospensione e riavvio con APM?
Se il sistema supporta ACPI, non dovrebbero esservi problemi. Il corretto
funzionamento può dipendere anche da driver e alcune applicazioni.
2. Qual è lo scopo dell'ACPI Daemon?
Per sicurezza è bene che le operazioni gestite dal daemon siano effettuate da un
thread separato dagli altri. ACPI Daemon fornisce tale thread extra per il driver
ACPICA$.
3. Posso usare APM.ADD senza ACPI?
In assenza di ACPI driver, APM non funzionerà.
4. Come prolungare la vita della batteria?
1. Innanzitutto è bene utilizzare il kernel UNI oppure il kernel SMP specifico per
ACPI e ACPI Daemon, contenente alcune patch (ExtraKernelHLT). Su alcune
macchine, tale kernel prolunga la vita delle batterie da due a tre ore. Notate che
le “pipe” con questo kernel sono più lente che con il kernel privo di patch;
2. Abilitate la direttiva ExtraKernelHLT (vedi documentazione ACPI);
3. Modificate la direttiva IdleState in AcpiD.cfg. Provate a usare gli stati C2 o C3
impostandoli nel file di configurazione.
4. Consultate la risposta alla domanda 6, qui sotto.
Annotazioni ulteriori:
- Uscite dalle applicazioni non usate;
- Spegnete il Wi-Fi se non usato;
- Espellete CD o DVD che non state leggendo;
- Disattivate i dispositivi che non usate.
5. Sarà disponibile il supporto all'Ibernazione?
Il kernel di eCS ha un bug nel supporto alla modalità Hybernate. Stiamo indagando
in merito.
6. La ventola della CPU è molto rumorosa: potete aiutarmi?
●
Se state utilizzando VGA GENGRADD o SDDGRADD, consigliamo la
sostituzione del driver video con Panorama VESA;
●
Una modifica al kernel è in progetto, per l'uso di istruzioni HLT extra;
●
Le applicazioni Central Remote Control e PoPa per il supporto dei modi di
alimentazione e del throttling / speedstep possono essere d'aiuto. È possibile
recuperarle all'indirizzo Web
http://ecomstation.ru/crc
●
Gli sviluppatori possono realizzare software che si interfaccia con il driver ACPI
a tale scopo.
●
Solitamente, questo problema si verifica con processori Intel P4 e la loro
ventola. Ventole migliori paiono risolvere il problema, ma sono più costose.
7. Il driver 8233cool APM può coesistere con il driver ACPI?
No. Si raccomanda il driver APM interfacciato con ACPI.
8. Quanti stati di sospensione esistono?
Gli stati di sospensione gestiti in ACPI sono cinque:
1. S1 – computer fermo;
2. S2 – computer fermo, alcuni dispositivi spenti;
3. S3 – computer fermo, tutti i dispositivi spenti tranne la memoria;
4. S4 – tutti i dispositivi spenti (attualmente non supportato da APM.ADD);
5. S5 – computer spento.
9. APM.ADD funziona male. Il widget della batteria si blocca (o altri problemi).
Il problema non è nel driver. È possibile che alcuni driver creino il problema, oppure
che il supporto ACPI non sia correttamente inizializzato. Verificate il funzionamento
di ACPI.
10. Come avviare ACPI Daemon?
Potete lanciarlo tramite il file startup.cmd nella directory radice dell'unità di avvio,
aggiungendo a tale file la riga start /min ACPIDAEMON.EXE
Un
metodo
meno
sicuro
consiste
nell'inserire
l'oggetto
programma
ACPIDAEMON.EXE nella cartella di avviamento di eCS.
11. Perché usare ACPI Daemon?
●
Elaborare l'evento di spegnimento;
●
controllare la temperatura, le batterie e gli eventi di sospensione e riavvio;
●
altro.
Per sistema desktop, ACPI Daemon si occupa di:
●
Creare un thread per ACPI.PSD (invece che usare un kernel thread)
●
Creare un thread per APM.ADD (per attendere i comandi da APM)
●
Creare un thread per il bottone di accensione/spegnimento
●
Creare un thread per attendere modifiche in AcpiD.cfg
Per sistemi notebook, oltre a questi:
●
Creare un thread per apertura e chiusura del coperchio del notebook.
12. Com'è implementata la sospensione-riavvio in eComStation?
Descriviamo brevemente la modalità S3:
1. Viene processato il comando APM (NdT: descrizione molto oscura!!!)
2. I buffer dei dischi vengono svuotati (NOTA: Se è caricato NETWKSTA.200 si ha
un problema causato da un bug del kernel, molto vecchio)
3. Si passa in modalità a schermo intero (modo testo)
4. Tutti i thread vengono fermati
5. ACPI.PSD viene chiamato per avviare lo stato S3 ACPI.
Risveglio dal modo S3:
6. Rientro dalla chiamata ad ACPI.PSD per il modo S3
7. Chiamata ad APM per inviare gli eventi “wakeup” ai dispositivi
8. Sblocco di tutti i thread
9. Svuotamento della tastiera e ripristino dello stato del video
10. Sgancio dalla modalità a schermo intero
11. Chiamata ad APM per il risveglio dei semafori
12. Attesa per il prossimo evento APM (ciclo).
13. È sicuro usare eCS senza ACPI Daemon?
Se il daemon ACPI non viene chiamato, gli eventi ACPI vengono ignorati. Alcuni
computer possono avere seri problemi in tal caso.
14. Perché sospensione e riavvio sono così difficili da implementare?
Il problema, brevemente, è creato dall'interazione tra ACPI e il kernel di
eComStation.
6. ACPI APM: scenari di prova.
Indice
1. Test-004 – Stato S3.
2. Test-003 – Chiusura coperchio notebook e shtudown.
3. Test-002 – Collegamento e disconnessione dalla rete AC per notebook.
4. Test-001 – Stato S1.
1. Test-004:
●
Impostate stato S3 in acpid.cfg
●
Controllate che Acpidaemon sia in esecuzione
●
Selezionate la sospensione dall'oggetto Alimentazione
●
Riportate i risultati.
●
Impostate “Enable IRQ for VGA” nel setup del BIOS e ripetete il test.
2. Test-003
●
Impostate l'opzione LID=off in acpid.cfg.
●
Chiudete il coperchio del notebook e controllate che il sistema effettui la chiusura
correttamente.
3. Test-002
Test delle batterie (notebook).
●
Collegate e scollegate l'alimentazione da corrente
●
controllate che il widget della batteria rilevi correttamente aggancio e sgancio dalla
rete elettrica.
4. Test-001
Test della modalità S1.
●
Da eStyler eseguire il comando Suspend
●
Dopo un'attesa di alcuni minuti, provate il riavvio dal tasto di accensione/
spegnimento.
7. Risoluzione dei problemi.
18 settembre 2008
1. Trap prima di PMSHELL - è necessario rimuovere APM.SYS (driver IBM).
2. Appliczioni e driver non compatibili con APM.ADD: a parte quelle riportate sopra, il
vecchio driver GenMac è segnalato causa di TRAP0008 al caricamento di
NETBIND.EXE. È necessario aggiornare a GenMac 1.7 o superiori.
3. Trap nella sospensione (S1). In caso si disponga di una scheda di rete Intel10/100,
è necessario sostituirla con una scheda Realtek per correggere il problema.
4. Lo spegnimento blocca il notebook. Controllate il setup del BIOS per disabilitare
l'opzione Wake on LAN from System Off (e similari per modem).
5. Blocco del sistema alla sospensione. Provate i seguenti metodi per avviare ACPI
Daemon:
1. Metodo corretto: avviare Acpidaemon da startup.cmd con la riga
start /min acpidaemon.exe;
2. Metodo errato; copiare l'oggetto programma Acpidaemon.exe nella cartella di
avviamento della Scrivania;
3. Altro metodo (sconsigliato): inserire nel file config.sys una delle due direttive
seguenti;
1. RUN=X:\OS2\CMD.EXE /C X:\OS2\ACPIDAEMON.EXE
2. RUN=X:\OS2\ACPIDAEMON.EXE
4. Il tasto di spegnimento non funziona. Assicuratevi che Acpid.cfg contenga la
riga PowerButton=Off tra le sue direttive.
5. Il widget batteria mostra un livello di carica del 255%. Dall'oggetto alimentazione
aprire il notebook delle proprietà e controllate che “APM BIOS and OS/2 support
enabled” sia selezionato.
6. Il widget batteria mostra il valore E87. Provate le seguenti azioni:
1. Dalle proprietà dell'oggetto Alimentazione, controllate che la voce “APM
BIOS and OS/2 support” sia selezionata
2. Installate il widget Beer Battery, da http://ecomstation.ru/projects/neowps/?
action=widgets
3. Ricontrollate l'installazione di APM e ACPI
4. Controllate le opzioni speedstep e similari nell'impostazione del BIOS.
7. La chiusura non funziona correttamente. Provate a usare il comando
PowerOff. Se il sistema si spegne correttamente, il problema è dovuto all'utilità
di chiusura (eWorkPlace o eStyler).
8. Acpidaemon non funziona correttamente. Controllate che vi sia coerenza tra
ACPI e ACPI32.DLL. (che provengano cioè dallo stesso pacchetto.)
Invio di report: avviate il sistema con il driver APM.ADD installato e lanciate il comando
copy apm$ apm.log
Inviate poi APM.LOG al tracker (vedi sopra).