Support for different types of modems in Linux, even though it is getting
better with every new release, still is not up to par. The
main problem is that Linux does not support Win Modems. A
Win Modem is a modem that needs on special drivers, and other applications
to do things like error correction, and detection. Because of this
these types of modems need the Windows operating System to run. The
majority of internal modems that come preinstalled on computers are win
modems. Recently some companies as well as some programers in
the Linux community have developed drivers that allow certain
win-modems to work with Linux. You can look and see if your
win-modem has a driver available for it by going to http://linmodems.org. Not
all modems are listed at this website, but it is a good start.
External modems that are non-win modems, are relatively cheap (under $100),
give you a better connection speed, and work very well with Linux..
The next step to using a modem with Linux is finding out on which serial
port you modem is located. To do this follow these steps.
login to your system as root
At the prompt, type:
echo ATDT [your phone number] >/dev/ttyS0
note: you can replace "ttyS0" in the example above with ttyS1, ttyS2,
and ttyS3. These devices correspond
to COM
ports 1 through 4)
If you type that echo command to all four possible COM devices and your
modem does not pick up and dial your phone number on at least one of those
devices, then Linux can't communicate properly with your modem.
Before giving up, though, you should visit the web site of your modem's
manufacturer and search for information on drivers. There may be
special software that will allow Linux to communicate with your modem.
It's also a good idea to check with the main Linux web site (http://www.linux.org/)
and also the web site of the company that published your version of Linux.
In particular, you want to look for links to Hardware Compatibility
lists.
If you've tested your modem using the method above, and it worked, the
next thing to check is that the modem device has its permissions set so
that all of the users on your system can access it. This way, you won't have to login
as root every time you want to dial out. Make sure you are
setting the permissions on the correct device (ttyS0, ttyS1, ttyS2, or
ttyS3) and follow these steps (while logged in as root):
cd /dev
chmod a+rw [device]
ls -l [device]
You should see something like this:
crw-rw-rw- 1 root uucp 5 64 May 5 1998 [device]
The important part is crw-rw-rw- which should match exactly
with what you see on your system.
Now, you'll want to make sure that you have a /dev/modem entry. This
makes it much easier to remember which device (ttyS0, ttyS1, ttyS2, or
ttyS3) the modem is connected to. In a root shell window, cd to
the /dev directory and type:
ln -s /dev/[your modem device] modem
Where [your modem device] is ttyS0, ttyS1, ttyS2, or ttyS3 (whatever
device your modem is connected to).