A Linmodem is the Linux implementation of a "winmodem" (see disclaimer). These devices are 'less than' a modem in the sense that they depend on software to perform, to a greater or lesser extent, the functions traditionally handled by modem hardware. The rationale for this is, of course, that software is cheaper than hardware, and can be upgraded/expanded/improved without the use of screwdrivers (usually); however, for the modem to function at all, one requires software that can run on one's preferred operating system.
At the time of this writing, only a few winmodems will work under Linux:
There exists a driver at
http://www.olitec.com/pci56kv2.html which was only
recently (Sept. 2000) "discovered" by Denis Havlik (denis(at)mandrakesoft.com).
The page is in French,
but the installation commands are given on the page in boldface red text.
Essentially,
download the package, unpack it with tar -zxvf, and run
the installation script ins_all. Some things already
known about the driver include:
.inf file for some other phone systems
to the linmodems mailing list at
http://linmodems.org/cgi-bin/ezmlm-cgi?1:msp:1773:nlifphijcfgckncagkpa. Also, you can try disabling
dial-tone detection with your dialer.
Mikhail Moreyra has written a GPL'ed driver for the CL-MD5620DT chipset which can do up to 33.6 kbps; however, this is alpha software and should be treated with due care. The driver can be obtained at http://linmodems.org/CLModem-0.3.0.tar.gz. Recently, Gabriel Gambetta (ggambett(at)internet.com.uy) issued a patched version of the driver to allow standard AT modem commands; you can get this version at Rob Clark's site here.
In addition, Rob Clark's site reports that Ambient may release Linux drivers for their MD563X HaM modems at http://www.ambient.com at some undetermined point in the future.
There exists a manufacturer-unsupported, binary-only kernel module compiled for the 2.2.12 Linux kernel released for Lucent LT (PCI and ISA) modems. As discussed below, this module will work with minor complaints under kernel 2.2.14, and with some additional effort under kernels up through 2.2.17, but the module does not insert into the (still experimental) 2.40-test6 kernel. The driver can be obtained at http://linmodems.org/linux568.zip
Some open source tools for use with Lucent modems are available at http://www.close.u-net.com/ltmodem.html. Pavel Machek writes that "It is not too useful, however: it is a hardware driver, and without a v.34 protocol stack, you can't connect to your ISP. It is enough to turn your Lucent winmodem into an answering machine, however."
Binary drivers for PCI, AMR, and Zoltrix Phantom can be found at http://www.kcdata.com/~gromitkc/winmodem.html#drivers
Binary drivers for ES56T-PI (PCI) and ES56V-I (ISA) can be obtained at
A request for comments was posted by a 3Com official about the possible demand for a binary-only driver for their miniPCI combination NIC/winmodem on the Linmodems.org mailing list. Though to my knowledge no driver has yet been released, Werner Heuser's miniPCI page has more information and links.
If you're already running Linux, you can obtain information about installed hardware using commands like:
cat /proc/pci pnpdump cardctl ident dmesg The Device Manager under Windows can provide similar information, but it should be noted that a manufacturer will often simply put its brand name on a built-in modem, so this information may not be as useful as you might hope (e.g., what chipset does a "Compaq Internal 56k" modem have?).
If you know the precise name of your modem, you can try searching the large Linux Modem Compatibility database at Rob Clark's site. The color/letter code on the left side of the table will indicate if your modem is known to function or not under Linux. The code "LM" indicates a Linmodem, and the modem notes should indicate which driver you need. A "WM" means it's a winmodem, but no support is known to exist. Be careful not to assume that modems with similar names will contain the same chipsets, or will necessarily behave similarly whatsoever! Your WhizBang LX56 and your friend's WhizBang GT56 could have entirely different innards.
If you do not know the precise name of your modem, you can search based on the identification number of the modem: on every modem there must be printed a registration number, which may either be the board producer's designation, or, alternatively, an FCC registration number. An example photo of such an ID number on a modem board can be found at http://www.kcdata.com/~gromitkc/fcc1.jpg on Rob Clark's site. You can then proceed to use your web browser to search his table of modems and FCC ID's to obtain chipset/driver information. Alternatively, you can directly search the US Federal Communications Commission (FCC) database at http://www.fcc.gov/oet/fccid/. Read the directions carefully, and be careful not to confuse O (the letter) with 0 (the number), and other possible mixups.
You may not be able to obtain the FCC ID number if you have a laptop which you prefer not to open up, or are looking to buy a particular machine and the vendor has not been polite enough to provide you with the information nor a sample box for you to take apart and play with. In these cases, you have a few options:
There is a quick test that can be run from a floppy disk before you commit to buy the the just advertised WhizBang PC/Laptop. The intent is to use Linux itself to check whether the pre-installed modem is supported under Linux.
Most Linux
rescue floppies boot up a RAM disk, without "touching" the hard disks
unless/until specifically commanded to. A collection of the available
Linux modem drivers can be previously collected on a separate floppy.
Linux will not install a hardware dependent module in the kernel unless
the compatible hardware is present. Thus if lsmod displays a successful
insertion after:
insmod /mnt/modem-driver1.o
or at worst with forcing
insmod -f /mnt/modem-driver1.othere is a good chance that the modem will work under a full Linux installation. This insertion test can be repeated in turn with all the available modem-driverN.o, and hopefully one will succceed. For this test the DOS formatted floppy disk with drivers is first made accessible with:
mount /dev/fd0 -t msdos /mnt
and drivers can be listed with:
ls /mnt
There is a caveat that this test may fail merely because of mismatches
between kernel sources versions of the modem.o and the kernel being used
in the test. Kernels on the Rescue disks should thus be version matched
as closely as possible with the that of the modem.o. The Lucent
ltmodem.o and Archtek esscom.o modules were compiled under
kernel-sources-2.2.12, so, for their tests, the kernel on the Rescue
floppy should best be replaced. The Rescue disk, made from the
Debian resc1440.bin by rawrite.exe under DOS, carries instructions
from substituting and properly activating its kernel. A suitable kernel
has been compiled and is available at
http://walbran.org/sean/linux/stodolsk/kern2212.zip along
with a copy of the
Debian rescue image at
http://walbran.org/sean/linux/stodolsk/resc1440.bin
. The Linmodem driver modules are listed above.
There is another caveat, however: I (Sean) tried this out with a stock Red Hat 6.2 distribution, and found that it gave me no complaints whatsoever when I insmod'ed the esscom.o module, despite the fact that I have no such hardware. You, therefore, probably want to be sure to use the Debian rescue disk image given by MarvS above, rather than one from another distribution.