Un Winmodem, come altri modem, viene utilizzato per accedere a servizi telefonici come le BBS, Internet, Telefono Vocale, Fax etc. È collegato ad una linea telefonica ed è classificato per la sua velocità . Se volete apprendere di più sui modem, vi consiglio il Modems-HOWTO.
In realtà sono WINmodem. Cioè necessitano di Windows per funzionare. Perchè ? Semplicemente perchè sono stupidi. Hanno bisogno di un particolare software, un driver, per svolgere il loro lavoro. Chi dice software dice Sistema Operativo, e i driver inclusi nei modem sono al 99% esclusivamente per la piattaforma MS-Windows. Ma, con la diffusione di Linux, alcuni produttori, come LT o Motorola, hanno deciso di realizzare driver dei loro modem per Linux. Ma non hanno capito la filosofia di Linux: i driver che forniscono funzionano, certo, ma sono 'Closed Source'. Sono gratuiti nel prezzo, ma non liberi sotto licenza GPL. Ciò significa che i sorgenti non sono disponibili. Perciò alcuni hacker hanno deciso di sviluppare dei driver Open Source, ma non hanno molti dati sui modem a loro disposizione, perchè i produttori non vogliono rilasciarne le specifiche: quindi i driver OpenSource sono spesso in stato di sviluppo alpha o beta.
1. Cercate di trovare il nome della porta seriale a cui il vostro modem è connesso (sotto Windows o MSDOS ad esempio: COM1 COM2...).
Il nome del modem sotto Linux è /dev/ttySx, dove x è il numero della porta seriale sotto DOS - 1, ad esempio: sotto DOS: COM1, sotto Linux ttySx, con x=1-1, quindi ttyS0.
Un altro esempio: sotto DOS COM3, sotto Linux ttyS2
e così via.
2. Create un link simbolico da /dev/ttySx a /dev/modem, digitando:
rm -f /dev/modem<p> ln -s /dev/ttySx /dev/modem
3. Scaricate e installate il pacchetto minicom. Poi eseguite 'minicom -s'.
Selezionate la voce 'Serial Port Setup', scrivete 'A' per impostare il 'Serial Device', cancellate tutta la riga, e scrivete '/dev/modem'. Poi proseguite con [Invio]. Digitate [Esc] e scegliete 'save setup as dfl', quindi selezionate 'Exit'.
Attendete un attimo, poi scrivete 'AT': se il modem risponde 'OK' allora NON avete un Winmodem, ma un modem standard...
Se i tempi di inizializzazione sono troppo lunghi, allora avete un Winmodem. Utilizzate questo documento per cercare di renderlo funzionante. Fate il login come utente root.
4. Uscite da Minicom digitando CTRL+A, poi X.
Ok, ora avete un Winmodem... Ma ci sono due tipi di Winmodem: ISA o PCI. Per rendere le cose più difficili, le due interfacce sono abbastanza diverse. Quindi, ora verificheremo se disponiamo di un modem PCI o ISA. Prima di tutto, dovete configurare il kernel. Durante il make *config, dovete rispondere affermativamente alle seguenti domande:
'PCI support' (CONFIG_PCI)
Scegliete 'Any' in 'PCI Access Mode' (CONFIG_PCI_GOBIOS)
'PCI quirks' (CONFIG_PCI_QUIRKS)
'Backward compatible /proc/pci' (CONFIG_PCI_OLD_PROC)
'/proc filesystem support' (CONFIG_PROC_FS)
Ora, assumiamo che il vostro nuovo kernel sia installato.
Eseguite 'cat /proc/pci'. Se vedete il nome del vostro modem nelle righe visualizzate dal comando allora avete un Winmodem PCI. Passate alla sezione 'Installazione dei driver'
Se non lo trovate, probabilmente avete un modem ISA. Come essere sicuri ?
Il supporto ISA non è previsto nel Kernel (AGGIORNAMENTO: se avete un kernel 2.4.x, il kernel lo fa per voi automaticamente: se è così saltate questa sezione e leggete la prossima). Esiste un software di terze parti, chiamato isapnp, che lo gestisce. Per prima cosa dovete essere sicuri di aver installato questo software. Altrimenti installatelo scaricando il pacchetto isapnptools.
Una volta che isapnptools è stato installato, eseguiremo un particolare programma, pnpdump, che ispeziona il computer alla ricerca di dispositivi ISA. Poi cercate di ricavare le risorse utilizzate dai dispositivi e memorizzatele in un file, /etc/isapnp.conf. Quindi modificate questo file ed eseguite un altro programma, isapnp, che legge il file isapnp.conf e configura i vostri dispositivi.
Eh ? Sembra difficile ? Allora seguite questi passi:
1. Eseguite 'pnpdump > /etc/isapnp.conf'.
2. Modificate il file appena creato con il vostro editor di testo preferito.
3. Cercate la sezione in cui il vostro modem è descritto.
4. Decommentate alcune righe nel file (cancellando il # all'inizio della riga). Avete bisogno di:
1 riga '(IO 0 ...)'
1 riga '(INT 0 ...)'
1 riga '(DMA 0 ...)'
1 riga '(DMA 1 ...)'
1 riga '(IO 1...)'
5. Rimuovete il '(CHECK)' in tutte le righe IO decommentate
6. Eseguite 'isapnp /etc/isapnp.conf'. Se ci sono degli errori, modificate il file isapnp.conf e provate a cambiare i parametri: aiutatevi con i messaggi di errore. Se non ci sono errori, modificate isapnp.conf e decommentate la riga '(ACT Y)' nella sezione del vostro modem. Poi rieseguite 'isapnp /etc/isapnp.conf'. Dovrebbe rispondervi con: "[[Nome del vostro modem]] Enabled OK"
7. Aggiungete 'isapnp /etc/isapnp.conf' al vostro /etc/rc.d/rc.local, digitando 'echo "isapnp /etc/isapnp.conf" >> /etc/rc.d/rc.local'. È utile per auto-configurare i vostri dispositivi ad ogni avvio.
Se vi può aiutare, ecco un estratto del mio file /etc/isapnp.conf (Ho commentato questo file, e i commenti originali sono preceduti da ##)
# Taglio i dettagli ... ## (DEBUG) (READPORT 0x0203) (ISOLATE PRESERVE) (IDENTIFY *) (VERBOSITY 2) (CONFLICT (IO FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL)) # or WARNING # Identificazione della mia scheda modem ## Card 1: (serial identifier e2 00 00 01 00 05 50 c3 1e) ## Vendor Id GVC5005, Serial Number 256, checksum 0xE2. ## Version 1.0, Vendor version 0.1 ## ANSI string -->LT Win Modem<-- ## ## Logical device id HSM0140 ## Device support I/O range check register # # Vogliamo configurare la scheda GVC5005/256 (CONFIGURE GVC5005/256 (LD 0 # Indirizzo I/O di base 0x03f8, con un range di 8 (IO 0 (SIZE 8) (BASE 0x03f8) ) # IRQ 4 (INT 0 (IRQ 4 (MODE +E))) # DMA 5 (DMA 0 (CHANNEL 5)) # DMA 7 (DMA 1 (CHANNEL 7)) # Indirizzo I/0 di Base 2 0x0100, range 8 (IO 1 (SIZE 8) (BASE 0x0100) ) # Nome della scheda (NAME "GVC5005/256[0]{LT Win Modem }") # Attivala (ACT Y) # Fine della configurazione )) ######## I parametri dei miei altri dispositivi ISA ############## ## Riporta tutte le schede allo stato "Wait for Key" (WAITFORKEY)
Se avete un kernel 2.4 (digitate 'uname -r' per individuare la versione del vostro kernel), non dovete intraprendere questa complicata installazione di un pacchetto di terze parti basato su file di testo, poichè nella serie 2.4 è stata introdotta una nuova architettura simile a quella PCI che rende obsoleto il pacchetto isapnptools. Per abilitare questa caratteristica, dovete rispondere 'Y' o 'M' a 'Plug and Play support' (CONFIG_PNP) e 'ISA Plug and Play support' (CONFIG_ISAPNP) durante la configurazione del kernel (queste voci sono nella sezione 'Plug and Play configuration'). Ricompilate nuovamente il vostro kernel e installatelo. Se rispondete 'M' al supporto ISA Plug-and-Play, È; necessario digitare 'modprobe isapnp'. Dovete avere un driver compatibile con questo nuovo metodo d'accesso al dispositivo (es. il ltmodem 5.78, leggete la prossima sezione).
Non dovete leggere completamente questa sezione; leggete solo la parte che riguarda il vostro modem. Per il momento, essa spiega solo come installare un un Modem LT, utilizzando il driver Lucent e/o quello OpenSource. Se avete scritto o utilizzato un altro driver Winmodem, sia Open che Closed Source, potete mandarmi un'email (alexandre12@mageos.com), e lo includerò in questa sezione.
URL: http://www.tux.org/pub/dclug/marvin/ltmodem-5.78e.tar.gz
Autore: Lucent
Licenza: Non-GPL
Supporta: modem ISA/PCI con un chipset Lucent della famiglia Mars
Caratteristiche: modulo del Kernel; emula una porta seriale. Supporta PPP, Fax e Voce
Versione corrente: 5.78e
Documentazione: README-1ST
Richiede: kernel 2.2.x o 2.4.x; Supporto ISA PNP; Loadable module support; Compilatore C
Come si usa: leggi README-1ST. È molto chiaro.
Problemi:
Nota: l'URL sopracitato non funziona, potete scaricare le versioni più; recenti del driver da: http://www.physcip.uni-stuttgart.de/heby/ltmodem/archive/
URL: http://www.linmodems.org/linux568.zip
Autore: Lucent Technologies
Licenza: Non-GPL
Supporta: modem ISA/PCI con un chipset Lucent della famiglia Mars
Caratteristiche: modulo del Kernel; emula una porta seriale. Supporta PPP, Fax e Voce
Versione corrente (per quanto ne so): 5.68
Documentazione: README
Richiede: Un kernel RedHat 2.2.12 o superiore; loadable module support
Come si usa: Decomprimi il pacchetto zippato ('unzip linux568.zip'), ed esegui ./ltinst. È tutto !
Problemi:
URL: http://www.close.u-net.com
Autori: Richard Close e Pavel Machek
Licenza: GPL
Supporta: modem ISA/PCI con un chipset Lucent della famiglia Mars
Caratteristiche: driver User-space; fa chiamate vocali; non supporta PPP (V90)
Versione corrente (per quanto ne so): 0.99
Documentazione: README
Richiede: Compilatore C di GNU, automake
Come si usa:
Copyright (C) 2000, 2001 Alexandre J.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
N.d.T. La versione inglese della licenza GNU GPL è l'unica avente valore legale. Per semplicità qui di seguito si riporta una traduzione italiana non ufficiale della licenza, priva comunque di qualsivoglia valore giuridico:
Copyright (C) 2000, 2001 di Alexandre J.
Questo programma è software libero; potete redistribuirlo e/o modificarlo
secondo i termini della GNU General Public License come resa pubblica
dalla Free Software Foundation; nella versione 2 della licenza, oppure
(a vostra scelta) in ogni altra versione successiva.
Questo programma è distribuito nella speranza che possa essere utile,
ma senza ALCUNA GARANZIA; senza neanche la la garanzia implicita di
COMMERCIABILITÀ o IDONEITÀ AD UN PARTICOLARE SCOPO. Consultate la
GNU General Public License per maggiori dettagli.
Dovreste aver ricevuto una copia della GNU General Public License
unitamente a questo programma; se non è così scrivete alla Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Se avete idee a proposito di questo documento, mandatemi per favore un'email: alexandre12@mageos.com.