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).