Een Winmodem wordt net als andere modems gebruikt voor het benaderen van telefoonservices, zoals BBS, Internet, Voice, Fax, enz. Hij wordt aangesloten op een telefoonlijn en het wordt gekenmerkt door zijn snelheid. Als je meer over modems wilt leren, raad ik je de Modem-HOWTO aan.
Maar het zijn WINmodems. Dat wil zeggen dat ze voor de werking ervan Windows nodig hebben. Waarom? Gewoonweg omdat ze dom zijn. Ze hebben speciale software nodig, om al hun taken te kunnen volbrengen. Wie software zegt, zegt OS, en de drivers die met de modem worden meegeleverd zijn voor 99%, exclusief voor het MS-Windows platform. Maar met de democratisering van Linux, besloten een aantal fabrikanten, zoals LT en Motorola, een linux driver voor hun modems te maken. Maar ze hebben de linux filosofie niet begrepen: de drivers die ze leveren functioneren wel, maar ze behoren tot de `Closed Source'. Ze zijn gratis, in de betekenis van geld, maar vallen niet onder de GPL. Dat betekent dat de broncode niet beschikbaar is.
Dus een aantal 'hackers' besloot een Open Source driver te schrijven, maar ze weten niet zoveel over die modems, omdat de fabrikanten de specificaties voor die modems niet vrij willen geven, dus bevinden de OpenSource drivers zich vaak in de alpha of beta status.
rm -f /dev/modem ln -s /dev/ttySx /dev/modem
Ok, je hebt dus een Winmodem... Maar er zijn twee typen Winmodems: ISA en PCI. Om 't nog iets moeilijker te maken, de twee interfaces zijn nogal verschillend. Dus zullen we eerst moeten testen of je een PCI of ISA-modem hebt. Ten eerste moet je je kernel configureren. Tijdens de make *config, moet je op de volgende vragen 'yes' antwoorden:
Als je je kernel nooit eerder opnieuw hebt gecompileerd, zal de kernel van je distributie dit wellicht allemaal al bevatten. Lees de Kernel-HOWTO als je het opnieuw wilt compileren en dit nog nooit hebt gedaan.
We gaan er nu vanuit dat je nieuwe kernel is geïnstalleerd.
Geef nu de opdracht `cat /proc/pci'. Als je de naam van je modem in de regels geretourneerd door het commando ziet, dan heb je een PCI-Winmodem. Ga naar 'Het installeren van de driver'
Als je het niet kunt vinden, heb je wellicht een ISA-modem. Hoe weet je dit zeker ?
Ondersteuning van ISA is niet in de kernel aanwezig (UPDATED: wanneer je een 2.4.x kernel hebt, kan de kernel het automatisch voor je doen. Sla in dat geval deze sectie over en lees de volgende). Je kunt dit doen met software van derden, genaamd isapnp. Eerst moet je er zeker van zijn dat je dit package hebt geïnstalleerd. Als je het niet hebt, moet je het package isapnptools downloaden en installeren.
Zodra isapnptools is geïnstalleerd, starten we een speciaal programma op - pnpdump - waarmee je computer wordt geïnspecteerd op ISA-devices. Het probeert dan de gebruikte bronnen door de devices te raden en drukt deze af naar het bestand /etc/isapnp.conf. Vervolgens wijzig je dit bestand en start je een ander programma op, isapnp, wat het isapnp.conf bestand inleest en je devices automatisch configureert.
Eh ? Het maakt veel lawaai ? Volg dan deze stappen:
/etc/isapnp.conf
op.
Als je foutmeldingen krijgt, wijzig je het bestand isapnp.conf
en probeer je wat parameters te veranderen. Als je geen foutmeldingen krijgt,
wijzig je isapnp.conf en haal je in de sectie van je modem het
commentaarteken weg voor de regel '(ACT Y)'. Start 'isapnp /etc/isapnp.conf'
dan weer op. Het moet antwoorden met ''Naam van je modem Enabled OK''isapnp /etc/isapnp.conf
toe aan
/etc/rc.d/rc.local, door het typen van:
'echo "isapnp /etc/isapnp.conf" >> /etc/rc.d/rc.local'.
Het is handig voor het automatisch configureren bij het iedere keer opstarten.Mocht dit van hulp zijn, dan is hier een uittreksel van mijn /etc/isapnp.conf bestand. (Ik heb commentaar in dit bestand geplaatst en het oorspronkelijke commentaar laten voorafgaan door ##):
# Snip details ... ## (DEBUG) (READPORT 0x0203) (ISOLATE PRESERVE) (IDENTIFY *) (VERBOSITY 2) (CONFLICT (IO FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL)) # or WARNING # Identificatie van mijn modemkaart ## 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 # # We willen de GVC5005/256 kaart configureren (CONFIGURE GVC5005/256 (LD 0 # I/O Base address 0x03f8, with a range of 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)) # I/O Base Address 2 0x0100, range 8 (IO 1 (SIZE 8) (BASE 0x0100) ) # Name of the card (NAME "GVC5005/256[0]{LT Win Modem }") # Activeer het (ACT Y) # Einde configuratie )) ######## De parameters voor mijn andere ISA-devices ############## ## Retourneert alle kaarten terug naar de "Wait for Key" status (WAITFORKEY)
Als je een 2.4 kernel hebt (start 'uname -r' voor het achterhalen van de kernelversie), hoef je deze lastige op tekstbestand gebaseerde en softwarepakket van derde installatie niet uit te voeren, aangezien de kernelserie 2.4 een vergelijkbare methode introduceert voor PCI, en hiermee het isapnptools package verouderd is. Voor het kunnen benutten van deze mogelijkheid, moet je 'Y' of 'M' antwoorden op de 'Plug and Play support' (CONFIG_PNP) en 'ISA Plug and Play support' (CONFIG_ISAPNP) tijdens het configureren van de kernel. Ook hier je kernel opnieuw compileren en installeren. Als je 'M' antwoordde op ISA Plug-and-Play support, dan voer je tevens een 'modprobe isapnp' uit. Je moet hiervoor een driver hebben die compliant is met deze nieuwe device toegangsmethode (bv. de ltmodem 5.78, lees de volgende sectie).
Je hoeft deze sectie niet helemaal door te lezen; lees gewoon dat gedeelte dat met je modem overeenkomt. Het beschrijft thans slechts hoe je een LT-Modem installeert met behulp van de Lucent en OpenSource driver. Als je een andere Winmodem-driver hebt geschreven of gebruikt, Open of Closed Source, kun je me mailen ([email protected]), en zal ik het in deze sectie opnemen.
URL: http://www.tux.org/pub/dclug/marvin/ltmodem-5.78e.tar.gz
Auteur: Lucent
Licentie: Non-GPL
Ondersteunt: ISA/PCI modem, met een Lucent chipset (Mars family)
Mogelijkheden: Kernel module; simuleer een seriële poort. Doet PPP,
Fax en Voice
Huidige versie: 5.78e
Documentatie: README-1ST
Benodigd: 2.2.x or 2.4.x; ISA PNP Support; Loadable module support; C Compiler
Hoe het te gebruiken: Lees README-1ST. Het is zeer duidelijk.
Problems:
URL: http://www.linmodems.org/linux568.zip Auteur: Lucent Technologies Licentie: Non-GPL Ondersteunt: ISA/PCI modems, met een Lucent chipset (Mars familie) Features: Kernel module; simuleert een seriële poort. Doet PPP, Fax en Voice Huidige versie (zover ik weet): 5.68 Documentatie: README Benodigd: Een 2.2.12 of hogere RedHat kernel; laadbare module ondersteuning Gebruik: Unzip het package ('unzip linux568.zip'), en start ./ltinst. Dat is alles !
Problemen:
URL: http://www.close.u-net.com Auteurs: Richard Close en Pavel Machek License: GPL Ondersteunt: ISA/PCI modems, met Lucent chipsets (Mars familie) Feature: User-space driver; doet Voice calls; geen PPP (V90) Huidige versie (zover ik weet): 0.99 Documentatie: README Benodigdheden: GNU C Compiler, automake Hoe het te gebruiken:
Problemen: "Sorry, ik kan geen modem vinden...":
Copyright (C) 2000, 2001 Alexandre J. Dit programma is vrije software; je kunt het redistribueren en/of wijzigen onder de voorwaarden van de GNU General Public Licentie zoals gepubliceerd door de Free Software Foundation; óf versie 2 óf (naar keuze) enige latere versie.
Dit programma werd gedistribueerd in de hoop dat het van nut zou zijn, maar ZONDER ENIGE GARANTIE; zelfs zonder de impliciete garantie van VERKOOPBAARHEID of GESCHIKTHEID VOOR EEN BEPAALD DOEL. Zie de GNU General Public Licentie voor meer details.
Je zou samen met dit programma een kopie van de GNU General Public Licentie moeten hebben ontvangen; als dit niet zo is, schrijf dan naar de Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Als je ideeën hebt over dit document, email me dan alsjeblieft: [email protected].