Avanti Indietro Indice

6. Modem per un PC con Linux

6.1 Esterni contro interni

Un modem per PC può essere sia esterno che interno. Quello interno è installato all'interno del vostro PC (dovete svitare viti ecc. per installarlo) e l'esterno semplicemente si attacca ad un connettore di porta seriale del vostro PC. I modem interni sono più economici, è meno probabile che vadano in sovraccarico, in genere consumano meno corrente e non occupano spazio sulla scrivania. I modem esterni sono molto più facili da installare, richiedono una configurazione minore ed hanno delle luci che possono darvi un'idea di quello che sta accadendo. I modem esterni sono facilmente spostabili da un PC all'altro. La maggior parte dei modem esterni non hanno un interruttore che spenga l'alimentazione quando non sono in uso e quindi probabilmente consumano corrente anche quando sono spenti (a meno di togliere la spina dalla presa di corrente nel muro). Ogni watt che consumano costa circa $1 per anno. Un altro possibile svantaggio di un modem esterno è che sarete forzati ad usare una porta seriale esterna già presente che magari non supporta velocità superiori ai 115.200k (sebbene nel tardo 1998 neanche la maggior parte dei modem interni lo fanno - ma alcuni sì). Se un nuovo modem interno ha una UART 16650 dovrebbe impegnare di meno la CPU (ma quasi nessuno lo fa a questo tempo - tardo 1998)

I modem interni presentano un problema particolare per Linux, ma funzioneranno bene come quelli esterni a patto che voi evitiate quella grossa percentuale di essi che lavora solo sotto MS-WINDOWS ed anche a patto che poi usate un poco del vostro tempo (a volte molto tempo) per configurarli correttamente. Alcuni dei modem che funzionano solo sotto MS Windows sono, sfortunatamente, non etichettati come tali. Se ne comprate uno nuovo assicuratevi di poterlo restituire ed essere rimborsati se non funzionerà sotto Linux

Visto che la maggior parte dei nuovi modem sono plug-and-play esistono diversi modi di "domarli":

Ognuno dei metodi sopraindicati ha dei difetti. La documentazione di isapnp è difficile da comprendere sebbene la lettura del Plug-and-play HOWTO (attualmente incompleta), aiuti la comprensione. Se volete che la configurazione venga fatta dal BIOS PnP, tutto quello di cui avete bisogno è assicurarvi che esso sappia che non avete un sistema operativo PnP. Ma potrebbe non eseguire la configurazione correttamente. Per scoprire quello che ha fatto vedere Cos'è impostato nell'hardware della mia porta seriale ? Modificare il kernel potrebbe essere anch'esso complicato e potrebbe non esserci un patch per i kernel recenti.

Ci sono diversi utenti Linux che dicono che è molto più semplice prendersi un modem esterno e collegarlo. Ma visto che la maggioranza delle nuove periferiche odierne è PnP, potreste alla fine comunque doverci mettere le mani, perché quindi non farlo subito? Comunque la soluzione di un modem esterno rimane la più conveniente (e più costosa), se avete una porta seriale libera.

6.2 Modem esterni

Modem esterni PnP

Diversi modem esterni sono etichettati come "Plug and Play" (PnP) ma dovrebbero funzionare bene anche come modem non PnP. Visto che generalmente si attacca il modem ad una porta seriale che ha il suo numero di IRQ ed indirizzo IO, il modem non abbisogna di capacità PnP per impostarli. Comunque, la porta seriale stessa potrebbe dovere essere configurata (numero IRQ ed indirizzo IO) a meno che la configurazione predefinita non sia OK.

Come si può definire un modem esterno PnP visto che non può essere configurato tramite PnP? Beh, c'è una speciale identificazione PnP al suo interno che può essere letta (attraverso la porta seriale) da un sistema operativo PnP. Un sistema operativo di questo genere dovrebbe quindi sapere che voi avete un modem e dovrebbe anche conoscere il numero di modello. Quindi non dovrete avere l'esigenza di configurare i programmi applicativi informandoli su quale porta risiede il modem (come /dev/ttyS2 o COM3). Ma se non avete uns sistema operativo PnP dovrete configurare la vostra applicazione manualmente fornendogli l'identificativo /dev (come ad esempio ttyS2).

