This commit is contained in:
gferg 2001-04-29 21:46:11 +00:00
parent 07ae7cbb8e
commit 08e8b75168
1 changed files with 88 additions and 54 deletions

View File

@ -4,36 +4,36 @@
<title>The Winmodems-and-Linux HOWTO
<author>Alexandre J., alexandre12@mageos.com
<date>v1.1, 2001-04-26
<date>v1.2, 29 April 2001
<abstract>
This document helps users get a Winmodem working under Linux.
This document helps users who have a Winmodem for getting it working under Linux.
</abstract>
<toc>
<sect>What are Winmodems ?<p>
<sect1>They are modems... <p>
A Winmodem, like other modems, is used for accessing to phone services, as BBS, Internet, Voice Phone, Fax, etc. It is raccorded to a phone line and is caracterized by its speed. If you want to learn more about modems, I report you to the Modems-HOWTO.
<sect1>They are modems...
<p>A Winmodem, like other modems, is used for accessing to phone services, as BBS, Internet, Voice Phone, Fax, etc. It is raccorded to a phone line and is caracterized by its speed. If you want to learn more about modems, I report you to the Modems-HOWTO.
<sect1>...not as real modems are !<p>
But they are WINmodems. That is, they need Windows to work. Why ? Simply because they are stupid. They need a special software, a driver, to accomplice their complete task. Who says software says OS, and the drivers included with the modem are, at 99%, exclusively for the MS-Windows platform. But with the democratization of Linux, some manufacturers, like LT or Motorola, decided to create a linux driver for their modems. But they have not understand linux philosophy: the drivers they provide works, of course, but they are 'Closed Source'. They are free, at the sense of the price, but not under the GPL. It means that the sources are not available. <p>
So, some 'hackers' decided to make an Open Source driver, but they do not know a lot about their modems, because manufacturers don't want to communicate the specifications of their modems, so the OpenSource drivers are often in the alpha or beta status. <p>
<sect1>How to know I have a Winmodem ?<p>
1. Try to get the name of the serial port where your modem is connected (under Windows or MSDOS, example: COM1 COM2, ...). <p>
The name of your modem under Linux is /dev/ttySx, where x is the number of the serial port under DOS, - 1. <
Example: Under DOS: COM1, under Linux ttySx, with x=1-1, so ttyS0 <p>
2nd example: Under DOS: COM3, under Linux ttyS2<p>
and so on <p>
But they are WINmodems. That is, they need Windows to work. Why ? Simply because they are stupid. They need a special software, a driver, to accomplice their complete task. Who says software says OS, and the drivers included with the modem are, at 99%, exclusively for the MS-Windows platform. But with the democratization of Linux, some manufacturers, like LT or Motorola, decided to create a linux driver for their modems. But they have not understand linux philosophy: the drivers they provide works, of course, but they are 'Closed Source'. They are free, at the sense of the price, but not under the GPL. It means that the sources are not available.
<p>So, some 'hackers' decided to make an Open Source driver, but they do not know a lot about their modems, because manufacturers don't want to communicate the specifications of their modems, so the OpenSource drivers are often in the alpha or beta status. <p>
<sect1>How to know I have a Winmodem
?<p>1. Try to get the name of the serial port where your modem is connected (under Windows or MSDOS, example: COM1 COM2, ...).
<p>The name of your modem under Linux is /dev/ttySx, where x is the number of the serial port under DOS, - 1. <
Example: Under DOS: COM1, under Linux ttySx, with x=1-1, so ttyS0
<p>2nd example: Under DOS: COM3, under Linux ttyS2<p>
and so on
<p>
2. Make a symlink from /dev/ttySx to /dev/modem, by typing
<code>
rm -f /dev/modem<p>
ln -s /dev/ttySx /dev/modem
</code>
3. Download and install the minicom package. Then run 'minicom -s'. <p>
Choose 'Serial Port Setup', type 'A' for setting 'Serial Device', delete all the line, and type '/dev/modem'. Then validate by [Enter]. Type [Esc], and choose 'save setup as dfl, then choose 'Exit'. <p>
Wait a little time, then type 'AT' if the modem answers 'OK' then you have NOT a Winmodem, you have a standard modem... <p>
If the initialisation time takes too long, then you have a Winmodem. Use this document for try making it useful. Log in as root.<p>
3. Download and install the minicom package. Then run 'minicom -s'.
<p>Choose 'Serial Port Setup', type 'A' for setting 'Serial Device', delete all the line, and type '/dev/modem'. Then validate by [Enter]. Type [Esc], and choose 'save setup as dfl, then choose 'Exit'. <p>
Wait a little time, then type 'AT' if the modem answers 'OK' then you have NOT a Winmodem, you have a standard modem...
<p>If the initialisation time takes too long, then you have a Winmodem. Use this document for try making it useful. Log in as root.<p>
4. Exit from Minicom by typing CTRL+A, then X. <p>
@ -49,6 +49,7 @@ Ok, now we have a Winmodem... But there are two types of Winmodems: ISA or PCI.
Choose 'Any' in 'PCI Access Mode' (CONFIG_PCI_GOBIOS)<p>
'PCI quirks' (CONFIG_PCI_QUIRKS)<p>
'Backward compatible /proc/pci' (CONFIG_PCI_OLD_PROC)<p>
<item>If you can config PCI Device Name Database (maybe with a 2.4+ kernel), your can say Y, this will make your /proc/pci file easier to understand (CONFIG_PCI_NAMES).
<item>In Filesystems<p>
'/proc filesystem support' (CONFIG_PROC_FS)<p>
</itemize>
@ -60,25 +61,37 @@ Now run 'cat /proc/pci'. If you see the name of your modem in the lines returned
<sect1>or ISA ?<p>
If you don't find it, maybe you have an ISA modem. How to be sure ?<p>
ISA support is not assumed by the Kernel (the 2.4.* kernel will do it, but it is yet in a not-stable version...). It is a third-party software, named isapnp, who does it. First you must be sure that you have this package installed. If not install it by downloading the isapnptools package. <p>
Once isapnptools is installed, we'll run a special program, pnpdump, who inspects your computer for finding ISA devices. Then it tries to guess the resources used by the devices and prints them to a file, /etc/isapnp.conf. Then you edit this file and run an other program, isapnp, which reads the isapnp.conf file and auto configure your devices. <p>
<p>
Eh ? It sounds hard ? Then follow these steps: <p>
<p>
1. Run 'pnpdump > /etc/isapnp.conf'. <p>
2. Edit it with your favourite text editor<p>
3. Locate the section where your modem is described. <p>
4. Uncomment some lines in the file (Remove the # at the beginning of the line. You need: <p>
1 line '(IO 0 ...)'<p>
1 line '(INT 0 ...)'<p>
1 line '(DMA 0 ...)'<p>
1 line '(DMA 1 ...)'<p>
1 line '(IO 1...)'<p>
5. Remove the '(CHECK)' in all uncommented IO lines<p>
6. Run 'isapnp /etc/isapnp.conf'. If you get errors, edit the file isapnp.conf and try changing parameters, help you with the error message. If you get no errors, edit isapnp.conf and uncomment the '(ACT Y)' line in the secton of your modem. Then re-run 'isapnp /etc/isapnp.conf'. It must answer you " [[Name of your modem]] Enabled OK"<p>
7. Add 'isapnp /etc/isapnp.conf' to your /etc/rc.d/rc.local, by typing 'echo "isapnp /etc/isapnp.conf" >> /etc/rc.d/rc.local'. It is useful for auto-configuring your devices at each startup<p>
<p>
If it can help , here is an extract of my /etc/isapnp.conf file (I have commented this file, and original file comments are preceded by ##)<p>
ISA support is not assumed by the Kernel (UPDATED: if you have a
2.4.x kernel, the kernel can do it automagically for you, if so, skip this
section and read the next). It is a third-party software, named isapnp, who does
it. First you must be sure that you have this package installed. If not install
it by downloading the isapnptools package. <p>Once isapnptools is installed,
we'll run a special program, pnpdump, who inspects your computer
for finding ISA devices. Then it tries to guess the
resources used by the devices and prints them to a file,
/etc/isapnp.conf. Then you edit this file and run an other
program, isapnp, which reads the isapnp.conf file and auto
configure your devices. <p> <p> Eh ? It sounds hard ? Then
follow these steps: <p> <p> 1. Run 'pnpdump >
/etc/isapnp.conf'. <p>2. Edit it with your favourite text
editor<p> 3. Locate the section where your modem is
described. <p>4. Uncomment some lines in the file (Remove
the # at the beginning of the line. You need: <p> 1 line
'(IO 0 ...)'<p> 1 line '(INT 0 ...)'<p> 1 line '(DMA 0
...)'<p> 1 line '(DMA 1 ...)'<p> 1 line '(IO 1...)'<p> 5.
Remove the '(CHECK)' in all uncommented IO lines<p> 6. Run
'isapnp /etc/isapnp.conf'. If you get errors, edit the file
isapnp.conf and try changing parameters, help you with the
error message. If you get no errors, edit isapnp.conf and
uncomment the '(ACT Y)' line in the secton of your modem.
Then re-run 'isapnp /etc/isapnp.conf'. It must answer you "
[[Name of your modem]] Enabled OK"<p> 7. Add 'isapnp
/etc/isapnp.conf' to your /etc/rc.d/rc.local, by typing
'echo "isapnp /etc/isapnp.conf" >> /etc/rc.d/rc.local'. It
is useful for auto-configuring your devices at each
startup<p> <p> If it can help , here is an extract of my
/etc/isapnp.conf file (I have commented this file, and
original file comments are preceded by ##)<p>
<code>
@ -117,7 +130,7 @@ If it can help , here is an extract of my /etc/isapnp.conf file (I have commente
(IO 1 (SIZE 8) (BASE 0x0100) )
# Name of the card
(NAME "GVC5005/256[0]{LT Win Modem }")
# Activitate it
# Activate it
(ACT Y)
# End configuration
))
@ -129,14 +142,36 @@ If it can help , here is an extract of my /etc/isapnp.conf file (I have commente
</code>
<sect1>ISA and 2.4 kernels<p>
If you have a 2.4 kernel (launch 'uname -r' to get your kernel version), you don't have to do this tricky textfile-based and third-party package installation, since 2.4 series introduce a method similar to the PCI, and obsoletes the isapnptools package. To get this feature, you have to say 'Y' or 'M' to the 'Plug and Play support' (CONFIG_PNP) and 'ISA Plug and Play support' (CONFIG_ISAPNP) during kernel configuration (it is in 'Plug and Play configuration' section). Again, recompile your kernel and install it. If you said 'M' to ISA Plug-and-Play support, it should be good to do a 'modprobe isapnp'. You have to have a driver compliant with this new device access method (eg. the ltmodem 5.78, read the next section).
<sect>Installing a modem driver<p>
You have not to read this section entirely; just read one matching with your modem. For the moment, it just describes how to install a LT Modem, using the Lucent and OpenSource driver. If you have written or used an other Winmodem driver, Open or Closed Source, you can email me (alexandre12@mageos.com), and I will include it in this section. <p>
<p>
<sect1>The LT WinModem (from Lucent)<p>
URL: <url url="http://www.linmodems.org/linux568.zip"><p>
<sect1>ltmodem 5.78<p>
URL: http://www.tux.org/pub/dclug/marvin/ltmodem-5.78e.tar.gz<p>
Author: Lucent<p>
License: Non-GPL<p>
Supports: ISA/PCI modem, with a Lucent chipset (Mars family)<p>
Features: Kernel module; simulate a serial port. Does PPP, Fax and Voice<p>
Current Version: 5.78e<p>
Documentation: README-1ST<p>
Requires: 2.2.x or 2.4.x; ISA PNP Support; Loadable module support; C Compiler<p>
How-to-use: Read README-1ST. It is very clear.<p>
Problems: <p>
<itemize>
<item>Unresolved symbols: xxx_isapnp_xxxx: run modprobe isapnp.
<item>Device or ressource busy: your modem is not compliant with the driver
</itemize>
Comments: Lucent, this time, avoid kernel version and distribution problems by providing the source for some elements.
<sect1>The LT WinModem (from Lucent) 5.68 (OBSOLETE)<p>
URL: http://www.linmodems.org/linux568.zip<p>
Author: Lucent Technologies<p>
License: Non-GPL<p>
Supports: ISA/PCI modems, with a Lucent chipsets (Mars family)<p>
Supports: ISA/PCI modems, with a Lucent chipset (Mars family)<p>
Features: Kernel module; simulate a serial port. Does PPP, Fax and Voice<p>
Current version (as far as I know): 5.68<p>
Documentation: README<p>
@ -155,12 +190,12 @@ Problems: <p>
</itemize>
<sect1>The LTMODEM program (OpenSource driver)<p>
URL: <url url="http://www.close.u-net.com"><p>
URL: http://www.close.u-net.com<p>
Authors: Richard Close and Pavel Machek<p>
License: GPL<P>
Supports: ISA/PCI modems, with Lucent chipsets (Mars family)<p>
Feature: User-space driver; does Voice calls; does not PPP (V90)<p>
Current version (as far as I know): 0.9.2<p>
Current version (as far as I know): 0.99<p>
Documentation: README<p>
Requires: GNU C Compiler, automake<p>
How-to-use: <p>
@ -180,9 +215,9 @@ Problems: <p>
</itemize>
</itemize>
<sect>The end... <p>
<sect1>Licence, Copyright<p>
Copyright (C) 2000 Alexandre J. <p>
<sect>The end...
<p><sect1>Licence, Copyright<p>
Copyright (C) 2000, 2001 Alexandre J. <p>
This program is free software; you can redistribute it and/or modify<p>
it under the terms of the GNU General Public License as published by<p>
the Free Software Foundation; either version 2 of the License, or<p>
@ -198,16 +233,15 @@ Problems: <p>
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA<p>
<sect1>Contact<p>
If you have any ideas about this document, pleace email me: alexandre12@mageos.com. <p>
<sect1>Resources<p>
If you have any ideas about this document, please email me:
alexandre12@mageos.com. <p> <sect1>Resources<p>
<itemize>
<item>The Linmodems project home page: <url url="http://www.linmodems.org"><p>
<item>The LTModem project home page: <url url="http://www.close.u-net.com"><p>
<item>The Lucent Technologies home page: <url url="http://www.lucent.com"><p>
<item>The Linux Kernel: <url url="http://www.kernel.org"><p>
<item>The isapnptools home page: <url url="http://www.roestock.demon.co.uk/isapnptools"><p>
<item>The LDP Home Page (for getting HOWTOs): <url url="http://www.linuxdoc.org"><p>
<item>The Linmodems project home page: http://www.linmodems.org<p>
<item>The LTModem project home page: http://www.close.u-net.com<p>
<item>The Lucent Technologies home page: http://www.lucent.com<p>
<item>The Linux Kernel: http://www.kernel.org<p>
<item>The isapnptools home page: http://www.roestock.demon.co.uk/isapnptools<p>
<item>The LDP Home Page (for getting HOWTOs): http://www.redhat.com/mirrors/LDP<p>
</itemize>
</article>