Permission is granted for the below article to forward,
reprint, distribute, use for ezine, newsletter, website,
offer as free bonus or part of a product for sale as long
as no changes are made and the byline, copyright, and the
resource box below is included.
Setting Up a Linux Modem
By Stephen Bucaro
Almost all modems manufactured today are software modems,
usually referred to as “winmodems”. Even though we pay a
lot for a winmodem, they are cheap to manufacture because
they use very little electronics. The functions that
should be performed in hardware are emulated by software.
This places an extra processing burden on your computer’s
CPU. Winmodems will not work with Linux unless you can
locate a special “Linmodem” driver.
A hardware modem contains its own on-board controller and
DSP circuits. This takes a major processing load off your
computer’s CPU. A hardware modem will make your dial-up
connection work much faster. Hardware modems are difficult
to find and very expensive. Hardware modems will work with
Some hardware modems known to work with Linux:
Zoom 2920 Fax Modem 56K PCI $76.00
Actiontec PCI56012-01CW 56K Voice Faxmodem PCI $75.00
ActionTec PCIV921201CW Call Waiting Internal V.90/V.92 Modem $59.99
On rare occasions Linux will locate and configure your
modem during installation, but most likely you will have
to configure it manually. If your computer is plug-and-play
(PnP) compatible, the BIOS should detect the modem on
power-up and allocate resources to it. To determine which
resources were allocated to the modem, log in as root and
click on the “Terminal emulation program” button on the
task bar. In the terminal window that appears, type the
In the screen output that results, locate the entry for
your modem. Below is a possible example:
Bus 0, device 9, function 0:
Unknown class: Lucent (ex-AT&T) Microelectronics
Unknown device (rev 0).
Vendor id=11c1. Device id=480.
Medium devsel. Fast back-to-back capable. IRQ 11
Master Capable. No bursts. Min Gnt=252. Max Lat=14
Non-prefetchable 32 bit memory at 0x80100000 [0x8010000].
I/O at 0xdc00 [0xdc01]
I/O at 0xe000[0xe001]
I/O at 0xe400[0xe401]
Record the IRQ number and the first I/O address.
Linux uses a device file to communicate with a modem.
Device files are located in the /dev directory. A modem
must use one of the serial ports (/dev/ttyS0 – /dev/ttyS3).
First determine which serial port to use for the modem.
You should use ttyS1 because ttyS0 is usually assigned to
a back panel connector.
To configure the serial port, use the setserial command
with the information that you recorded above. Using the
example values above, you would type the following into
the terminal window:
setserial /dev/ttyS1 uart 16550A port 0xdc00 irq 11
You can verify that the modem is working by sending it the
command to dial. For example type the following into the
echo “atdt5555555” > /dev/ttyS1
If you hear the modem dial, close the connection by typing:
echo “atz” > /dev/ttyS1
If you didn’t hear the modem dial, make sure you have the
modem speaker turned on by typing:
echo “atv” > /dev/ttyS1
Then try dialing again.
To have Linux automatically configure your modem at boot
time, add the setserial line that you used above to the
Assuming that you are using the GNOME window manager, click
on the “foot” icon on the taskbar to open the menu. Select
“Programs” and open the “File Manager”. In File Manager,
navigate to the directory /etc/rc.d and right-click on the
file rc.local. Select “Open with…” in the popup menu. In
the “gmc” dialog box, select “gnotepad+” and click on the
“OK” button. At the bottom of the file, type the setserial
command line and then save the file.
For complete information about modems related to Linux,
visit “Winmodems are not Modems” at:
Sometimes configuring a modem is not as easy in Linux as
it is in Windows, but the alternative is to continue to
use Windows and beg for Bill Gates permission to upgrade
your hardware (XP product activation).
Copyright(C)2002 Bucaro TecHelp. To learn how to maintain
your computer and use it more effectively to design a Web
site and make money on the Web visit
To subscribe to Bucaro TecHelp Newsletter Send a blank
email to firstname.lastname@example.org