Cablaggio ed installazione

Connettere un modem esterno è semplice a confronto alla maggior parte degli altri dispositivi che si connettono ad una porta seriale e che necessitano di vari tipi di cavi "null modem". I modem usano cavi diretti, senza pin incrociati. La maggioranza dei negozi di computer ne sono forniti. Assicuratevi di avere il genere giusto. Se state usando delle seriali DB9 o DB25 sul vostro computer, il cavo sarà sempre maschio il che significa che il connettore sul cavo dovrebbe essere femmina. Attaccate il modem ad una delle vostre porte seriali. Se volete accettare l'IRQ e l'indirizzo IO predefiniti della porta alla quale lo connettete, allora siete pronti per lanciare il vostro programma di comunicazione e configurare il modem stesso

Cosa significano le luci? (LED)

6.3 Modem interni

Un modem interno viene installato in un PC togliendo il coperchio del PC ed inserendo la scheda modem in un alloggiamento libero della scheda madre. Ci sono modem per gli slot ISA ed altri per quelli PCI. Mentre i modem esterni si collegano attraverso la porta seriale (tramite un corto cavo), i modem interni hanno la porta seriale costruita al loro interno. In altre parole, la scheda modem è sia un modem che una porta seriale.

Un tempo l'impostazione degli indirizzi IO e IRQ era effettuata con ponticelli sulla scheda. Essi erano dei "cubetti" neri rettangolari di circa 5x4x2 mm di dimensione che si attaccavano alla scheda tramite dei pin. I modem plug-and-play (in realtà la porta seriale che fa parte del modem) non usano ponticelli per impostarsi ma sono invece configurati inviando ad essi dei comandi di configurazione (tramite uno spazio di indirizzo IO sul bus ISA all'interno del computer). Tali comandi di configurazione possono essere inviati tramite il BIOS PnP, il programma isapnp (per i bus ISA solamente) o tramite un sistema operativo PnP. La configurazione dei modem è già all'interno di Windows 95/98. In Linux si ha una scelta di opzioni (nessuna delle quali è sempre facile) per configurare l'io-irq:

  1. Usare "isapnp" che può essere lanciato automaticamente ad ogni avvio
  2. Usare un BIOS PnP (che viene eseguito ad ogni accensione)
  3. Modificare Linux per renderlo un sistema operativo PnP

6.4 Modem interni da evitare: Winmodem, ecc.

La maggior parte dei modem interni prodotti dopo la metà del 1988 non funzionano con Linux visto che essi sono dei "Windows Modem" o simile. I nomi usati includono: HSP, HCF, e soft-... modem. Questi modem demandano molto (o quasi tutto il) lavoro del modem al chip del processore principale (CPU) del vostro computer (come ad esempio un chip Pentium). Visto che il software ad essi corredato è solo per Windows (e non per Linux), non funzioneranno sotto Linux. Una lista dei modem che funzionano e non funzionano sotto Linux si trova in Linux modem list

Un termine migliore di "winmodem" potrebbe essere "software modem" oppure "soft-modem". Ma visto che questo software è solo per MS Windows, il termine "winmodem" è buono visto che implica anche che è "solamente per Windows". Ecco una più precisa terminologia relativa ai "winmodem":

HSP (Host Signal Processor) significa che il processore ospitante (la vostra CPU) crea il codice necessario a produrre il segnale elettrico sulla linea telefonica. Il modem in sè crea semplicemente l'onda elettrica che la CPU gli dice di generare. Al contrario, un modem "controllerless" (senza controller) può creare le onde elettriche da solo (ma non può controllare il modem). Non include capacità per interagire con i byte che gli vengono inviati o che riceve. Non può comprimere stringhe di byte; non può controllare se esistono errori; non può confezionare i byte in pacchetti. In altre parole non può controllare il modem ed è la CPU che deve fare tutto il lavoro usando un programma per Windows. Il Rockwell HCF (Host Controlled Family) fa questo. Se il software che fa tutto ciò potrebbe essere portato sotto Linux, allora non dovrebbe esserci questo problema.

