Logo PJ
Home
Arcade
Musica
Bicicletta
FabLab
Linux
DreamBox
Giochi
 
   Introduzione   Perle   Programmi   SSH   SAMBA   Firewall   GPS   WIFI   Jukebox   PCcar 

Lavorare su una scheda IPC WAFER 5822

Avete presente quelle schede madri delle dimensioni di un hard disk, ma che possiedono tutte le caratteristiche di un PC moderno? In questi giorni per lavoro mi è capitato di mettere le mani su una scheda WAFER 5822 prodotta dalla taiwanese ICP. Il mio lavoro consisteva appunto nell'installare all'interno del DiskOnChip presente una versione ridotta di Linux con la funzione iniziale di player MP3, che fosse in grado però di reagire a segnali dall'esterno.

Il primo passo, una volta entrato in possesso del prototipo, è stato quello di collegare un HD alla porta IDE ed installarci la RedHat 6.2: ho scelto questa distribuzione perché la ritengo la più stabile di quelle con kernel 2.2.x (il 2.4.x è a mio avviso ancora troppo immaturo per un progetto simile) e perché comunque avevo bisogno almeno inizialmente di una distribuzione che riconoscesse facilmente le varie componenti della scheda.

Il processore video è stato riconosciuto immediatamente (MediaGx) come pure la scheda di rete (Realtek RTL8139), mentre per quanto riguarda l'audio ho dovuto configurare manualmente i parametri dei moduli SoundBlaster. Il chipset viene riconosciuto e gestito senza problemi, come pure le porte seriali, parallela e USB. Per quanto riguarda la gestione del DiskOnChip il sito di produttore mette a disposizione i driver e i programmi necessari per il suo funzionamento, completi di un dettagliatissimo manuale per l'utente e per lo sviluppatore. Le uniche cose non supportate immediatamente da Linux sono la porta I/O e il sistema di watchdog. Il manuale della scheda in compenso risulta essere molto tecnico e dettagliato, e fornisce tutte le informazioni necessarie, pertanto sono riuscito facilmente a realizzare i driver per gestirle.

Una volta compilato un kernel monolitico con tutte le funzionalità che mi servivano ho realizzato un'immagine compressa del disco da caricare al momento del boot insieme al kernel. Risultato: in 8 mega di chip sono riuscito a far stare tutto il mio sistema, comprensivo di Perl, interfaccia grafica e player MP3. Come supporto alla rete al momento ho lasciato solo il server telnet, in attesa di ulteriori specifiche per la gestione degli aggiornamenti dei file (probabilmente un programma scritto in Visual Basic che si collegherà ad un server scritto in Perl).

Come disco finale per i dati viene usata una CompactFlash Card da 128 MB, collegata via IDE tramite un adattatore che la fa vedere al sistema come se si trattasse di un hard disk vero e proprio. Nella foto di questo prototipo si possono vedere due alimentatori differenti, in quanto il primo è il circuito stabilizzato che verrà utilizzato nel prodotto finale, e trasformerà i 24V della batteria dell'autobus nelle tensioni necessarie al funzionamento della scheda; il trasformatore in fianco invece serve temporaneamente per collegare il prototipo alla rete domestica.

RIFERIMENTI

  • Patch (tipo sconosciuto, 8164 byte) da applicare al kernel 2.2.20. Ho verificato che tale patch è applicabile senza problemi anche alla versione 2.2.21; non sono invece in grado di dire se funziona con versioni precedenti, ma consiglio caldamente l'aggiornamento all'ultima versione.
  • Pagina del driver per la gestione del watchdog.
  • Pagina del driver per la gestione della porta I/O.
  • Configurazione (tipo sconosciuto, 10 KB) che ho usato per il kernel.
  • Sito di supporto dei DiskOnChip.
  • Sito del produttore della scheda.