  The Winmodems-and-Linux HOWTO
  Alexandre J., alexandre12@mageos.com
  v1.2, 29 Aprile 2001

  Questo documento aiuta gli utenti che dispongono di un Winmodem a
  farlo funzionare con Linux.  Traduzione italiana a cura di Luca Lazza
  roni (lukenshiro(at)aruba.it) - 25 ottobre 2001.  Revisione a cura di
  pctips (pctips(at)hardwaretips.com) e Luca Bruno (luca(at)unofree.it)
  - 9 Agosto 2003
  ______________________________________________________________________

  Indice Generale


  1. Che cosa sono i Winmodem?
     1.1 Sono modem...
     1.2 ...ma non lo sono a tutti gli effetti!
     1.3 Come faccio a capire che ho un Winmodem ?

  2. ISA o PCI?
     2.1 PCI?
     2.2 o ISA ?
     2.3 ISA e i kernel 2.4

  3. Installazione dei driver del modem
     3.1 ltmodem 5.78
     3.2 Il WinModem LT (da Lucent) 5.68 (OBSOLETO)
     3.3 Il programma LTMODEM (driver OpenSource)

  4. Fine...
     4.1 Licenza, Copyright
     4.2 Contatti
     4.3 Risorse


  ______________________________________________________________________

  11..  CChhee ccoossaa ssoonnoo ii WWiinnmmooddeemm??


  11..11..  SSoonnoo mmooddeemm......

  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.

  11..22..  ......mmaa nnoonn lloo ssoonnoo aa ttuuttttii ggllii eeffffeettttii!!

  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1..33..  CCoommee ffaacccciioo aa ccaappiirree cchhee hhoo uunn WWiinnmmooddeemm ??

  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.



  22..  IISSAA oo PPCCII??


  22..11..  PPCCII??

  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:



    In Loadable module support: 'Enable loadable module support
     (CONFIG_MODULES)', e 'Set version information on all modules for
     symbols (CONFIG_MODVERSIONS)' (vi faccio notare che dovete aver
     installato il pacchetto modutils ; date un'occhiata al Kerneld-
     HOWTO)

    In General setup:


     Scegliete 'Any' in 'PCI Access Mode' (CONFIG_PCI_GOBIOS)
    Se siete in grado di configurare 'PCI Device Name Database' (forse
     con un kernel 2.4+), potete rispondere affermativamente: ci
     render il vostro file /proc/pci pi agevole da capire
     (CONFIG_PCI_NAMES).

    In Filesystems



     Se non avete mai ricompilato il kernel, probabilmente quello della
     vostra distribuzione conterr gi tutto questo. Se desiderate
     ricompilarlo e non l'avete mai fatto, leggete il Kernel-HOWTO.


  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'



  22..22..  oo IISSAA ??

  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

  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.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 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)
  ______________________________________________________________________



  22..33..  IISSAA ee ii kkeerrnneell 22..44

  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).
  33..  IInnssttaallllaazziioonnee ddeeii ddrriivveerr ddeell mmooddeemm

  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.



  33..11..  llttmmooddeemm 55..7788

  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:


    "Unresolved symbols: xxx_isapnp_xxxx": eseguite modprobe isapnp.

    "Device or resource busy": il vostro modem non  compatibile con il
     driver

     Commenti: Lucent, questa volta, evita problemi con la versione del
     kernel e/o della distribuzione fornendo i sorgenti per alcuni
     elementi.

  Nota: l'URL sopracitato non funziona, potete scaricare le versioni
  pi; recenti del driver da: http://www.physcip.uni-
  stuttgart.de/heby/ltmodem/archive/


  33..22..  IIll WWiinnMMooddeemm LLTT ((ddaa LLuucceenntt)) 55..6688 ((OOBBSSOOLLEETTOO))

  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:


  


    "insmod: ltmodem: Unresolved symbol(s) *****": Non avete un kernel
     compatibile con ltmodem. Prendete il kernel 2.2.12 da
     ftp.kernel.org, compilatelo ed installatelo

    "Warning: kernel version mismatch...":  semplicemente perch non
     avete il kernel 2.2.12-20.  solo un'avvertenza, e non provoca
     l'inutilizzabilit del modem

    "ltmodem: init_module: device or resource busy":

       Non avete un modem LT o compatibile installato

       Se avete un modem ISA, non  configurato con isapnp

       Se avete un modem PCI, il supporto PCI nel kernel non  stato
        configurato


  33..33..  IIll pprrooggrraammmmaa LLTTMMOODDEEMM ((ddrriivveerr OOppeennSSoouurrccee))

  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:


  


    PCI: make ; make install - Poi utilizzate il programma 'ltmodem'
     per comunicare con il modem

    ISA: (leggi il file README.ISA) mv Makefile Makefile.PCI ; mv
     Makefile.ISA Makefile ; modificate config.h e sostituite i valori
     presenti con quelli corretti del vostro modem (Indirizzo I/O, DMA,
     IRQ) ; make ; make install - Poi utilizzate il programma 'ltmodem'
     per comunicare con il modem.


     Problemi:


    "Sorry, I can't found any modem...":


       Non avete un modem LT

       Avete un modem ISA non configurato con isapnp

       Avete un modem ISA configurato; ma ltmodem non  stato compilato
        come ISA

       Avete un modem PCI, ma siete senza supporto PCI incluso nel
        kernel

       Avete un modem PCI e un kernel compatibile, ma ltmodem non 
        stato compilato come PCI


  44..  FFiinnee......


  44..11..  LLiicceennzzaa,, CCooppyyrriigghhtt

  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


  44..22..  CCoonnttaattttii

  Se avete idee a proposito di questo documento, mandatemi per favore
  un'email: alexandre12@mageos.com.


  44..33..  RRiissoorrssee


    La home page del progetto Linmodems: http://www.linmodems.org


    La home page del progetto LTModem: http://www.close.u-net.com


    La home page di Lucent Technologies: http://www.lucent.com


    Il Kernel di Linux: http://www.kernel.org


    La home page di isapnptools:
     http://www.roestock.demon.co.uk/isapnptools


    La home page di LDP (per ricavare gli HOWTO): http://www.tldp.org


    La home page di ILDP (per gli HOWTO in italiano):
     http://pluto.linux.it/ildp/



