Linmodem-HOWTO : Specific Chipsets and Their Drivers

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:

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

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:
   - ISA: ftp://ftp.esstech.com/pub/modem/isa/unsupported/56v-i/linux/kernel61/linux111.zip or
   - PCI: ftp://ftp.esstech.com/pub/modem/pci/unsupported/56t-pi/linux/Kernel61/111.zip.
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