Friday 25 March 2011

Modem for a Linux

2.1 Many Winmodems Will Not Work with Linux

Unfortunately, Some software modems (winmodems) will from not work with Linux due to lack of Linux drivers. Configuring the software modems That cans be made to work with Linux ranges from very easy (automatically) to Difficult, depending on both the modem, your skills, and how easy it is to find info about your modem - info That is not all in this HOWTO. If you buy a new one That you're not sure will from work under Linux, try to get an agreement cans That you return it for a refund if it does not work out.

Even if your modem works with Linux it can not be Used Until the serial port it's located on is enabled and made known to the operating system. For a detailed explanation of this (or if the boot-time messages do not show your modem's serial port) study this HOWTO or see Plug-and-Play-HOWTO.

2.2 External vs.. Internal

A modem for a PC May be Either internal, external serial, or external USB. The internal one is installed inside of your PC (you must remove screws, etc. To install it). An external one just plugs in to a cable: USB cable (USB modem) or to the serial port (RS-232 serial modem). As compared to external serial modems, the internal modems are less expensive, are less likely, to to suffer data loss due to buffer overrun, and usually use less electricity. An internal modem obviously does not use up any desk space.

External serial modems are usually Easier to install and usually has less configuration problems provided the serial port you'll connects it to is configured OK. External USB modems are more likely, to be winmodems and are reportedly more usually Than Difficult to deal with external serial modems. External modems have lights May the which give you a clue as to what is happening and aid in troubleshooting. The fact That the serial port and modem be physically separated cans Also aids in troubleshooting. External modems are easy to move to another computer. If you need to turn the power off to reset your modem (this is seldom Necessary) with an external then you do not have to power down the entire PC.

Unfortunately, most external serial modems have no switch to turn off the power supply Pls note in use and thus are likely, to consume a little electricity even Pls turned off (unless you unplug the power supply from the wall). EACH watt draw They usually costs you over $ 1/yr. Another possible disadvantage of an external Is That you will from be forced to use an existing serial port of the which May not support a speed of over 115.200 bps (although as of late 2000 most new internal modems do not Either - but Some do). For details Can not Set a High Enough Speed

2.3 Is a Driver Needed ?

Any modem, of course, needs the serial driver that comes with Linux (either built into the kernel or as a module). For PCI, this driver should also detect the modem but it's not really a modem driver since it just detects which serial port the modem is on.

But what about modem drivers? Any software modem (winmodem, linmodem) must have a modem driver (if it exists for Linux). Hardware modems don't really need any modem driver unless you want to use special features such as voice and "modem on hold".

Software modems require software to run them and obviously do need a driver. The drivers for MS Windows are *.exe programs which will not run under Linux. So you must use a Linux driver (if it exists). See Software-based Modems (winmodems, linmodems)

2.4 External Modems

Do they all work under Linux?

At one time (2002 ?) all external modems would work under Linux. But then came the controllerless external modem which wouldn't. If the box says it requires Windows with no mention of Linux it could mean just that. Could it be that Windows software is provided for "modem on hold" and for use as an answering machine, etc., but that otherwise it will work under Linux? Linux may not support these features very well if at all. If this is a recent version of Modem-HOWTO, let me know of your experience with this.

PnP External Modems

Many external modems are labeled "Plug and Play" (PnP). If they are hardware modems, they should all work as non-PnP modems. While the serial port itself may need to be configured (IRQ number and IO address) unless the default configuration is OK, an external modem uses no such IRQ/IO configuration. You just plug the modem into the serial port.

The PnP modem has a special PnP identification built into it that can be read (thru the serial port) by a PnP operating system. Such an operating system would then know that you have a modem on a certain port and would also know the id number. If it's a controllerless modem, it could try to locate a driver for it. It could also tell application programs what port your modem is on (such as /dev/ttyS2 or COM3). But Linux may not be able to do this. Thus you may need to configure your application program manually by giving it the ttyS number (such as /dev/ttyS2). Some programs like wvdial can probe for a modem on various ports.

Cabling & Installation

Connecting an external modem is simple compared to connecting most other devices to a serial port that require various types of "null modem" cables (which will not work for modems). Modems use a straight through cable, with no pins crossed over. Most computer stores should have one. Make sure you get the correct gender and number of pins. Hook up your modem to one of your serial ports. If you are willing to accept the default IRQ and IO address of the port you connect it to, then you are ready to start your communication program and configure the modem itself.

