Quando sul PCB di una motherboard non sono serigrafati dati relativi a marca/modello o informazioni di configurazione, non è disponibile il manuale tecnico e il boot non avviene, l'identificazione può diventare problematica se non impossibile. In questi casi esistono diverse tecniche:
- analisi della BIOS string
- confronto con motherboard simili o cloni
- analisi basata sulle informazioni geometriche e sul layout delle componenti (tipologia, posizione e numero di slot di espansione, socket e banchi RAM, ecc.)
- euristica sulla configurazione per forzare il boot

L'analisi basata sulle informazioni di layout richiede una ricerca manuale su siti specifici come ad esempio Total Hardware 1999 ( Link): la motherboard viene confrontata visivamente con i layout disponibili ma poichè esistono migliaia di modelli e varianti diverse, il procedimento diventa oneroso e potrebbe non portare a risultati utili. Per restringere il campo di ricerca occorre un'informazione aggiuntiva: quella relativa al costruttore. Il confronto con motherboard simili o cloni presenta le stesse problematiche.
L'analisi della BIOS string prevede che la motherboard esegua almeno una volta il boot ma si è in presenza di un loop tecnico: il boot non avviene per un problema di configurazione (ad esempio jumper mancanti o in posizioni errate), occorre conoscere il modello esatto per recuperare il manuale tecnico e correggere l'errore, ma per identificare il modello occorre la BIOS string visibile al boot.
L'euristica sulla configurazione consiste nel provare a inserire i jumper mancanti o spostare in altre posizioni quelli già presenti, basandosi ad esempio sul colore (red alimentazione, yellow frequenza BUS e CPU, ecc.) ma la tecnica presenta una percentuale di rischio non trascurabile, soprattutto per i jumper relativi all'alimentazione: l'errata configurazione potrebbe provocare danni irreversibili a motherboard e CPU (soprattutto in caso di CPU low-voltage). L'applicazione di questa tecnica va quindi valutata con attenzione, potrebbe essere utilizzata solo in casi estremi quando tutte le altre tecniche non sono andate a buon fine.
In questo articolo proveremo ad identificare una o più motherboard utlizzando la tecnica del BIOS chip swapping per determinare la BIOS string di una motherboard ignota da cui risalire poi a costruttore, modello e manuale tecnico.

BIOS chip swapping
La tecnica consiste in uno scambio di BIOS chip tra la motherboard ignota e quello di una motherboard nota che esegue correttamente il boot. Nei test effettuati abbiamo rilevato che i BIOS chip devono essere uguali per piedinatura e voltaggio ma possono essere eterogenei (AMI, AWARD o altro, a meno di chip specifici per determinate motherboard) e non dipendenti dalla classe di CPU (ad esempio una motherboard Socket 3 con BIOS chip AWARD si può avviare con un BIOS chip 386 AMI e viceversa). Inoltre il boot non sembra dipendere dal particolare chipset installato mentre le componenti opzionali come cache, batteria CMOS, non influenzano i risultati (possono non essere presenti).
In generale, una motherboard può eseguire il boot di base usando diversi chip: a partire da una motherboard nota ben configurata, viene installato il BIOS chip della motherboard ignota e provato il boot. Se avviene, la prima informazione che abbiamo è che il BIOS non è corrotto (ad esempio a seguito di update errati o problemi hardware). Altra importante informazione è la BIOS string: analizzandola è possibile risalire al modello (a volte specificato nel BIOS message), al costruttore, al chipset, alla versione del BIOS, ecc.


Etichettatura BIOS chip e verifiche preliminari
Utilizziamo delle etichette per associare correttamente ciascun BIOS chip alla propria motherboard, con la convenzione U<X> (Unidentified<X>): U1 per la prima motherboard, U2 per la seconda e U3 per la terza. Allo stesso modo etichettiamo con TBOARD (Testing Motherboard) il BIOS chip della motherboard di test corrente. L'etichettatura consentirà di mappare la BIOS string alla motherboard da cui proviene il BIOS chip e, al termine dei test, di reinstallare correttamente i BIOS chip sulle rispettive motherboard.
Installiamo quindi CPU, RAM, scheda video, controller e PC Diagnostic Card sulla Gemlight (TBOARD corrente Test 1), colleghiamo l'alimentazione e verifichiamo se il boot avviene. Ricordiamo che le componenti essenziali per il boot, oltre alla corretta configurazione dei jumper, sono nell'ordine:
- BIOS
- CPU
- Keyboard Controller
- RAM
se una di queste manca o è corrotta il boot si blocca con segnale IRDY assente (CPU, BIOS e Keyboard Controller) o errori POST se la RAM non è configurata correttamente (numero banchi o SIMM per banco, parità , slot pieni/vuoti, ecc.) Se il boot splash screen appare sul monitor, la CPU rilevata è quella installata e la dimensione della RAM è quella attesa allora la TBOARD è configurata correttamente.

