Next Previous Contents

10. Modems.

These are the easiest PnP devices to get installed, due to the ability to configure devices (using setserial) after the kernel has booted. This allows experiments to be made with the settings without having to reboot.

There are a few gotchas though:

Beware of products using phrases such as "Winmodem" or "Specially designed to work with Windows or Windows 95". These may well not work as standalone products, and require the driver provided with Windows to work. See also the Modem-HOWTO, some other Winmodem information, more on Winmodems and the up and coming Linux winmodem support, also the Linmodem-HOWTO. For a good rant, look at http://linuxmafia.com/~rick/faq/.

In a similar way some newer modems may not have the DSP code builtin, but rely on a program during boot to download the code into them. These will work in Linux if it is booted after running DOS/Windows, but they won't work directly after a power up into Linux.

Watch out for PCI modems. These often don't have UARTs, and so will require a special driver to work with Linux. (They cannot be configured using isapnptools anyway, the BIOS will have done it).

If you have a Lucent/Agere PCI chipset winmodem, look at Lucent winmodem drivers, it also has links for PC-Tel winmodems.

10.1 See also.

See the file README.modules in the distribution for an example of how to get a PnP modem card running.

See also the Serial-HOWTO available from MetaLab website Serial-HOWTO or from TSX-11 ftpsite Serial-HOWTO, or from their respective mirrors.

10.2 I've got a WinModem, and I've followed all the instructions, but it still doesn't work.

Unfortunately, a "WinModem" is only half a modem. A significant proportion of the modem functionality is in the Windows driver, which is not present when trying to use it with Linux.

The easiest solution at present is to take it back and get a traditional type of modem which can be used on Unix systems. (Of course, if you have the ability, inclination, and required technical information, I'm sure there are many who would like to see a Linux driver for these beasts).

10.3 I've got a PCI modem - what about that ?

PCI modems are generally winmodems. So see above.

In any event isapnptools won't do anything for you.

10.4 I've got a modem that works in DOS and Windows, but not Linux.

It may be that the card needs DSP code downloading onto it before it'll work. This can sometimes be done by booting via DOS and loadlin.

10.5 I've configured the device, but it is really SLOW.

Very slow activity can be due to interrupt clashes. When the program that uses the port is running, what does proc/interrupts/ say ? If the interrupt count is always 0 for the serial port, you probably have a hardware clash with two devices using the same interrupt line. Check your BIOS PCI settings for preallocated interrupt lines too.

If this is the case, reassign the interrupts so that they no longer clash.

10.6 I've configured the device, but it doesn't work.

Try running your modem communication program under strace to see what it is doing.

10.7 I've configured the device, it seems to send ok, but not receive.

Check that the modem has been configured to the correct IRQ using setserial. Even if you think it has. You must check that the IRQ reported by setserial is the same as the one you configured the modem to use. Use setserial to fix the IRQ if it is wrong.

See also I've configured the device, but it is really SLOW.

10.8 What's this about not using /dev/cua1 ?

It's just something I've read in the mgetty+sendfax documentation. The two devices behave differently on file open, and were intended for dealing with modems set to auto answer. If you want to send faxes and/or allow dialing in, I suggest you get and install mgetty+sendfax, it includes an email from the writer of the serial device driver on why only ttySx should be used. I've seen hints that the cuax devices may be going in future kernels.

The mgetty program listens to the modem and answers it manually, thus preventing a wasted call which would have occurred with an auto-answer modem and crashed computer.

10.9 How can I check the modem is working ?

I use cu to talk to the modem. It replies with OK when I type <cr>. After a few transfers like this, check /proc/interrupts has increased by the number of characters transferred. If it hasn't, there is a resource clash, so try another interrupt. Note that IRQ3 and IRQ4 are almost guaranteed to be used by the motherboard, so don't use these for PnP modems.

I've also written a program called serialmon which allows you to observe the modem control lines etc.

10.10 Thunderlink modems (PCT3880).

It has been reported that thunderlink modems are not supported for linux or DOS. It gives the following identification:

PCT3880/0[0]{PC-TEL HSP K56FLEX PNP D/F/V MODEM}

10.11 USR Robotics Sportster.

If it has jumpers, use them to set the device settings if you can't get PnP configuration to work.

10.12 General help on setting up internet dial up link.

See http://axion.physics.ubc.ca/ppp-linux.html for help on getting internet links up and running.


Next Previous Contents