What the Lights (LED's) Mean (for some external modems)

1. TM Test Modem
2. AA Auto Answer (If on, your modem will answer an incoming call)
3. RD Receive Data line = RxD
4. SD Send Data line = TxD
5. TR data Terminal Ready = DTR (set by your PC)
6. RI Ring Indicator (If on, someone is "ringing" your modem)
7. OH Off Hook (If off, your modem has hung up the phone line)
8. MR Modem Ready = DSR ??
9. EC Error Correction
10. DC Data Compression
11. HS High Speed (for this modem)

2.5 Internal Modems

An internal modem is installed in a PC by taking off the cover of the PC and inserting the modem card into a vacant slot on the motherboard. There are modems for PCI slots, other modems for the older ISA slots, and ARM software "modems" for the new small AMR slot. Only some newer PCs will have ARM slots. While external modems plug into the serial port (via a short cable) the internal modems have the serial port built into the modem. In other words, the modem card is both a serial port and a modem.

Setting the IO address and IRQ for a serial port was formerly done by jumpers on the card. These are little black rectangular "cubes" about 5x4x2 mm in size which push in over pins on the card. Plug-and-Play modems (actually the serial port part of the modems) don't use jumpers for setting these but instead are configured by sending configuration commands to them over the bus inside the computer. Such configuration commands can be sent by a PnP BIOS, by the isapnp program (for the ISA bus only), by setpci (PCI bus: can't set IRQs), or by newer serial of how to configure the ones that don't get io-irq configured by the serial driver.

1. ISA bus: Use "isapnp" which may be run automatically at every boot-time
2. Let a PnP BIOS do it, and then maybe tell setserial the IO and IRQ
3. PCI bus: Use lspci -vv to look at it and setpci to configure the IO only (can't set the IRQ).
See Quick Install for more details, especially for the PCI bus.

2.6 Software-based Modems (winmodems, linmodems)

Introduction to software modems (winmodems)

Software modems turn over some (or even almost all) of the work of the modem to the main processor (CPU) chip of your computer (such as a Pentium chip). This requires special software (a modem driver) to do the job. Until late 1999, such software was released only for MS Windows and wouldn't work with Linux. Even worse was that the maker of the modem kept the interface to the modem secret so that no one could write a Linux driver for it (even though a few volunteers were willing to write Linux drivers).

But things have improved some since then so that today (late 2001) many such modems do have a linux driver. There is no standard interface so that different brands/models of software-modems need different drivers (unless the different brands/models happen to use the same chipset internally). But some drivers may not work perfectly nor have all the features that a MS Windows driver has.

Another name for a software modem (used by MS) is "driver-based modem". The conventional hardware-based modem (that works with Linux) doesn't need a modem driver (but does use the Linux serial driver) After about mid-1998 most new internal modems were software modems.

Software modems fall into 2 categories: linmodems and winmodems. Winmodems will only work under MS Windows. Linmodems will work under Linux. They formerly were mostly winmodems so some also call them "winmodems". The term "Winmodem" is also a trademark for a certain model of "winmodem" but that's not the meaning of it in this document.

Linmodems

In late 1999, two software-based modems appeared that could work under Linux and were thus called "linmodems". Lucent Technologies (LT) unofficially released a Linux binary-only code to support most of its PCI modems. PC-TEL (includes "Zoltrix") introduced a new software-based modem for Linux. After that, interest increased for getting winmodems to work under linux. There is a GPL'ed driver for Intel's (Modem Silicon Operations) MD563x HaM chipset (nee Ambient division of Cirrus Logic). As of mid-2001 there are also drivers for: Conexant HSF and HCF, Motorola SM56 (support terminated), ESS (ISA only), and IBM's Mwave for Thinkpads 600+. See http://linmodems.org.

What percent of software modems now (2001) work under Linux? Well, there's a number of modem chips not supported: Lucent/Agere ARM (Scorpio), 3COM/US Robotics, some SmartLink (3 different chipsets), Ambient HSP, and possibly others. So it seems that over half the software modem chips were supported as of late 2001. As of 2005 it seems that the situation has gotten worse. Why? Well, Linux on the Desktop didn't grow as fast as expected and many PC users went for higher speed cable modems and DSL.

Another reason is that many of the drivers were written years ago and will only work for older versions of the Linux kernels. The driver code is secret and the companies don't want to update drivers for hardware they are no longer selling.

Be warned in advance that determining if your modem is a linmodem may not be very easy. You may need to first find out what chipset you have and who makes it. Just knowing the brand and model number of your modem may not be sufficient. One method is to download the scanModem tool from http://linmodems.org but the results may be hard to decipher and you may need to ask for help from the linmodems mailing list. Another way to find this out using say "lspci -v" and then looking up the chip maker using the long modem number. This requires checking a database or searching the Internet. Still another way is to look at the fine print on the chips on the modem card. All this is not always simple. It could happen that you will put a lot of effort into this only to get the bad news that your modem isn't supported. But even if it is supported, support may only be for an old version of the kernel. See Linmodem-HOWTO for more details.

Linmodem sites and documentation

1. Linmodem-HOWTO
2. Winmodems-and-Linux-HOWTO (not as well written as Linmodem-HOWTO)
3. http://linmodems.org is a project to turn winmodems into linmodems. Has a mailing list.
4. Conexant+Rockwell-modem-HOWTO
5. old modem list Has links to linmodem info, but not maintained after 2003.
6. PCTel-HSP-MicroModem-Configuration-mini-HOWTO

Source: MOdem

No comments:

Post a Comment