Come determinare se un modem interno funzionerà sotto Linux? Se non conoscete il modello del modem ed avete anche Windows nel vostro PC Linux, fate click sull'icona del "Modem" nel "Pannello di Controllo". Prima verificate se il modem si trova nella lista nel Web menzionata 3 paragrafi sopra. Se questo non è possibile, potreste guardare la documentazione o il manuale cercando la sezione che dice qualcosa tipo "Minimum System Requirements" (Requisiti minimi di sistema) o semplicemente "System requirements" (Requisiti di sistema). Potrebbe essere scritta molto in piccolo. Leggetela attentamente. Se viene elencato Windows come uno dei requisiti allora molto probabilmente non funzionerà sotto Linux

Altrimenti, probabilmente funzionerà sotto Linux se non è esplicitamente scritto che dovete avere Windows. La dicitura "studiato per Windows" potrebbe semplicemente significare che supporta pienamente il PnP Microsoft quindi va bene anche per Linux visto che usa le stesse specifiche PnP. "Studiato per Windows" quindi non fornisce nessun indizio sul fatto che non funzioni sotto Linux. Potreste controllare sul sito Web del produttore o chiedere informazioni via posta elettronica. Una volta ho visto una pagina web che esplicitamente affermava che un modello funzionava sotto Linux sottointendendo che un altro modello non lo faceva.

Perciò che è a conoscenza dell'autore, non c'è nessun progetto attalmente in corso di supportare i "winmodem" sotto Linux. Potreste chiedere che i produttori di modem adattino il loro codice a Linux (o simile)

6.5 Che modem interni è meglio evitare?

Modem MWave e DSP

Questi modem usano DSP (Processori di Segnale Digitale) che sono programmati con algoritmi che devono essere scaricati dall'hard disk alla memoria DSP appena prima di usare il modem. Sfortunatamente lo scarico viene fatto da programmi Dos/Windows che in Linux non girano. I modem normali che lavorano sotto Linux spesso hanno anche un DSP (e potrebbe essere specificato nella confezione) ma il programma che lo lancia risiede all'interno del modem. Questo non è un modem DSP nel senso inteso da questa sezione e dovrebbe funzionare sotto Linux. Un esempio di modem DSP è l'IBM Aptiva MWAVE.

Se un modem DSP simula una porta seriale, allora si può usare con Linux che comunica col modem tramite porta seriale. Se avete anche dos/Windows sullo stesso PC, dovreste essere in grado di usare il modem: Per prima cosa installate il driver sotto DOS (usando i driver DOS e non Windows) Poi lanciate Dos/Windows (assicuratevi che il modem venga inizializzato) e poi senza spegnere il computer, passate a Linux. Per fare questo si potrebbe usare loadlin.exe che è un programma DOS che fa partire Linux da DOS (vedere il Config-HOWTO). Un altro modo è semplicemente premere CTRL-ALT-DEL. Il modem rimane sulla stessa porta com (stesso indirizzo IO) che è stato usato sotto DOS

Driver Rockwell (RPI)

I modem che voglono i driver Rockwell RPI non sono completamente usabili visto che il software per i driver non gira sotto Linux. RPI esegue la compressione e la correzione degli errori usando il software MS Windows nella CPU del computer. Se vi va bene usare il modem senza RPI (non avere quindi compressione e correzione di errori), allora potreste disabilitare RPI inviando al modem (tramite stringa di inizializzazione) un comando per fare questo ogni volta che si accende il modem. Sul mio modem questo comando è +H0 Non avere la compressione dati potrebbe essere uno svantaggio abbastanza lieve visto che la maggior parte dei file che si scaricano da Internet sono già compressi e tentare di comprimerli ulteriormente rallenterebbe semplicemente le operazioni.

Modem PCI

Una scheda modem PCI è quella che si inserisce in un alloggiamento bus PCI sulla scheda madre del PC. Sfortunatamente, sembra che la maggior parte dei modem PCI non funzioni sotto Linux ma sono in corso sforzi per supportare alcuni di essi vedere Bus PCI non ancora ben supportati


Avanti Indietro Indice