IBM has a completely open-source (GPL'ed) driver for the software modem in their Thinkpad 600E's available here.
This modem enjoys the most support under Linux, in that there exist three different driver packages:
serial.c
driver, so, since
the source code for the
modem driver is not available, trafficking in this driver is apparently
in violation of the GPL. Distributing the partially open source driver
("i56lvp578.zip") may or may not be technically legal, since the GPL'ed
code, though not yet linked with the closed-source code, is certainly intended
to be so. See
this Kernel Traffic issue
and a Linux-Kernel mailing list archive for the week including Dec. 3rd, 2000,
for more details.
You should obtain the most recent package for your kernel from http://walbran.org/sean/linux/stodolsk/ and follow the up-to-date instructions given there.
This driver is superseded by version 5.78, described above; however, it may still be of some use in special cases.
unzip linux568.zip
su
(enter root password when prompted)./ltinst
(a 'file not found' error will be issued due to a flaw in
the installation script; ignore this error.)/dev/modem
or /dev/ttyS14
.
See the documentation with the source for instructions.
Binary-only drivers for ES56T-PI (PCI) and ES56V-I (ISA), compiled under RedHat 6.0's kernel 2.2.12-20, are available. The driver has been used via forced insertion up through kernel 2.2.15, and up through 2.2.17 using the "tty.h" patch described in the "Tips and Tricks..." section, above.
unzip
package_namesu
(enter root password when prompted)mknod /dev/esscom c 127 1
ln -s /dev/esscom /dev/modem
ln -s /dev/esscom /dev/ttyS15
chgrp uucp /dev/esscom
chmod 666 /dev/esscom
./fixscript essmodem.o essmodem.fix.o
cp essmodem.fix.o /lib/modules/`uname -r`/misc/essmodem.o
insmod -f essmodem
/etc/modules.conf
or /etc/conf.modules
Binary drivers can be found at http://www.idir.net/~gromitkc/winmodem.html#drivers.
A Debian-style installation package for kernel 2.2.16 was made available by Corel at ftp://ftp.corel.com/pub/linux/CorelLinux/dists/corellinux-1.2/corel/binary-i386/utils/pctel-kernel-2.2.16-driver-cdl-v1.0_1.0.deb, though this link appears to now be incorrect. A gzipped/tarred package derived from the .deb is available here. In addition, a driver for kernel 2.4 was contributed by Thomas Wright, and is also available here. Other packages, requiring the superficial compilation described below, are also known to exist.
There are apparently two types of PCTel module package around.
/lib/modules/2.2.16
.
With such a package, if you are running a kernel more recent than 2.2.16, you will need to use forced insertion (insmod -f), and if you are not successful, might try the "fixscript" method used with the Lucent 5.68 and ESS modules above - but, note that this has not, to my knowledge, been tried out yet. If you are running a kernel older than 2.2.16, you should consider upgrading your kernel, or else try the fixscripting as well (this is also not guaranteed to work). Please send me a report if you get these to work.
mkdir lib mkdir src mkdir src/module mv *.a lib/ mv Makefile *.c src/module
Now go to the directory src/module and type make
. This should generate the module
file pctel.o
, which will appear back up in the directory lib
.
(The driver module is not the object file ptmodule.o
in src/module
!)
The apparent version of the module generated in this way will match your current kernel version.
With the modules in hand, proceed to install as follows:
su
(enter root password when prompted)mknod /dev/pctel c 62 79
ln -s /dev/pctel /dev/modem
ln -s /dev/pctel /dev/ttyS15
chgrp uucp /dev/pctel
chmod 666 /dev/pctel
cp pctel.o /lib/modules/`uname -r`/misc/
insmod -f
modulenameThere exist drivers for kernels 2.2.14, 2.2.16, and 2.2.17 at
http://www.olitec.com/pci56kv2.html
The page is in French,
but the installation commands are given on the page in boldface red text
(you can also use the
babel fish).
Essentially, download the appropriate package, unpack it with tar -zxvf
,
and run the installation script ins_all
.
This driver is a bit finicky (with the most common symptom of failure being the "NO DIALTONE" response), but a number of people have been able to get it to work, usually by inserting their modem's vendor ID in the modem's .inf file, perhaps along with a change of the device major number from 254 to 253. See the Linmodems.org mailing list archives for details; one example of many is given here.
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. 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.
A driver for the HaM modem was beta-tested in early 2001 and is expected to be released quite soon.
An rpm package with a driver for the 3Com MDP3900V-U modem (apparently found in the Dell Dimension L733r) was posted to the Linmodems.org mailing list ( click here for more information), and is mirrored here.
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 here on the Linodems.org mailing list; please respond to the address given, linmodem@new-n-used.com, and not to the mailing list. Though to my knowledge no driver has yet been released, Werner Heuser's miniPCI page has more information and links.
Ian Stewart reports that he is working on a "mid-level driver" for the AC97 codec.