old-www/HOWTO/Linmodem-HOWTO-5.html

274 lines
12 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
<TITLE>Linmodem-HOWTO : Specific Chipsets and Their Drivers</TITLE>
<LINK HREF="Linmodem-HOWTO-6.html" REL=next>
<LINK HREF="Linmodem-HOWTO-4.html" REL=previous>
<LINK HREF="Linmodem-HOWTO.html#toc5" REL=contents>
</HEAD>
<BODY>
<A HREF="Linmodem-HOWTO-6.html">Next</A>
<A HREF="Linmodem-HOWTO-4.html">Previous</A>
<A HREF="Linmodem-HOWTO.html#toc5">Contents</A>
<HR>
<H2><A NAME="s5">5. Specific Chipsets and Their Drivers</A></H2>
<P>
<P>
<H2><A NAME="ss5.1">5.1 IBM Mwave (Thinkpad 600E)</A>
</H2>
<P>IBM has a completely open-source (GPL'ed) driver for the software modem
in their Thinkpad 600E's available
<A HREF="http://oss.software.ibm.com/developer/opensource/linux/projects/mwave/">here</A>.
<P>
<P>
<H2><A NAME="ss5.2">5.2 Lucent LT</A>
</H2>
<P>
<H3>Overview</H3>
<P>This modem enjoys the most support under Linux, in that there exist three different
driver packages:
<UL>
<LI>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.</LI>
<LI>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.</LI>
<LI>Some open source tools for use with Lucent modems are
available at
<A HREF="http://www.close.u-net.com/ltmodem.html">http://www.close.u-net.com/ltmodem.html</A>.
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." </LI>
</UL>
It should be noted that the binary-only driver module (from "linux568.zip")
contains code from the GPL'ed Linux <CODE>serial.c</CODE> 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
<A HREF="http://kt.linuxcare.com/kernel-traffic/kt20000717_76_print.epl#1">this Kernel Traffic issue</A>
and a Linux-Kernel mailing list archive for the week including Dec. 3rd, 2000,
for more details.
<P>
<P>
<H3>Driver v5.78(c,d,e,...) - Installation</H3>
<P>You should obtain the most recent package for your kernel from
<A HREF="http://walbran.org/sean/linux/stodolsk/">http://walbran.org/sean/linux/stodolsk/</A>
and follow the up-to-date instructions given there.
<P>
<H3>Manufacturer's driver version 5.68 - Installation</H3>
<P>This driver is superseded by version 5.78, described above; however,
it may still be of some use in special cases.
<OL>
<LI> Obtain the package for your kernel:
<OL>
<LI> 2.2.12 to 2.2.15
<A HREF="http://linmodems.org/linux568.zip">http://linmodems.org/linux568.zip</A></LI>
<LI> 2.2.15 and above : same URL, but "tty.h" patch is required; see "Tips and Tricks...", above.</LI>
</OL>
</LI>
<LI> <CODE>unzip linux568.zip</CODE></LI>
<LI> <CODE>su</CODE> (enter root password when prompted)</LI>
<LI> <CODE>./ltinst</CODE> (a 'file not found' error will be issued due to a flaw in
the installation script; ignore this error.)</LI>
</OL>
Your modem should now be accessible as the device <CODE>/dev/modem</CODE> or <CODE>/dev/ttyS14</CODE>.
<P>
<P>
<H3>Open Source Tools - Installation</H3>
<P>See the documentation with the source for instructions.
<P>
<P>
<H2><A NAME="ss5.3">5.3 ESS</A>
</H2>
<P>
<H3>Overview</H3>
<P>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.
<P>
<P>
<H3>Installation</H3>
<P>
<OL>
<LI> Obtain the package for your modem:
<UL>
<LI> ISA:
<A HREF="ftp://ftp.esstech.com/pub/modem/isa/unsupported/56v-i/linux/kernel61/linux111.zip">ftp://ftp.esstech.com/pub/modem/isa/unsupported/56v-i/linux/kernel61/linux111.zip</A> or</LI>
<LI> PCI:
<A HREF="ftp://ftp.esstech.com/pub/modem/pci/unsupported/56t-pi/linux/Kernel61/111.zip">ftp://ftp.esstech.com/pub/modem/pci/unsupported/56t-pi/linux/Kernel61/111.zip</A>.</LI>
</UL>
</LI>
<LI> For kernel 2.2.15 and later, apply tty.h patch (See "Tips And Tricks...," above); recompile kernel and modules. </LI>
<LI> Unpack the package with: <CODE>unzip</CODE> <EM>package_name</EM></LI>
<LI> Change to the root user: <CODE>su</CODE> (enter root password when prompted)</LI>
<LI> Create the device file: <CODE>mknod /dev/esscom c 127 1 </CODE></LI>
<LI> Make convenience device: <CODE>ln -s /dev/esscom /dev/modem</CODE></LI>
<LI> Make convenience device: <CODE>ln -s /dev/esscom /dev/ttyS15</CODE></LI>
<LI> Set device ownership: <CODE>chgrp uucp /dev/esscom </CODE></LI>
<LI> Set device permissions: <CODE>chmod 666 /dev/esscom </CODE></LI>
<LI> Masquerade module version (See "Tips And Tricks...," above): <CODE>./fixscript essmodem.o essmodem.fix.o</CODE></LI>
<LI> Install module file: <CODE>cp essmodem.fix.o /lib/modules/`uname -r`/misc/essmodem.o</CODE></LI>
<LI> Insert module in kernel: <CODE>insmod -f essmodem</CODE></LI>
<LI> (Optional) Provide for automatic module loading: add a line "alias char-major-127 essmodem" to
the file <CODE>/etc/modules.conf</CODE> or <CODE>/etc/conf.modules</CODE></LI>
</OL>
<P>
<H2><A NAME="ss5.4">5.4 PCTel</A>
</H2>
<P>
<H3>Overview</H3>
<P>Binary drivers can be found at
<A HREF="http://www.idir.net/~gromitkc/winmodem.html#drivers">http://www.idir.net/~gromitkc/winmodem.html#drivers</A>.
<P>A Debian-style installation package for kernel 2.2.16 was made available
by Corel at
<A HREF="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">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</A>, though this link appears
to now be incorrect. A gzipped/tarred package derived from the .deb is
available
<A HREF="http://walbran.org/sean/linux/stodolsk/">here</A>.
In addition, a driver for kernel 2.4 was contributed by Thomas Wright, and
is also available
<A HREF="http://walbran.org/sean/linux/stodolsk/">here</A>.
Other packages, requiring the superficial compilation described below, are also
known to exist.
<P>
<H3>Installation</H3>
<P>There are apparently two types of PCTel module package around.
<OL>
<LI> A package (rpm or deb) which installs
two module files, pctel_hsp.o and pctel_pci.o, in <CODE>/lib/modules/2.2.16</CODE>.
<P>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.
<P>
</LI>
<LI> 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:
<PRE>
mkdir lib
mkdir src
mkdir src/module
mv *.a lib/
mv Makefile *.c src/module
</PRE>
<P>Now go to the directory src/module and type <CODE>make</CODE>. This should generate the module
file <CODE>pctel.o</CODE>, which will appear back up in the directory <CODE>lib</CODE>.
(The driver module is <EM>not</EM> the object file <CODE>ptmodule.o</CODE> in <CODE>src/module</CODE>!)
<P>The apparent version of the module generated in this way will match your current kernel version.
</LI>
</OL>
<P>With the modules in hand, proceed to install as follows:
<P>
<OL>
<LI> Change to the root user: <CODE>su</CODE> (enter root password when prompted)</LI>
<LI> Create the device file: <CODE>mknod /dev/pctel c 62 79 </CODE></LI>
<LI> Make convenience device: <CODE>ln -s /dev/pctel /dev/modem</CODE></LI>
<LI> Make convenience device: <CODE>ln -s /dev/pctel /dev/ttyS15</CODE></LI>
<LI> Set device ownership: <CODE>chgrp uucp /dev/pctel </CODE></LI>
<LI> Set device permissions: <CODE>chmod 666 /dev/pctel </CODE></LI>
<LI> Install module file (only for package type 2, above): <CODE>cp pctel.o /lib/modules/`uname -r`/misc/</CODE></LI>
<LI> Insert module(s) in kernel with <CODE>insmod -f</CODE> <EM>modulename</EM></LI>
</OL>
<P>
<P>
<H2><A NAME="ss5.5">5.5 Conexant/Rockwell HSF</A>
</H2>
<P>There exist drivers for kernels 2.2.14, 2.2.16, and 2.2.17 at
<A HREF="http://www.olitec.com/pci56kv2.html">http://www.olitec.com/pci56kv2.html</A>
The page is in French,
but the installation commands are given on the page in boldface red text
(you can also use the
<A HREF="http://babel.altavista.com/translate.dyn?urltext=http%3A%2F%2Fwww.olitec.com%2Fpci56kv2.html&amp;lp=fr_en">babel fish</A>).
Essentially, download the appropriate package, unpack it with <CODE>tar -zxvf</CODE>,
and run the installation script <CODE>ins_all</CODE>.
<P>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
<A HREF="http://linmodems.org/cgi-bin/ezmlm-cgi?1:mss:2765:200102:oonhggjbpkiielnoodfa">here</A>.
<P>
<P>
<H2><A NAME="ss5.6">5.6 Intel (formerly Ambient Technology, formerly Cirrus Logic)</A>
</H2>
<P>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
<A HREF="http://linmodems.org/CLModem-0.3.0.tar.gz">http://linmodems.org/CLModem-0.3.0.tar.gz</A>.
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
<A HREF="http://www.idir.net/~gromitkc/clm/CLModem-0.3.0+gg.tar.gz">here</A>.
<P>A driver for the HaM modem was beta-tested in early 2001 and is
expected to be released quite soon.
<P>
<P>
<H2><A NAME="ss5.7">5.7 3Com</A>
</H2>
<P>
<H3>56k</H3>
<P>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
(
<A HREF="http://linmodems.org/cgi-bin/ezmlm-cgi?1:mss:2942:200102:lminaknocblpmkfcnobi">click here</A> for more information), and is mirrored
<A HREF="http://walbran.org/sean/linux/stodolsk/">here</A>.
<P>
<H3>Mini-PCI</H3>
<P>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
<A HREF="http://linmodems.org/cgi-bin/ezmlm-cgi?1:msp:1229:cilpipdmolabpbbbibgd">here</A> 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
<A HREF="http://mobilix.org/minipci_linux.html">miniPCI page</A> has more information and links.
<P>
<P>
<H2><A NAME="ss5.8">5.8 AMR</A>
</H2>
<P>Ian Stewart
<A HREF="http://linmodems.org/cgi-bin/ezmlm-cgi?1:mss:2768:200102:edbonibpdjfpnfhbmhel">reports</A>
that he is working on a "mid-level driver" for the AC97 codec.
<P>
<HR>
<A HREF="Linmodem-HOWTO-6.html">Next</A>
<A HREF="Linmodem-HOWTO-4.html">Previous</A>
<A HREF="Linmodem-HOWTO.html#toc5">Contents</A>
</BODY>
</HTML>