Next
Previous
Contents
IBM has a completely open-source (GPL'ed) driver for the software modem
in their Thinkpad 600E's available
here.
Overview
This modem enjoys the most support under Linux, in that there exist three different
driver packages:
- There exists a manufacturer-unsupported, half-binary/half-open-sourced
kernel module, originally designed for Red Hat 6.2's 2.2.14-5 kernel,
but substantially reworked by Mark Spieth and others to function
with 2.2.x and 2.4.x kernels. This is driver version 5.78(c,d,e,...), and
is the driver you are most likely to have success using.
- There exists a manufacturer-unsupported, binary-only
kernel module, compiled under Red Hat 6.0's 2.2.12-20 kernel.
This is driver version 5.68.
- 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."
It should be noted that the binary-only driver module (from "linux568.zip")
contains code from the GPL'ed Linux 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.
Driver v5.78(c,d,e,...) - Installation
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.
Manufacturer's driver version 5.68 - Installation
This driver is superseded by version 5.78, described above; however,
it may still be of some use in special cases.
- Obtain the package for your kernel:
- 2.2.12 to 2.2.15
http://linmodems.org/linux568.zip
- 2.2.15 and above : same URL, but "tty.h" patch is required; see "Tips and Tricks...", above.
-
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.)
Your modem should now be accessible as the device /dev/modem or /dev/ttyS14 .
Open Source Tools - Installation
See the documentation with the source for instructions.
Overview
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.
Installation
- Obtain the package for your modem:
- For kernel 2.2.15 and later, apply tty.h patch (See "Tips And Tricks...," above); recompile kernel and modules.
- Unpack the package with:
unzip package_name
- Change to the root user:
su (enter root password when prompted)
- Create the device file:
mknod /dev/esscom c 127 1
- Make convenience device:
ln -s /dev/esscom /dev/modem
- Make convenience device:
ln -s /dev/esscom /dev/ttyS15
- Set device ownership:
chgrp uucp /dev/esscom
- Set device permissions:
chmod 666 /dev/esscom
- Masquerade module version (See "Tips And Tricks...," above):
./fixscript essmodem.o essmodem.fix.o
- Install module file:
cp essmodem.fix.o /lib/modules/`uname -r`/misc/essmodem.o
- Insert module in kernel:
insmod -f essmodem
- (Optional) Provide for automatic module loading: add a line "alias char-major-127 essmodem" to
the file
/etc/modules.conf or /etc/conf.modules
Overview
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.
Installation
There are apparently two types of PCTel module package around.
- A package (rpm or deb) which installs
two module files, pctel_hsp.o and pctel_pci.o, in
/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.
- A package which, when unpacked, gives a set of libraries (hsp.a, etc...)
and a small C source file (ptmodule.c), which should be in directories like lib/
and src/module/. If there are no directories, create them and arrange the files with:
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:
- Change to the root user:
su (enter root password when prompted)
- Create the device file:
mknod /dev/pctel c 62 79
- Make convenience device:
ln -s /dev/pctel /dev/modem
- Make convenience device:
ln -s /dev/pctel /dev/ttyS15
- Set device ownership:
chgrp uucp /dev/pctel
- Set device permissions:
chmod 666 /dev/pctel
- Install module file (only for package type 2, above):
cp pctel.o /lib/modules/`uname -r`/misc/
- Insert module(s) in kernel with
insmod -f modulename
There 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.
56k
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.
Mini-PCI
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.
Next
Previous
Contents
|