Boot test
Procediamo con lo scambio dei BIOS chip. Scollegata quindi l'alimentazione e rimosso il chip TBOARD, installiamo il chip U1. Effettuiamo un reset CMOS con il jumper dedicato JP33 (1-2 Normal Operation, 2-3 Discharge CMOS): questa operazione sarà necessaria ad ogni scambio di chip. Ricollegata l'alimentazione, proviamo il boot: la TBOARD si avvia correttamente e il boot splash screen appare sul monitor. Annotiamo quindi l'esito del test e la BIOS string rilevata: serviranno nella fase di analisi.
NOTA: la frequenza CPU rilevata potrebbe essere errata e il memtest bloccarsi, ma le informazioni che ci occorrono risultano corrette.
Analogamente procediamo con il chip U2: anche con un AWARD BIOS il boot avviene correttamente, annotiamo quindi i risultati. Con il chip U3 invece il boot non avviene, anche dopo vari riavvii e reset CMOS: il segnale IRDY sulla PC Diagnostic Card lampeggia in modo irregolare segnalando qualche anomalia. Anche in questo caso annotiamo i risultati.
Proviamo a ripetere i test sulla ABIT (TBOARD corrente Test 2). Con l'alimentazione scollegata effettuiamo ad ogni test un reset CMOS con il jumper dedicato JP12 (1-2 Normal Operation, 2-3 Discharge CMOS). Rieseguendo i passi precedenti, rileviamo che il boot avviene con i BIOS chip U2 e U3.
I risultati sono riassunti nella tabella seguente:
BIOS chip ID | BIOS type | Unidentified Motherboard | TBOARD | Boot | Note | U1 | AMI | Unidentified 386 PQFP | GEMLIGHT GMB-486UNP V0.1 | Ok | Reset CMOS JP33 | U2 | AWARD | Unidentified 486 TK8498F/GP 4N D24 | GEMLIGHT GMB-486UNP V0.1 | Ok | Reset CMOS JP33 | U3 | AMI | Unidentified 486 BLUE SOCKET 2 | GEMLIGHT GMB-486UNP V0.1 | No | Reset CMOS JP33 | U1 | AMI | Unidentified 386 PQFP | ABIT AV4 VL-BUS | No | Reset CMOS JP12 | U2 | AWARD | Unidentified 486 TK8498F/GP 4N D24 | ABIT AV4 VL-BUS | Ok | Reset CMOS JP12 | U3 | AMI | Unidentified 486 BLUE SOCKET 2 | ABIT AV4 VL-BUS | Ok | Reset CMOS JP12 |
Conclusa la fase di test ripristiniamo quindi le motherboard reinstallando i relativi chip e per completezza verifichiamo di nuovo il corretto avvio delle TBOARD.

Analisi BIOS string e identificazione motherboard
I BIOS message non contengno informazioni utili relative al modello. Dall'analisi delle BIOS string ottenute possiamo ricavare il costruttore di ciascuna motherboard (in grassetto nella tabella seguente):
BIOS chip ID | BIOS type | Unidentified Motherboard | BIOS Message | BIOS String | Hardware Manufacturer ID | U1 | AMI | Unidentified 386 PQFP | - | 30-0200-001276- 00101111-111192- MXIC-F | 1276 (Jetway) | U2 | AWARD | Unidentified 486 TK8498F/GP 4N D24 | REV A | 09/05/94-UMC- 498GP-2C4X6S21- 00 | S2 (Soyo) | U3 | AMI | Unidentified 486 BLUE SOCKET 2 | REV MF | 40-0200-001102- 0010111-080893- SIS461-F | 1102 (Soyo) |
Possiamo quindi provare una ricerca per costruttore e layout su Total Hardware 1999: un incredibile lavoro di classificazione di oltre 18.000 devices svolto intorno alla seconda metà degli anni 90 probabilmente in ambiente universitario. Nella sezione 386 il costruttore Jetway non è presente e non sembrano esserci corrispondenze di layout. Nella sezione Socket 2,3. 486 troviamo invece le corrispondenze di layout del costruttore Soyo relative alle restanti motherboard analizzate. I risultati dell'analisi e l'esito del processo di identificazione sono riassunti nella tabella seguente:
BIOS chip ID | BIOS type | Unidentified Motherboard | BIOS String | Motherboard Model (TH99) | Identification Status | U1 | AMI | Unidentified 386 PQFP | 30-0200-001276- 00101111-111192- MXIC-F | Jetway Unidentified 386 PQFP | Failed | U2 | AWARD | Unidentified 486 TK8498F/GP 4N D24 | 09/05/94-UMC- 498GP-2C4X6S21- 00 | SOYO COMPUTER CO., LTD. SY-25 Q/R | Success | U3 | AMI | Unidentified 486 BLUE SOCKET 2 | 40-0200-001102- 0010111-080893- SIS461-F | SOYO COMPUTER CO., LTD. 486 VESA | Success |
La motherbard 386 è stata cercata anche fra le Unidentified di TH99 ma senza risultati. Molte motherboard dell'epoca avevano costruttori generici mentre i BIOS venivano customizzati dai vendor. Esistono esempi di motherboard con costruttore noto (serigrafato sulla scheda) e BIOS con Manufacturer ID diverso.

Verifiche jumper settings
Con i jumper settings possiamo verificare che le configurazioni sono corrette per le motherboard identificate. Semberebbe quindi che il boot non avvenga per problemi ad altre componenti (condensatori, tracce danneggiate, altro). In particolare, la SOYO SY-25 Q/R è in perfette condizioni estetiche, la batteria è stata rimossa e non vi sono tracce visibili di corrosione o altro, tuttavia il boot fallisce.

Conclusioni
Quando sul PCB di una motherboard non sono serigrafati dati relativi a marca/modello o informazioni di configurazione, non è disponibile il manuale tecnico e il boot non avviene, è possibile installare il BIOS chip su una motherboard funzionante e ben configurata e provare di nuovo il boot.
Il boot può avvenire con chip montati su motherboard anche di classe diversa, a parità di piedinatura e voltaggio. Ad esempio una motherboard Socket 3 con BIOS chip AWARD si può avviare con un BIOS chip 386 AMI e viceversa.
Lo splash screen del boot indica che il BIOS non è corrotto e può fornire indicazioni sul modello nel BIOS message. Inoltre dalla BIOS string è possibile ricavare il costruttore che può essere utilizzato su Total Hardware 1999 per determinare il modello esatto della motherboard con i relativi jumper settings e verificare se il boot sulla motherboard originale non avviene per configurazioni errate o per problemi ad altre componenti. |