INFORMAZIONI TECNICHE BIOS

Il BIOS come aiuto per la ricerca delle cause di malfunzionamento


Informazioni generali

Ad alcuni sará capitato di trovarsi davanti ad un sistema che non da segni di vita o che si rifiuta di fare il boot . Che fare ? Pochi sanno che all' interno del BIOS i costruttori hanno inserito alcuni meccanismi per consentire di determinare con una certa sicurezza e facilita le cause dei malfunzionamenti hardware piú gravi .

 

Che cosa é il POST ?

POST (Power On Self Test = autotest all'accensione) é una serie di routine software che fanno parte del BIOS e che viene avviata al momento dell' accensione del sistema , o dopo un reset , per effettuare una serie di test sui componenti principali . Al termine di questi test , se la sequenza é completata senza errori evidenti , il controllo é passato alla parte del BIOS che effettua il bootstrap dal disco o dal floppy .
Per ricapitolare , dal momento in cui applichiamo tensione al sistema , vengono svolte le seguenti operazioni :

- al presentarsi della tensione in modo corretto , il circuito di reset invia un segnale sulla linea RES del sistema ed inizializza una serie di parametri hardware dei vari componenti
- se il sistema é integro , la CPU indirizza una specifica locazione nel BIOS ed inizia ad operare
- la prima parte dell' attivitá del sistema si svolge attorno ad una serie di test che hanno lo scopo di verificare la funzionalità dell' hardware del sistema . La sequenza dei test é grosso modo questa :

- test della cache
- test dei controllers DMA , IRQ , RTC
- test del controller della tastiera
- test della RAM CMOS
- test della quantitá della RAM di sistema e della sua funzionalità
- eventuale copia del BIOS nella shadow
- identificazione della CPU
- inizializzazione del PnP e degli I/O
- inizializzazione del chipset
- test DMA , timer
- programmazione degli I/O on board
- attivazione della cache L2
- test del floppy e delle unitá IDE
- test della scheda video e messaggio a video (prompt)
- ultime inizializzazioni per PCI , shadow RAM , power management
- display della configurazione del sistema

Al termine della sequenza , qui solo rapidamente riassunta ed in realtà molto complessa , il BIOS passa il controllo al vettore INT 19H per il boot del sistema operativo . Ogni passo della sequenza POST é identificato da un numero binario inviato dal processore ad una locazione e leggibile con la POST-card .
La struttura dei test POST é piuttosto complessa , ma la loro lettura é fondamentale per capire le motivazioni principali del mancato boot di un sistema .
Sfortunatamente , la maggior parte di questi test si svolge senza segnalazioni evidenti mentre altri test danno segnalazioni a video o attraverso l' altoparlante del sistema . Ovvio che queste segnalazioni potranno avvenire solo se l' interfaccia video e/o audio sono funzionanti , altrimenti non sarà possibile ! 
Solo quando il sistema ha superato le prime fasi e puó controllare alcune risorse , i risultati dei test di POST sono resi udibili con una serie di suoni dell' altoparlante del sistema (Beep Codes) e , se la periferica video é risultata funzionante , anche con messaggi scritti .
Se la sequenza dei test POST é eseguita senza errori , l' Utente difficilmente si accorge della sua presenza , in quanto viene svolta in un tempo molto breve ; la parte piú evidente é , di solito , il conteggio della memoria a video ed il prompt contenente la configurazione del sistema . 

La corretta sequenza dei test , peró , puó essere resa visibile utilizzando una POST-card , ovvero una scheda dotata un opportuno controller e di un display : infatti le routine POST comprendono l' invio dei codici corrispondenti ad ogni test eseguito ad una locazione del bus di I/O (normalmente 80H) da cui é possibile prelevarle per la visualizzazione . Questi codici sono diversi per ogni tipo di BIOS e la documentazione relativa si puó richiedere ai costruttori oppure é presente nelle appendici dei manuali delle schede madri .
ELMA ha a listino diversi tipi di schede POST .

Per concludere :

Se il display é spento , non é detto che il sistema non funzioni : puó essere solo bloccato su un test non riuscito , dovuto non alla mainboard , ma ad altri componenti difettosi .
Pertanto é errato ritenere "morta" la mainboard di un PC che non presenta attività a video , perché la scheda madre puó funzionare benissimo ed il problema può trovarsi in un componente che ha bloccato la sequenza del POST in un punto non ancora visibile dall' esterno, ad esempio uno stick di memoria, un connettore IDE male inserito , una scheda sul bus , ecc .  .
É comunque da precisare che i test della fase POST  sono in grado di individuare   gli errori principali che impedirebbero un corretto funzionamento del sistema , ma non possono rivelare problemi dovuti a parti il cui malfunzionamento si evidenziano solo casualmente oppure dopo un certo periodo di riscaldamento o in concomitanza di software o altro hardware . Per rivelare questi altri problemi esistono in commercio programmi diagnostici specifici (ad es. AMIDiags della AMI ) ed é necessario operare il cosiddetto burn-in , ovvero un ciclo di test della durata di diverse ore .

 

Che cosa é la POST-card ?

Si tratta di una scheda , di solito ISA o PCI , di piccole dimensioni , che porta un display , comandato da una opportuna circuiteria . I BIOS , nella fase POST , prima dell'esecuzione di ogni test , inviano ad una locazione di I/O un codice che viene catturato dall' elettronica della scheda POST e quindi rappresentato dal display come numero esadecimale .
L' uso della scheda POST é estremamente semplice ed efficace ed é il sistema fondamentale e piú pratico per determinare la causa del mancato avviamento di un sistema ..

  1. Si rimuove tutto dalla scheda madre , esclusa la scheda video e la RAM
  2. a sistema spento , si introduce la scheda post in uno slot libero , in modo che sia possibile leggere il display . Non ci sono priorità negli slot ISA o PCI, per cui la scelta tra quelli a disposizione é  indifferente
  3. Si avvia il sistema
  4. Immediatamente il display inizierà ad presentare una serie piú o meno veloce di numeri . Se la sequenza si arresta su un numero , questo indicherà un test non superato e quindi la causa probabile del malfunzionamento
    Ad es. , prima di avviare il test della RAM , il BIOS AWARD invia alla locazione di I/O di indirizzo esadecimale 80H , il codice 07 . Se il display , arrivato ad indicare 07 non procede oltre , il problema molto probabilmente starà nella RAM .
    Se il display si ferma su 0B , questo indicherà un problema alla batteria oppure all' area della RAM CMOS
  5. La sequenza termina tipicamente con FF , dopo di che il controllo viene passato dal BIOS all' INT 19H per la fase di boot .

In questo modo é possibile identificare con notevole esattezza ed in brevissimo tempo le cause del mancato funzionamento del sistema .

E se non ho la POST-card ?

Una POST-card é l' unico modo per evidenziare errori nella fase pre-boot in modo sicuro . In mancanza di questa si puó procedere solo per esperienza, tentativi o in maniera limitata.
Per esempio, i costruttori dei BIOS hanno pensato di fornire un aiuto nel caso in cui non si disponesse della scheda di POST, utilizzando l' altoparlante del sistema e/o il display video attraverso la scheda grafica . Questi due sistemi sono molto pratici ed efficaci, ma ovviamente limitati : prima che il sistema possa prendere il controllo dell' altoparlante é necessario che una parte consistente dell' hardware del sistema sia efficiente ; per il video , poi , é necessario che la quasi completa totalità del sistema sia in grado di funzionare correttamente. Se il problema hardware si verifica prima che il sistema possa avere il controllo dell' altoparlante o della VGA , non potranno essere utilizzate queste risorse per segnalare il problema all' Utente .
In ogni caso , i segnali acustici di errore emessi dall' altoparlante (BEEP CODES) e Messaggi di Errore del BIOS restano un valido sistema per determinare rapidamente le cause hardware del mancato boot .

 

BEEP CODES e Messaggi di Errore del BIOS

I Beep Codes del BIOS AMI sono tipicamente i seguenti :

Beeps Errore Descrizione
1 DRAM refresh il circuito di refresh della mainboard é difettoso
2 ECC o parity un errore nel check dell' ECC o della paritá
3 primi 64k RAM errore nella ram base , primi 64kB
4 Timer errore nella ram base o nel Timer1
5 processore il processore ha generato un errore
6 keyboard controller keyboard controller o GATE A20
7 Interrupt il processore ha generato un interrupt inaspettato
8 video errore o mancanza della ram del dispositivo video
9 ROM BIOS il checksum della ROM del BIOS non é corretto
10 CMOS RAM il registri di shutdown per la ram CMOS non ok
11 Cache errore della cache esterna

Tutte le sequenze di beep identificano errori fatali ,che impediscono il proseguimento delle operazioni di boot , ad eccezione del numero 8 , in quanto il sistema puó essere avviato anche senza display ( nel setup é possibile escludere dai test il display e la tastiera , opzioni previste per quei sistemi di tipico impiego industriale ) .

Suggerimenti per un primo intervento a seguito di Beep Codes :

I messaggi di errore del BIOS AMI possono essere i seguenti :

# Messaggio Descrizione Componente interessato
1 8042 Gate-A20 error Il sistema non puó entrare in modo protetto keyboard enc. o chipset
2 Address L'Ines Short! Errore sulle linee di indirizzo mainboard
3 C:(D:) Drive Error C: (D:) non risponde HDD,cavi, setup,ecc.
4 C: (D:)Drive Failure C: (D:) non risponde HDD,cavi,setup,ecc.
5 Cache memory Bad cache difettosa - non viene abilitata cache
6 CMOS Battery Low la batteria della ram CMOS é inefficente batteria , chipset
7 CMOS Checksum failure errore nel checksum della ram CMOS setup , ram CMOS
8 CMOS System Options Not Set i dati nella ram CMOS non sono inizializzati o sono difettosi setup , ram CMOS
9 CMOS Display Type Mismatch il tipo di display selezionato nel setup é errato setup , video card
10 CMOS Time and Date Not Set non corretti i dati di tempo e calendario setup , ram CMOS
11 Diskette Boot Failure non é possibile il boot dal floppy FDD,cavi,controller
12 DMA Error errore del controller o di un canale controller,cavi,chipset
13 FDD Controller Failure non é riuscito l'accesso al controller del drive controller,cavi,chipset
14 INTR #x Error Errore sul canale x durante la fase di POST mainboard,chipset
15 Invalid Boot Diskette e' identificato un floppy in A: ma non di boot floppy, setup
16 Keyboard Is Locked la chiave della tastiera e in posizione di blocco chiave,cavi
17 Keyboard Error la tastiera non risponde correttamente tastiera,setup
18 KB/Interface Error errore di accesso alla tastiera tastiera,cavi,controller
19 No ROM BASIC non e' stato trovato un dispositivo di boot setup,dischi,software
20 Off Board parity Error errore di paritá ram
21 On Board Parity error errore di paritá ram
22 Parity Error??? possibile errore di paritá ram

Molto spesso gli errori sono dovuti a cause non direttamente dipendenti dal componente identificato come guasto . Ad esempio la segnalazione 19 puó essere dovuta semplicemente all' hard disk , in sé perfettamente funzionante e contenete il sistema operativo , ma a cui manca l' attivazione della partizione . Pertanto , prima di puntare il dito su uno specifico componente , verificate con cura tutte le altre possibili alternative .


Dove si possono ottenere altre informazioni ?

Sui manuali delle mainboard sono riportate informazioni sufficienti all' uso comune . Attualmente i principali produttori di BIOS sono :

AMI - American Megatrends Inc. http://www.ami.com
MR - Microid Research http://www.mrbios.com
AWARD http://www.award.com

altri siti interessanti possono essere :

Tweak HX http://www.helsinki.fi/tweakbios
The Tweek FAQ http://www.wolf.demon.co.uk/twkfaq.html
BIOS FAQs http://ccadfa.cc.adfa.oz.au/Hardware/BIOS/

Copyright © elma srl. Tutti i diritti riservati.
Aggiornato il 13/07/04.