Boot process
Quando in un PC viene premuto il pulsante Power on il BIOS esegue un'autodiagnosi di tutte le componenti hardware, compresi tastiera e scheda video. Il processo (Power-On Self-Test) può bloccarsi in caso di problemi e una sequenza di beep sonori (BIOS Beep Codes) può indicare la tipologia di errore riscontrato, anche in assenza di segnale video.
La risoluzione dei problemi al boot è un'attività complessa e questo è vero soprattutto nelle motherboard meno recenti in cui è maggiore la presenza di jumper da impostare manualmente, il BIOS non è CPU P&P e i beep codes non sono disponibili o lo speaker non funziona correttamente.
Una PC Diagnostic Card può essere di aiuto ma se non vengono emessi i codici relativi al POST occorre indagare sulle singole componenti o configurazioni.
In generale il boot può non avvenire correttamente perchè:
- la ROM del BIOS è danneggiata
- la CPU è danneggiata, oppure il voltaggio o il clock sono errati
- manca la memoria RAM o sono state rimosse altre componenti (keyboard controller, ecc.)
- mancano dei jumper oppure sono configurati in modo errato
- ci sono altri fattori non immediatamente individuabili (condensatori scarichi o bruciati, ecc.)
Motherboard identification loop
Uno degli step fondamentali per la configurazione del boot è identificare con precisione la motherboard in modo da poter reperire il manuale del costruttore e impostare correttamente la CPU (tipo supportato, clock e voltaggio) e tutte le altre componenti hardware; inoltre è possibile verificare l'eventuale assenza di jumper importanti (ad esempio quelli factory configured).
Tuttavia il processo potrebbe avere un loop: per identificare la motherboard questa deve poter eseguire il boot; per le motherboard più vecchie di cui non si ha il manuale e non ci sono le configurazioni serigrafate sulla motherboard stessa, potrebbe risultare impossibile configurare correttamente tutti i parametri per un corretto avvio di conseguenza:
- se non è possibile avviare la motherboard non si può risalire alla stringa del bios e al costruttore, o utilizzare software di analisi dell'hardware e quindi non è possibile ricavarne il modello;
- per poter configurare correttamente la motherboard per l'avvio è necessario il modello che però è individuabile solo dopo il boot (che non può avvenire poichè manca la configurazione).
486 motherboard non identificabile
Questa motherboard non è direttamente identificabile poichè manca qualsiasi riferimento al modello e al costruttore. Le informazioni di configurazione della CPU sono serigrafate in prossimità dello zoccolo LIF, quelle del clock vicino al chipset. La motherboard è quindi una single-voltage 5V, dato che accetta CPU 486DX2 fino a 66MHz (anche P24D WB cache e P24T Pentium Overdrive), la RAM è 30 pin suddivisa in due banchi da 4 (che devono essere popolati tutti, potrebbero andar bene SIMM con/senza parity-check 60/70ns).
Ad un esame più approfondito non sembrano esserci componenti danneggiate o piste interrotte, la batteria è stata rimossa per cui non ci sono perdite di acido. Il BIOS è un AWARD 486 non recente (4.50).
Proviamo quindi ad installare un 486DX2 66MHz (non WB cache) seguendo le indicazioni della tabella per il CPU TYPE 486DX/DX2. Poichè il clock multiplier è una caratteristica interna della CPU, configuriamo il clock a 33MHz con i jumper JP5, JP6 e JP7 (closed). Installiamo 4 SIMM 30 pin senza parity-check per un totale di 16MB. Verifichiamo la configurazione della cache e degli altri jumper ma sembra tutto in ordine. Nello slot ISA 8bit montiamo la scheda diagnostica, in quello ISA 16bit la scheda video e cerchiamo di capire se la motherboard può essere in grado di eseguire il boot.
Collegata l'alimentazione proviamo il Power on: la scheda diagnostica non mostra alcun codice relativo al POST e il segnale video è assente, quindi deve esserci qualche problema di configurazione relativo alla CPU (voltaggio o clock sono errati) o alla ROM del BIOS (danneggiata) oppure ai jumper (configurati in modo errato o mancanti). Per verifica sostituiamo la CPU con un 486DX2 compatibile e la RAM con 4 SIMM 30 pin da 1MB con parity-check. Il risultato è lo stesso, sul display non vengono visualizzati codici (--) e manca il segnale video. Reinstalliamo quindi CPU e RAM iniziali.
Proviamo a effettuare una ricerca su Total Hardware 99 ( Link): risulta impossibile analizzare i layout delle oltre 1700 motherboard socket 3. Anche una ricerca per chipset (SiS 85C471) fornisce troppi risultati generici.
Ipotizzando che non ci siano componenti hardware danneggiate, a questo punto il problema sembra di difficile soluzione e si rende necessario l'utilizzo di un approccio diverso.
Euristica: il jumper mancante
Con l'aiuto della scheda diagnostica proviamo ad utilizzare una strategia euristica per cercare di ripristinare i jumper mancanti che non consentono il boot. Escludiamo quindi tutti i jumper la cui funzione è chiaramente serigrafata sulla motherboard e che sono presenti e configurati correttamente.
Proviamo con un jumper ausiliario (blue caps) a chiudere quelli rimanenti che sono open rieseguendo il boot e osservando ogni volta se vengono emessi codici sulla scheda. Ovviamente il processo, essendo una sperimentazione, ha intrinsecamente una certa percentuale di rischio che però accettiamo poichè la motherboard è comunque già non funzionante.
Invece in questo caso fortunato, il jumper JP20 (relativo al CPU clock delay come scopriremo in seguito) è proprio quello che mancava tra le configurazioni minime necessarie per il boot. Il segnale video è presente e l'ultimo codice emesso 4E (If there is any error, show all the error messages on the screen & wait for user to press <F1> per il BIOS AWARD) corrisponde alla richiesta "Press F1 to continue, DEL to enter SETUP".
486 motherboard identification!
La BIOS String ID è 07/07/94-SIS-85C471-2C4I8 C30-00 da cui si deduce subito che il costruttore è CHAINTECH COMPUTER COMPANY (codice C3). Per determinare il modello esatto utilizziamo HWiNFO per DOS ( Link) installando un VLB Controller e un lettore floppy disk: il boot avviene con un disco DOS minimale e al prompt viene lanciata l'utility. La motherboard viene riconosciuta come una Chaintech 486SLB ed è presente anche su Total Hardware 99 come VESA MAINBOARD SIS 486 (REV. 2) ( Link): possiamo verificare nel layout che il jumper JP20 mancante corrisponde effettivamente al CPU clock delay.
Conclusioni
E'stato possibile ripristinare ed identificare una motherboard totalmente anonima e con errori di configurazione utilizzando un procedimento euristico (ma rischioso) e il supporto di una PC Diagnostic Card.
L'esempio riguarda un caso fortunato: i jumper mancanti potrebbero essere più di uno e le combinazioni troppe. Inoltre la sperimentazione potrebbe non portare ad alcun risultato in presenza di fattori non immediatamente individuabili come condensatori scarichi, ROM del BIOS danneggiate o altro. |