Next Previous Contents

1. Introduction

1.1 DSL, Cable, and ISDN Modems in other HOWTOs

This HOWTO covers conventional modems for PC's, mainly modems on the ISA bus (although much of this should also apply to the PCI bus).

See also Appendix D: Other Types of Modems

1.2 Also not covered: PCMCIA Modems, PPP

For modems on the PCMCIA bus see the PCMCIA-HOWTO: PCMCIA serial and modem devices. This HOWTO doesn't cover PPP (used to connect to the Internet via a modem) or communication programs. Except it does show how to use communication programs to test that your modem works OK and can make phone calls. If you want to use a modem to connect to the Internet then you need to set up PPP. There's a lot of documentation for PPP (including a PPP-HOWTO which is being revised). Some of it might be found in /usr/doc/ppp or the like.

1.3 Copyright, Disclaimer, Trademarks, & Credits

Copyright

Copyright (c) 1998-9 by David S. Lawyer

Please freely copy and distribute (sell or give away) this document in any format. Forward any corrections and comments to the document maintainer. You may create a derivative work and distribute it provided that you:

  1. Send your derivative work (in the most suitable format such as sgml) to the LDP (Linux Documentation Project) or the like for posting on the Internet. If not the LDP, then let the LDP know where it is available. Except for a translation, send a copy to the previous maintainer's url as shown in the latest version.
  2. License the derivative work in the spirit of this license or use GPL. Include a copyright notice and at least a pointer to the license used.
  3. Give due credit to previous authors and major contributors.

If you're considering making a derived work other than a translation, it's requested that you discuss your plans with the current maintainer.

Disclaimer

While I haven't intentionally tried to mislead you, there are likely a number of errors in this document. Please let me know about them. Since this is free documentation, it should be obvious that I cannot be held legally responsible for any errors.

Trademarks

If certain words are trademarks, the context should make it clear to whom they belong. For example "MS Windows" (or just "Windows") implies that "Windows" belongs to Microsoft (MS). "Hayes" is a trademark of Microcomputer Products Inc. I use "winmodem" to mean any modem which requires MS-Windows and not in the trademark sense.

Credits

The following is only a rough approximation of how version 0.0 of this document was created: About 1/3 of the material here was lifted directly from Serial-HOWTO v. 1.11 by Greg Hankins. mailto:gregh@cc.gatech.edu (with his permission). About another 1/3 was taken from that Serial-HOWTO and revised. The remaining 1/3 is newly created by the author: David S. Lawyer mailto:dave@lafn.org.

1.4 Contacting the Author

Please don't email me asking which modem to buy or asking if a certain modem will work under Linux. Look at the huge list at Software (Internal) Modems Also, please don't ask me how to configure a modem unless you've looked over this HOWTO and still can't do it.

Please let me know of any errors in facts, opinions, logic, spelling, grammar, clarity, links, etc. But first, if the date is over a month old, check to see that you have the latest version. Please send me any other info that you think belongs in this document.

1.5 New Versions of this HOWTO

New versions of this Modem-HOWTO come out every month or so since modem situation is rapidly changing (and since I'm still learning). Your problem might be solved in the latest version. It will be available to browse and/or download at LDP mirror sites. For a list of such sites see: http://metalab.unc.edu/LDP/mirrors.html If you only want to quickly check the date of the latest version go to http://metalab.unc.edu/LDP/HOWTO/Modem-HOWTO.html and compare it to the version you are currently reading: v0.08, 1 Jan. 2000.

1.6 What is a Modem ?

A modem is a device that lets one send digital signals over ordinary telephone lines not designed for digital signals. If telephone lines were all digital then you wouldn't need a modem. It permits your computer to connect to and communicate with the rest of the world. When you use a modem, you normally use a communication program or web browser (which includes such a program) to utilize the modem and dial-out on a telephone line. Advanced modem users can set things up so that others may phone in to them and use their computer. This is called "dial-in".

There are two basic types of modems for a PC: external and internal. The external sets on your desk outside the PC while the internal is not visible since it's inside the PC. The external modem plugs into a connector on the back of the PC known as a "serial port". The internal modem is a card that is inserted inside the computer and has an (invisible) serial port built into it. For a more detailed comparison see External vs. Internal. Thus when you get an internal modem, you also get a dedicated serial port (which can only be used with the modem and not with anything else such as another modem or a printer). In Linux, the serial ports are named ttyS0, ttyS1, etc. (usually corresponding respectively to COM1, COM2, etc. in Dos/Windows).

The serial port is not to be confused with the "Universal Serial Bus" (USB) which uses a special modular connector and may be used with modems in the future. See Modem & Serial Port Basics for more details on modems and serial ports.

Modems often include the ability to send Faxes (Fax Modems). See Fax for a list of fax software. "Voice" modems can work like an automatic answering machine and handle voicemail. See Voicemail.

1.7 Quick Install

External Modem Install

With a straight-thru or modem cable, connect the modem to an unused serial port on the PC. Make sure you know the name of the serial port: in most cases COM1 is ttyS0, COM2 is ttyS1, etc. You may need to check the BIOS setup menu to determine this. Plug in the power cord to provide power to the modem. See All Modems for further instructions.

Internal Modems (on ISA bus)

(For the PCI bus see PCI Bus Not Yet Supported and PCI Modems.) If the modem says it will only work under MS Windows, you are out of luck. If you already have 2 serial ports, make the modem the 3rd serial port (ttyS2 = COM3). Find an unused IRQ number to use. In the past IRQ 5 was often used but today IRQ 5 is also used for sound cards. Then set the jumpers (or the like) on the internal modem to the unused IRQ and IO address 3E8 (ttyS2) .

"Or the like" (in the previous sentence) may be a bit tricky. If the modem is a Plug and Play (PnP) for the ISA bus, the equivalent probably can be done using the "isapnp" program which comes with "isapnptools". See "man isapnp" or the FAQ for it. See also "Plug-and-Play-HOWTO. With a PnP-BIOS you may be able to tell the CMOS setup menu that you don't have a PnP OS and then the BIOS may set a suitable IRQ and IO address in the modem card. If you want to "force" the BIOS to set a certain IRQ and/or IO then you may be able to do this using Window9x on the same PC. It can set them into the PnP BIOS's flash memory where they will be used to configure for Linux as well as Windows. See "Plug-and-Play-HOWTO and search for "forced" (occurs in several places). For Windows 3.x you can do the same thing using the ICU under Windows 3.x. There may even be a way to disable PnP using software (under Windows) that came with the modem.

Finally you must also find the file where "setserial" is run and add a line something like: "setserial /dev/ttyS2 irq5". Except for setserial v2.15 and later you may (if you distribution lets you) just run "setserial" on the command line and the results are saved to a configuration file. See What is Setserial for more info. See the next subsection All Modems for further instructions on quick installation.

All Modems

Plug the modem into a telephone line. Then start up a communication program such as minicom and go to the configuration menu for the serial port. Assign it a high baud rate a few times higher than the bit rate of your modem. See Speed Table for the "best" speeds to use. Tell it the full name of your serial port such as /dev/ttyS1. Set hardware flow control (RTS/CTS). Now you need to save these settings and exit minicom. Then start minicom again, type AT to see if your modem is there and responds with OK. Then go to the dial directory (or menu) and dial a number.


Next Previous Contents