Way back when, in the introductory chapter, I mentioned Winmodems as one of the few minuses of running Linux. You'll recall that a Winmodem is a modem designed to work only with Windows. They are sometimes referred to as software or controllerless modems and tend to be less expensive than controller-based modems.
If you are running a Winmodem, all is not lost. The Linux community is nothing if not resourceful. Even when manufacturers are slow to notice Linux users, the same isn't true the other way around. As more and more people run Linux, this becomes less and less of a problem. In time, hardware manufacturers may be building for Linux first and Windows second. In the meantime, check out the Linmodems.Org Web site at http://www.linmodems.org and you should be up and running shortly.
So just how do you transform a Winmodem into a Linmodem? Well, let me give you an example.
Among the more common Winmodems out there are those based on the Conexant chipset; these are starting to be very well supported. For the latest driver, just head on over to Marc Boucher's page at http://www.mbsi.ca/cnxtlindrv/. Not only can you get source drivers, but precompiled packages are available for a number of popular Linux distributions.
Identifying the Winmodem is your first step. You can use the KDE Control Center to get a listing of your PCI hardware, where you will get a lot of detail. You can also shell out and use the lspci command for a quick list of all the PCI devices found on your system. Here's what it looks like.
[View full width]$ lspci 00:00.0 Host bridge: VIA Technologies, Inc. VT8367 [KT266] 00:01.0 PCI bridge: VIA Technologies, Inc. VT8367 [KT266 AGP] 00:06.0 Communication controller: Conexant HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (WorldW SmartDAA) (rev 01) 00:08.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C (rev 10) 00:11.0 ISA bridge: VIA Technologies, Inc. VT8233 PCI to ISA Bridge 00:11.1 IDE interface: VIA Technologies, Inc. Bus Master IDE (rev 06) 00:11.2 USB Controller: VIA Technologies, Inc. USB (rev 18) 00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233 AC97 Audio Controller (rev 10) 01:00.0 VGA compatible controller: nVidia Corporation NV11 [GeForce2 MX DDR] (rev b2)
In some cases, you will find precompiled driver packages. These are the RPMs, as we discussed earlier. Some are specific to your release, and others will be generic. In the case of my Conexant-based Winmodem, I downloaded the RPM package and installed it.
As per the instructions that followed the RPM install, I typed the following command:
A short dialog followed, asking me for the country (Canada, in my case), after which the program compiled and installed my driver for me. It even linked the newly created device, /dev/ttySHSF0, to /dev/modem. I was ready to use my modem without a care.
From the shell prompt, I can verify the location of my modem with this command:
$ ls -l /dev/modem
The system then responds with this information:
lr-xr-xr-x 1 root root 8 Sep 9 11:23 /dev/modem -> /dev/ttySHSF0
Clearly, none of this whole Winmodem problem applies if you are using an external modem or happen to be among the lucky ones using a cable modem connection or high-speed DSL access from your local phone company. For others out there, it can be a bit more complicated. I've already given you the address of the Conexant Web site, and I will give you more right here.
Remember, many of these modems can be made into useful and productive members of Linux society with a visit to the right Web site. On that note, here's my roundup.
Conexant Modems (HCF and HSF)
Smart Link Modems