Next Previous Contents

5. Specific Chipsets and Their Drivers

5.1 IBM Mwave (Thinkpad 600E)

IBM has a completely open-source (GPL'ed) driver for the software modem in their Thinkpad 600E's available here.

5.2 Lucent LT

Overview

This modem enjoys the most support under Linux, in that there exist three different driver packages:

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.

  1. Obtain the package for your kernel:
    1. 2.2.12 to 2.2.15 http://linmodems.org/linux568.zip
    2. 2.2.15 and above : same URL, but "tty.h" patch is required; see "Tips and Tricks...", above.
  2. unzip linux568.zip
  3. su (enter root password when prompted)
  4. ./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.

5.3 ESS

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

  1. Obtain the package for your modem:
  2. For kernel 2.2.15 and later, apply tty.h patch (See "Tips And Tricks...," above); recompile kernel and modules.
  3. Unpack the package with: unzip package_name
  4. Change to the root user: su (enter root password when prompted)
  5. Create the device file: mknod /dev/esscom c 127 1
  6. Make convenience device: ln -s /dev/esscom /dev/modem
  7. Make convenience device: ln -s /dev/esscom /dev/ttyS15
  8. Set device ownership: chgrp uucp /dev/esscom
  9. Set device permissions: chmod 666 /dev/esscom
  10. Masquerade module version (See "Tips And Tricks...," above): ./fixscript essmodem.o essmodem.fix.o
  11. Install module file: cp essmodem.fix.o /lib/modules/`uname -r`/misc/essmodem.o
  12. Insert module in kernel: insmod -f essmodem
  13. (Optional) Provide for automatic module loading: add a line "alias char-major-127 essmodem" to the file /etc/modules.conf or /etc/conf.modules

5.4 PCTel

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.

  1. 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.

  2. 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:

  1. Change to the root user: su (enter root password when prompted)
  2. Create the device file: mknod /dev/pctel c 62 79
  3. Make convenience device: ln -s /dev/pctel /dev/modem
  4. Make convenience device: ln -s /dev/pctel /dev/ttyS15
  5. Set device ownership: chgrp uucp /dev/pctel
  6. Set device permissions: chmod 666 /dev/pctel
  7. Install module file (only for package type 2, above): cp pctel.o /lib/modules/`uname -r`/misc/
  8. Insert module(s) in kernel with insmod -f modulename

5.5 Conexant/Rockwell HSF

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.

5.6 Intel (formerly Ambient Technology, formerly Cirrus Logic)

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.

5.7 3Com

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.

5.8 AMR

Ian Stewart reports that he is working on a "mid-level driver" for the AC97 codec.


Next Previous Contents