This commit is contained in:
gferg 2001-02-25 22:37:07 +00:00
parent 9960718d2d
commit ea14980678
5 changed files with 218 additions and 204 deletions

View File

@ -378,7 +378,7 @@ Chinese software. </Para>
Chroot-BIND-HOWTO</ULink>,
<CiteTitle>Chroot-BIND HOWTO</CiteTitle>
</Para><Para>
<CiteTitle>Updated: September 2000</CiteTitle>.
<CiteTitle>Updated: February 2001</CiteTitle>.
Describes installing the BIND 8 nameserver to run in a chroot
jail and as a non-root user, to provide added security and minimise the
potential effects of a security compromise. </Para>
@ -1142,7 +1142,7 @@ Discusses methods to recover from Linux system failures. </Para>
Linmodem-HOWTO</ULink>,
<CiteTitle>Linmodem-Mini-HOWTO</CiteTitle>
</Para><Para>
<CiteTitle>Updated: December 2000</CiteTitle>.
<CiteTitle>Updated: February 2001</CiteTitle>.
Describes Linmodem (winmodem hardware) support under Linux. </Para>
</ListItem>

View File

@ -811,7 +811,7 @@ or cable Internet provider. </Para>
Linmodem-HOWTO</ULink>,
<CiteTitle>Linmodem-Mini-HOWTO</CiteTitle>
</Para><Para>
<CiteTitle>Updated: December 2000</CiteTitle>.
<CiteTitle>Updated: February 2001</CiteTitle>.
Describes Linmodem (winmodem hardware) support under Linux. </Para>
</ListItem>

View File

@ -436,7 +436,7 @@ establishment, email and news handling is covered). </Para>
Chroot-BIND-HOWTO</ULink>,
<CiteTitle>Chroot-BIND HOWTO</CiteTitle>
</Para><Para>
<CiteTitle>Updated: September 2000</CiteTitle>.
<CiteTitle>Updated: February 2001</CiteTitle>.
Describes installing the BIND 8 nameserver to run in a chroot
jail and as a non-root user, to provide added security and minimise the
potential effects of a security compromise. </Para>

View File

@ -6,7 +6,7 @@
<title>Chroot-BIND HOWTO
<author>Scott Wunsch, <tt>scott at wunsch.org</>
<date>v1.2, 16 September 2000
<date>v1.3, 24 February 2001
<abstract>
This document describes installing the BIND 8 nameserver to run in a chroot
jail and as a non-root user, to provide added security and minimise the
@ -73,10 +73,16 @@ url="http://www.losurs.org/docs/howto/Chroot-BIND.html">.
BIND is available from <url url="http://www.isc.org/" name="the Internet
Software Consortium"> at <url url="http://www.isc.org/bind.html">. As of this
writing, the current version of BIND8 is 8.2.2_P5. BIND 9.0.0 has just been
released, but I haven't even looked at it yet, so I don't know how much of this
document will be applicable. Unless you like living on the bleeding edge, you
may be better off staying with BIND8 for now.
writing, the current version of BIND8 is 8.2.3. BIND 9.x has now been
released, but I haven't had time to look at it in depth yet, so I don't know
how much of this document will be applicable. Some administrators are now
putting BIND9 into production use, but it still requires a taste for living on
the bleeding edge (and upgrading every couple weeks), so you may be better off
staying with BIND8 for now.
Keep in mind that there are <bf>known</> security holes in all
versions of BIND8 less than <bf>8.2.3</>, so make very sure that you're
running the latest version!
<sect1>How?
@ -216,9 +222,9 @@ command:
Finally, you need a couple extra files in the <tt>/etc</> directory inside the
jail. In particular, you must copy <tt>/etc/localtime</> (this sometimes known
as <tt>/usr/lib/zoneinfo/localtime</> on some systems) in there so that BIND
logs things with the right time on them, and you must make a simple <tt/group/
file with the <tt/named/ group in it. The following two commands will take care
of this:
logs things with the right time on them, and you must make a simple <tt>group</>
file with the <tt>named</> group in it. The following two commands will take
care of this:
<tscreen><verb>
# cp /etc/localtime /chroot/named/etc/
@ -241,12 +247,13 @@ it any more. Fortuantely, there are a couple options to work around this.
<p>
The ideal solution to this dilemma requires a reasonably recent version of
<tt>syslogd</> which supports the <tt>-a</> switch introduced by OpenBSD. Check the
manpage for your <tt>syslogd(8)</> to see if you have such a version.
<tt>syslogd</> which supports the <tt>-a</> switch introduced by OpenBSD.
Check the manpage for your <tt>syslogd(8)</> to see if you have such a
version.
If you do, all you have to do is add the switch ``<tt>-a
/chroot/named/dev/log</>'' to the command line when you launch <tt>syslogd</>. On
systems which use a full SysV-init (which includes most Linux distributions),
/chroot/named/dev/log</>'' to the command line when you launch <tt>syslogd</>.
On systems which use a full SysV-init (which includes most Linux distributions),
this is typically done in the file <tt>/etc/rc.d/init.d/syslog</>. For example,
on my Red Hat Linux system, I changed the line
<tscreen><verb>
@ -256,15 +263,16 @@ to
<tscreen><verb>
daemon syslogd -m 0 -a /chroot/named/dev/log
</verb></tscreen>
Then simply restart <tt>syslogd</>, either by killing it and launching it again,
or by using the SysV-init script to do it for you:
On Caldera OpenLinux systems, they use a daemon launcher called <tt>ssd</>,
which reads configuration from <tt>/etc/sysconfig/daemons/syslog</>. You
simply need to modify the options line to look like this:
<tscreen><verb>
# /etc/rc.d/init.d/syslog stop
# /etc/rc.d/init.d/syslog start
OPTIONS_SYSLOGD="-m 0 -a /chroot/named/dev/log"
</verb></tscreen>
I'm told that on SuSE systems, the best place to add this switch is in the
<tt>/etc/rc.config</> file. Changing the line
Similarly, on SuSE systems, I'm told that the best place to add this switch
is in the <tt>/etc/rc.config</> file. Changing the line
<tscreen><verb>
SYSLOGD_PARAMS=""
</verb></tscreen>
@ -274,6 +282,14 @@ SYSLOGD_PARAMS="-a /chroot/named/dev/log"
</verb></tscreen>
should do the trick.
Once you've figured out how to make this change for your system, simply
restart <tt>syslogd</>, either by killing it and launching it again (with
the extra parameters), or by using the SysV-init script to do it for you:
<tscreen><verb>
# /etc/rc.d/init.d/syslog stop
# /etc/rc.d/init.d/syslog start
</verb></tscreen>
Once it's been restarted, you should see a ``file'' in <tt>/chroot/named/dev</>
called <tt>log</>, that looks something like this:
@ -292,12 +308,12 @@ Alteratively, you can simply configure BIND to log to files instead of going
through syslog. See the BIND documentation for more details if you choose to go
this route.
<sect>Compiling BIND
<sect>Compiling BIND<label id="compiling">
<p>
You should be able to find the BIND source by visiting <url
url="http://www.isc.org/bind.html">. You need the <tt/bind-src.tar.gz/ package.
Be sure to get the latest version!
url="http://www.isc.org/bind.html">. You need the <tt>bind-src.tar.gz</>
package. Be sure to get the latest version!
<sect1>Modifying Paths
@ -305,14 +321,14 @@ Be sure to get the latest version!
Things can get a bit confusing at this point, because different parts of the
BIND package will be referring to the same directories by different names
(depending on whether or not they're running inside the jail). I'll try not to
confuse you <bf/too/ much :-).
confuse you <bf>too</> much :-).
The main directory that we have to worry about here is <tt>/var/run</>, because
its contents are required for both the main <tt/named/ daemon (inside the jail),
and the <tt/ndc/ utility (on the outside). We'll start by setting everything up
to find this directory from the outside world. To do this, we need to modify
<tt>src/port/linux/Makefile.set</> (substitute your port's directory if you're
not running Linux), and change the line
its contents are required for both the main <tt>named</> daemon (inside the
jail), and the <tt>ndc</> utility (on the outside). We'll start by setting
everything up to find this directory from the outside world. To do this, we
need to modify <tt>src/port/linux/Makefile.set</> (substitute your port's
directory if you're not running Linux), and change the line
<tscreen><verb>
DESTRUN=/var/run
</verb></tscreen>
@ -347,7 +363,7 @@ the <tt/INSTALL/ file. At this stage, we only want to compile BIND, not install
it. Don't go too far when following the <tt/INSTALL/ file. Essentially, it's
just <tt/make clean/, <tt/make depend/, and <tt/make/.
<sect>Installing Your Shiny New BIND
<sect>Installing Your Shiny New BIND<label id="installing">
<p>
I should mention that if you have an existing installation of BIND, such as from
@ -468,6 +484,14 @@ esac
exit 0
</code></tscreen>
On Caldera OpenLinux systems, you simply need to modify the variables defined
at the top, and it will apparently take care of the rest for you:
<tscreen><verb>
NAME=named
DAEMON=/chroot/named/bin/$NAME
OPTIONS="-t /chroot/named -u named -g named"
</verb></tscreen>
<sect1>Configuration Changes
<p>
@ -475,14 +499,22 @@ You will also have to add or change a few options in your <tt>named.conf</> to
keep the various directories straight. In particular, you should add (or
change, if you already have them) the following directives in the <tt>options</>
section:
<tscreen><code>
<tscreen><verb>
directory "/etc/namedb";
pid-file "/var/run/named.pid";
named-xfer "/bin/named-xfer";
</code></tscreen>
</verb></tscreen>
Since this file is being read by the <tt>named</> daemon, all the paths are of
course relative to the chroot jail.
Some people have also reported having to add an extra block to their
<tt>named.conf</> to get <tt>ndc</> working properly:
<tscreen><verb>
controls {
unix "/var/run/ndc" perm 0600 owner 0 group 0;
};
</verb></tscreen>
<sect>The End
<sect1>Launching BIND
@ -507,6 +539,24 @@ running as the user and group <tt>named</>. If not, you have a problem.
<p>
You can go take a nap now ;-).
<sect>Appendix - Upgrading BIND Later<label id="upgrading">
<p>So, you had BIND 8.2.2_P7 all nicely chrooted and tweaked to your taste...
and then you hear this nasty rumour that there's a remotely-exploitable root
hole in that version too, and you need to upgrade to 8.2.3 right away. Do
you have to go through this whole long process to install this new version?
Nope. In fact, you really just need the section on <ref id="compiling"
name="Compiling BIND"> and the first two parts of the section on <ref
id="installing" name="Installing BIND"> (installing the binaries outside and
inside the jail, respectively).
The rest of the HOWTO deals with setting up the jail and other things like
that, which shouldn't need to be altered between versions of BIND. You can
just dump the new binaries in over top of the old ones, and you're good to go.
But don't forget to kill and restart BIND afterwards, or the old, vulnerable
version will still be running!
<sect>Appendix - Thanks<label id="thanks">
<p>
@ -514,13 +564,15 @@ I'd like to thank Lonny Selinger <tt>&lt;lonny at abyss.za.org&gt;</> for
"testing" this HOWTO and making sure that I didn't miss any steps. I'd also
like to thank Chirik <tt>&lt;chirik at CastleFur.COM&gt;</>, Dwayne Litzenberger
<tt>&lt;dlitz at cheerful.com&gt;</>, Phil Bambridge <tt>&lt;phil.b at
cableinet.co.uk&gt;</>, and others for pointing out errors, omissions, and other
useful advice to make this HOWTO even better.
cableinet.co.uk&gt;</>, Robert Cole <tt>&lt;rcole at metrum-datatape.com&gt;</>,
Colin MacDonald <tt>&lt;colinm at telus.net&gt;</>, and others for pointing out
errors, omissions, and providing other useful advice to make this HOWTO even
better.
<sect>Appendix - Document Distribution Policy<label id="legal">
<p>
Copyright &copy; Scott Wunsch, 2000. This document may be distributed only
Copyright &copy; Scott Wunsch, 2000-2001. This document may be distributed only
subject to the terms set forth in the LDP licence at <url
url="http://metalab.unc.edu/LDP/COPYRIGHT.html">.

View File

@ -30,6 +30,7 @@ section can be combined for all of them, methinks.
112100 - MarvS version
113000 - Intel is Ambient is Cirrus: HaM; new Lucent package; big overhaul
120500 - overhaul nearly complete
022401 - updates
-->
@ -38,18 +39,16 @@ section can be combined for all of them, methinks.
<title>Linmodem-HOWTO <!-- insert your title here -->
<author>Sean Walbran <tt/sean(at)walbran.org/ and Marvin Stodolsky <tt/stodolsk(at)erols.com/
<date>v0.41, 13 December 2000 <!-- always have a version number
<date>v0.43, 24 February 2001 <!-- always have a version number
and a date -->
<abstract> <!-- the abstract: a short and precise description -->
<nidx>template</nidx> <!-- add indexing keywords as you go along -->
<!-- nidx means the indexed word is not in output of main text, only in the index -->
This document describes Linmodem (winmodem hardware) support under
Linux. At this point, such support is very limited, almost exclusively
in the form of manufacturer-created but unsupported binary kernel modules.
This document addresses the special complications dealing with these
binary modules rather than with source code, particularly focusing on the
compromises of using mis-matched binaries and kernels.
Linux. While such support is limited (almost exclusively
in the form of manufacturer-created, but unsupported, binary kernel modules),
the number of chipsets with some form of support is growing rapidly.
</abstract>
@ -67,9 +66,9 @@ This is the Linux Linmodem HOWTO document. It is intended as
a quick reference to help you find out if there is a way to get your (so-called) winmodem
working under Linux, and, if so, how to do it. You should understand
from the outset that there may well be <em>no</em> support for your winmodem:
at this time, there is limited support for such modems, often in the form of vendor-created
but vendor-unsupported, binary-only kernel modules; however, a small number of open-source
projects exist.
there is limited support for such modems, often in the form of vendor-created
but vendor-unsupported, binary-only kernel modules (though a small number of open-source
projects exist).
<p>
To emphasize: your best bet under Linux is <em>certainly</em> to get
a true hardware modem. However, if you're stuck with a winmodem, perhaps
@ -77,8 +76,10 @@ this document can help.
<p>
For the most up-to-date information about available Linmodem drivers,
visit
<url url="http://www.kcdata.com/~gromitkc/winmodem.html#drivers" name="Rob Clark's site">
and the <url url="http://www.linmodems.org/" name="Linmodems.org"> site.
<url url="http://www.idir.net/~gromitkc/winmodem.html#drivers" name="Rob Clark's site">,
<url url="http://walbran.org/sean/linux/stodolsk" name="our small resources page">,
and the Linmodems.org
<url url="http://linmodems.org/cgi-bin/ezmlm-cgi/1" name="mailing list archives">.
General modem issues, such as IRQ settings and dialup scripts, are
dealt with much more thoroughly in the more general
<url url="http://www.linuxdoc.org/HOWTO/Modem-HOWTO.html" name="Modem-HOWTO">,
@ -90,7 +91,7 @@ name="Linux Documentation Project"> site and elsewhere.
<sect1>Copyright
<!--
This HOWTO is copyrighted 2000 Sean Walbran, Marvin Stodolsky
This HOWTO is copyrighted 2000,2001 Sean Walbran, Marvin Stodolsky
Unless otherwise stated, Linux HOWTO documents are copyrighted by their
respective authors. Linux HOWTO documents may be reproduced and distributed
@ -119,7 +120,7 @@ at linux-howto(at)metalab.unc.edu via email.
-->
<p>
Copyright (c) 2000 by Sean Walbran, Marvin Stodolsky
Copyright (c) 2000,2001 by Sean Walbran, Marvin Stodolsky
<P>
Please freely copy and distribute (sell or give away) this document in
any format. It's requested that corrections and/or comments be fowarded
@ -172,9 +173,9 @@ Most individual credits are given in the body of the text where appropriate.
<p>
A large amount of information contained in this document comes a variety
of great sources such as
<url url="http://www.kcdata.com/~gromitkc/winmodem.html" name="Rob Clark's site">,
<url url="http://www.linmodems.org/" name="Linmodems.org">,
and the mailing lists there, and
<url url="http://www.idir.net/~gromitkc/winmodem.html" name="Rob Clark's site">,
the <url url="http://www.linmodems.org/" name="Linmodems.org">,
mailing lists, and
Werner Heuser's <url url="http://mobilix.org" name="Mobilix"> pages.
<p>
Special thanks to Mark Spieth (mark(at)digivation.com.au) for
@ -225,10 +226,11 @@ run on one's preferred operating system.
<p>
<sect1> Which Linmodem hardware is supported?
<p>
At the time of this writing, only a few winmodems will work under
An ever-growing number of winmodems will work under
Linux. Each chipset for which a driver is known to exist has a
section in this document, below, describing its installation.
Any other chipset has <em>no known support</em> under Linux.
Any other chipset has <em>no known support</em> under Linux
(at least, not known to us).
<p>
<sect1> How can I find out if my GeeWhiz 9.8.7 Modem / Laptop has one of these chipsets?
@ -259,9 +261,9 @@ other useful information.
<p>
If you know the precise name of your modem, you can try searching
the large Linux Modem Compatibility
<url url="http://www.o2.net/~gromitkc/winmodem.html#Database" name="Database">
<url url="http://www.idir.net/~gromitkc/winmodem.html#Database" name="Database">
at
<url url="http://www.kcdata.com/~gromitkc/winmodem.html" name="Rob Clark's site">.
<url url="http://www.idir.net/~gromitkc/winmodem.html" name="Rob Clark's site">.
The color/letter code on the left side of the table will indicate if
your modem is known to function or not under Linux. The code "LM" indicates
a Linmodem, and the modem notes should indicate which driver you need.
@ -277,10 +279,10 @@ on every modem there must be printed a registration number,
which may either be the board producer's designation, or,
alternatively, an FCC registration number.
An example photo of such an ID number on a modem board can be found at
<url url="http://www.kcdata.com/~gromitkc/fcc1.jpg"> on
<url url="http://www.kcdata.com/~gromitkc/winmodem.html" name="Rob Clark's site">.)
<url url="http://www.idir.net/~gromitkc/fcc1.jpg"> on
<url url="http://www.idir.net/~gromitkc/winmodem.html" name="Rob Clark's site">.)
Use your web browser's "Find in Page" to search his
<url url="http://www.o2.net/~gromitkc/winmodem.html#Database" name="table">
<url url="http://www.idir.net/~gromitkc/winmodem.html#Database" name="table">
of modems and FCC ID's
to obtain chipset/driver information. Alternatively, you can directly
search the US Federal Communications Commission (FCC) database at
@ -319,11 +321,11 @@ information in case the model is not listed there.
<sect1> Kernel Module Support
<p>
All of the drivers listed here are released as kernel modules; therefore,
All of the kernel drivers listed here are released as kernel modules; therefore,
you must be sure to have a kernel which supports modules. In addition,
"module version" support should be enabled to aid the use of
kernels and modules which are not version matched, as described further below.
If you use a kernel from a reasonably recent Linux distribution, module support
If you use a kernel from a reasonably recent Linux distribution, such module support
is most likely already enabled. If you're compiling the kernel yourself, then you
should already be aware of how to enable modules, via the
<url url="http://www.linuxdoc.org/HOWTO/Kernel-HOWTO.html" name="Kernel HOWTO">.
@ -336,22 +338,6 @@ CONFIG_MODVERSIONS=y
</verb>
<p>
<sect1> Sound Support
<p>
This is a newly recognized factor as of October, 2000, and
should be considered anecdotal until information on further
hardware/software combinations is gathered. Marv Stodolsky has
observed that with the binary-only Lucent driver (v5.68), sound
support must be enabled
in the kernel (support via sound modules is OK), or else a
dail-in session utilizing the ltmodem.o driver aborts/hangs
when the ppp protocol is initiated.
The combination of OSS software providing all audio support (with a
kernel without sound compiled in) failed to support the ppp
protocol through the ltmodem.o driver. How broadly valid these
"sound" factors for other Linmodems/Audio_cards remains to be clarified.
<p>
<sect1> ISA Plug-n-Play
<p>
If you have an ISA Plug-n-Play modem, you will most likely
@ -398,6 +384,7 @@ at this point.)
If you wish to know more about your PCI modem
than <tt>cat /proc/pci</tt> gives, utilities within the software package
<tt>pciutils</tt> are useful, such as <tt>scanpci</tt> and <tt>lspci</tt>.
In particular, <tt>lspci -vv</tt> gives lots of nice, useful information.
<p>
<sect1> Module tools
@ -406,11 +393,16 @@ The following commands are useful when dealing with modules. Many
require root priveleges. See the manual pages (e.g., <tt>man insmod</tt>)
for more detailed information on these commands.
<p>
<sect2> insmod -f
<sect2> insmod, insmod -f, and modprobe
<p>
A version-matched kernel module is inserted using the command
<tt>insmod</tt> <em>module_name</em>. If
the module were compiled under a different kernel than the current one,
A version-matched kernel module should usually be inserted using the command
<tt>modprobe</tt> <em>module_name</em>; <tt>modprobe</tt> will try to
insert any other modules on which your module depends (as determined
by <tt>depmod</tt>, described below).
<p>
A single module can be inserted (without those modules on which it depends)
using the command <tt>insmod</tt> <em>module_name</em>.
If the module were compiled under a different kernel than the current one,
<tt>insmod</tt> would report the version mismatch and refuse load the module.
One can, however, pass a flag to force the module to load despite the mismatch:
<tt>insmod -f</tt> <em>module_name</em>. If the kernel interface the
@ -421,15 +413,8 @@ This is the case with, for example, the ESS modem module <tt>esscom.o</tt>
which, while compiled under 2.2.12, can be forcibly inserted with later kernels
and will function to a greater or lesser extent up through kernel version 2.2.14
without further changes; beyond 2.2.15, the patch to <tt>tty.h</tt> described
below is required. However, even forcing insertion fails for kernels compiled
from the rapidly maturning 2.4.0-testX sources.
<p>
<sect2> modprobe
<p>
The command <tt>modprobe</tt> <em>modulename</em> will insert a module and
all of the modules required by that module (as determined by <tt>depmod</tt>,
described below).
below is required. However, even forcing insertion fails for kernels
from the 2.4 series.
<p>
<sect2> rmmod
@ -440,14 +425,13 @@ the command <tt>rmmod</tt>.
<sect2> depmod
<p>
The <tt>depmod</tt> commands analyses module dependencies.
The compatility of precompiled modules
with a running kernel
The <tt>depmod</tt> commands analyzes module dependencies.
The compatility of precompiled modules with a running kernel
can be checked with a command like:
<verb>
depmod -e ltmodem.o
</verb>
For the specific case of the ltmodem.o compiled under kernel 2.2.12
For the specific example of the ltmodem.o module compiled under kernel 2.2.12
with a running kernel 2.2.17, the returned information includes:
<itemize>
<item> depmod: *** Unresolved symbols in ltmodem.o
@ -463,18 +447,17 @@ below.
<sect> Tips and Tricks for Precompiled Modules with different Kernel Versions
<p>
As of the writing of this document, source code is only available for the Ambient Technology
driver, with partial source available for the Lucent LT modem. Generally, modules/binaries
Many of the linmodem drivers are only available as precompiled, binary kernel modules.
Generally, modules/binaries
transparently function only with the kernel against which they were co-compiled. Therefore,
getting the precompiled linmodem drivers to work with your particular kernel can be a challenge.
getting a precompiled linmodem driver to work with your particular kernel could be a challenge.
<p>
Since the
Linux kernel is a dynamically changing beast, it is very unfortunate that most
Since the Linux kernel is a dynamically changing beast, it is very unfortunate that many
modem/chip vendors have not yet chosen to release source-code versions of their
drivers, which would ensure the ability to modify these drivers appropriately as
drivers, which would ensure your and our ability to modify these drivers appropriately as
kernel source code evolves. Some of the binary modules have been coaxed to function
under some later kernel versions using various tricks, as described below; however,
even though a module may functional, it is advisable to use them minimally.
even though a module may be rendered functional, it is advisable to use them minimally.
Quoting an email from Mark Spieth,
<p>
"A driver can never work properly if there are unresolved symbols, as it means
@ -482,7 +465,7 @@ something is not going to work. Furthermore, it means that that something
that would have been called will call something else in the kernel
and this could be anything. This is <em>very</em> bad."
<p>
Therefore, you should be very careful in using binary modules with a kernel
Therefore, you should be careful in using binary modules with a kernel
of a different version; proceed at your own risk. If you require above all
that your modem function, consider downgrading your kernel to match the
module - this is by no means a ridiculous prospect. Despite these warnings,
@ -490,11 +473,10 @@ however, many others have used mismatched binary modules and kernels with only m
annoyances ( such as the occasional kernel panic ) using tricks and tools such as
the following.
<sect1> Fixscripting
<p>
Mark Spieth has contributed a progressively improved series of "fixscripts",
a script which edits a binary module so that the version mismatch warning is eliminated.
Mark Spieth has contributed a progressively improved series of "fixscripts"
for editing a binary module so that version mismatch warnings are eliminated.
Insertion of the "fixed" module then proceeds without the forcing flag, i.e. simply
<tt>insmod</tt> <em>module_name</em>. Later versions also rename module symbols
to match those exported by the kernel, so that "Unresolved symbols" errors
@ -502,7 +484,7 @@ are not returned by the test <tt>depmod -e</tt>. It must be emphasized that thi
change is almost entirely cosmetic - it is still recommended that the module be used
minimally.
<p>
To use the fixscript on, for example, the binary Lucent module ltmodem.o,
To use the fixscript on, for example, the (now-deprecated) binary Lucent module ltmodem.o,
make a working directory such as <tt>/root/modem</tt>.
Obtain the latest fixscript from
<url url="http://www.test.dclabs.com.au/linmodem/fixscript">.
@ -584,18 +566,26 @@ file <tt>tty.h</tt>, as described above.
<sect> Specific Chipsets and Their Drivers
<p>
<sect1>IBM Mwave (Thinkpad 600E)
<p>
IBM has a completely open-source (GPL'ed) driver for the software modem
in their Thinkpad 600E's available
<url url="http://oss.software.ibm.com/developer/opensource/linux/projects/mwave/" name="here">.
<p>
<sect1>Lucent LT
<p>
<sect2> Overview
<p>
This modem enjoys the most support under Linux, in that there exist three different
driver packages.
driver packages:
<itemize>
<item>
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;
This is driver version 5.78, and is the driver you are most likely to
have success using.
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.
<item>
There exists a manufacturer-unsupported, binary-only
kernel module, compiled under Red Hat 6.0's 2.2.12-20 kernel.
@ -622,27 +612,16 @@ and a Linux-Kernel mailing list archive for the week including Dec. 3rd, 2000,
for more details.
<p>
<sect2> Manufacturer's driver version 5.78 - Installation
<sect2> Driver v5.78(c,d,e,...) - Installation
<p>
You should obtain the most recent package for your kernel from
<url url="http://walbran.org/sean/linux/stodolsk/">
and follow the up-to-date instructions given there.
<p>
The source portion of the installation will depend on which version
kernel with which you will be using the module. The original code is designed
for use with Red Hat 6.2's kernel 2.2.14-5.0.
<enum>
<item> Obtain the package for your kernel from <url url="http://walbran.org/sean/linux/stodolsk/">
(For 2.4 kernels, apply the necessary patches as described there.)
<item> Unpack the package.
<item> Make the <tt>ltmodem.o</tt> module by typing <tt>make</tt>
<item> Change to the root user with <tt>su</tt> (enter root password when prompted)
<item> Install the module using <tt>./ltinst2</tt> (recommended) or <tt>./ltinst</tt> (original)
</enum>
Your modem should now be accessible as the device <tt>/dev/modem</tt> or
<tt>/dev/ttyLT0</tt> (recommended), or
<tt>/dev/ttyS14</tt> (for backwards compatibility).
<sect2> Manufacturer's driver version 5.68 - Installation
<p>
This driver is superseded by version 5.78; however, it may still be of some use in
special cases.
This driver is superseded by version 5.78, described above; however,
it may still be of some use in special cases.
<enum>
<item> Obtain the package for your kernel:
<enum>
@ -662,7 +641,6 @@ Your modem should now be accessible as the device <tt>/dev/modem</tt> or <tt>/de
See the documentation with the source for instructions.
<p>
<sect1>ESS
<p>
<sect2>Overview
@ -700,15 +678,17 @@ the file <tt>/etc/modules.conf</tt> or <tt>/etc/conf.modules</tt>
<sect2> Overview
<p>
Binary drivers can be found at
<url url="http://www.kcdata.com/~gromitkc/winmodem.html#drivers">.
<url url="http://www.idir.net/~gromitkc/winmodem.html#drivers">.
<p>
A Debian-style installation package for kernel 2.2.16 is available
from Corel at
<url url="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">
. Debian packages (.deb) can be converted to other package formats (such
as RPM or .tar.gz)
using the "alien" tool (<url url="http://www.kitenet.net/programs/alien/">).
A Debian-style installation package for kernel 2.2.16 was made available
by Corel at
<url url="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 <url url="http://walbran.org/sean/linux/stodolsk/" name="here">.
In addition, a driver for kernel 2.4 was contributed by Thomas Wright, and
is also available <url url="http://walbran.org/sean/linux/stodolsk/" name="here">.
Other packages, requiring the superficial compilation described below, are also
known to exist.
<p>
<sect2> Installation
<p>
@ -753,50 +733,26 @@ With the modules in hand, proceed to install as follows:
<item> Set device ownership: <tt>chgrp uucp /dev/pctel </tt>
<item> Set device permissions: <tt>chmod 666 /dev/pctel </tt>
<item> Install module file (only for package type 2, above): <tt>cp pctel.o /lib/modules/`uname -r`/misc/</tt>
<item> Insert module(s) in kernel with <tt>insmod -f ham</tt>
<item> Insert module(s) in kernel with <tt>insmod -f</tt> <em>modulename</em>
</enum>
<p>
<sect1>Conexant/Rockwell HSF
<p>
There exists a driver at
<url url="http://www.olitec.com/pci56kv2.html"> which was
recently (Sept. 2000) "discovered" by Denis Havlik (denis(at)mandrakesoft.com).
There exist drivers for kernels 2.2.14, 2.2.16, and 2.2.17 at
<url url="http://www.olitec.com/pci56kv2.html">
The page is in French,
but the installation commands are given on the page in boldface red text.
Essentially, download the package, unpack it with <tt>tar -zxvf</tt>, and run
the installation script <tt>ins_all</tt>.
but the installation commands are given on the page in boldface red text
(you can also use the <url url="http://babel.altavista.com/translate.dyn?urltext=http%3A%2F%2Fwww.olitec.com%2Fpci56kv2.html&#38;lp=fr_en" name="babel fish">).
Essentially, download the appropriate package, unpack it with <tt>tar -zxvf</tt>,
and run the installation script <tt>ins_all</tt>.
<p>
It will, however, probably not
work for you - very few people have been successful with this one.
<p>
Some things already known about the driver include:
<itemize>
<item> It was compiled against the RedHat 6.2 kernel 2.2.14-5.0; therefore, use with
post- 2.2.15 kernels will require at least the <tt>tty.h</tt> patch (see
"Tips And Tricks...," above).
<item> It appears to be tuned for the French telephone system.
Mark Allen posted an <tt>.inf</tt> file for some other phone systems
to the linmodems mailing list
<url url="http://linmodems.org/cgi-bin/ezmlm-cgi?1:msp:1773:nlifphijcfgckncagkpa" name="here">;
others have tried modifying the <tt>lin_hsf.inf</tt> file or copying
(fully or partially) the <tt>.inf</tt> file from their Windows installation.
Fully successful use of the modem has been reported from France and Australia, with
degrees of success reported from a few other countries (Spain, ...?).
<item> You might need to make the modem device file with major number 253 instead of
the 254 used by default.
<item> Modem initialization strings may be important: the French site recommends
<tt>AT&amp;FW2</tt>; John Torriero in Australia had success with a very minor change to
the <tt>.inf</tt> file and some extended initialization strings, as described
<url url="http://linmodems.org/cgi-bin/ezmlm-cgi?1:mss:1845:200010:dpcpaphnkjmehcpaebcp"
name="here"> .
</itemize>
In short, this driver has not yet been fully explored; check out the mailing
list archives at <url url="http://linmodems.org">, in particular
<url url="http://linmodems.org/cgi-bin/ezmlm-cgi?1:sss:1892:200010:nlifphijcfgckncagkpa"
name="this thread">, for further discussion and information.
If you successfully get such a modem working, I would be very much
interested to know how you did it.
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
<url url="http://linmodems.org/cgi-bin/ezmlm-cgi?1:mss:2765:200102:oonhggjbpkiielnoodfa" name="here">.
<p>
<sect1> Intel (formerly Ambient Technology, formerly Cirrus Logic)
@ -804,43 +760,43 @@ interested to know how you did it.
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
<url url="http://linmodems.org/CLModem-0.3.0.tar.gz">. Recently,
<url url="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
<url url="http://www.o2.net/~gromitkc/clm/CLModem-0.3.0+gg.tar.gz" name="here">.
<url url="http://www.idir.net/~gromitkc/clm/CLModem-0.3.0+gg.tar.gz" name="here">.
<p>
A binary-only, beta driver for the Intel Creatix V.90 HaM
compiled under kernel 2.2.16 was released to the Linmodems.org
mailing list in late November, 2000, and is mirrored at
<url url="http://walbran.org/sean/linux/stodolsk/Ham.zip">.
To install:
<p>
<enum>
<item> Change to the root user: <tt>su</tt> (enter root password when prompted)
<item> Create the device file: <tt>mknod /dev/ham c 240 1 </tt>
<item> Make convenience device: <tt>ln -s /dev/ham /dev/modem</tt>
<item> Make convenience device: <tt>ln -s /dev/ham /dev/ttyS15</tt>
<item> Set device ownership: <tt>chgrp uucp /dev/ham </tt>
<item> Set device permissions: <tt>chmod 666 /dev/ham </tt>
<item> Install module file: <tt>cp ham.o /lib/modules/`uname -r`/misc/</tt>
<item> Insert module in kernel with <tt>insmod -f</tt><em>ham</em>
</enum>
A driver for the HaM modem was beta-tested in early 2001 and is
expected to be released quite soon.
<p>
<sect1>3Com Mini-PCI
<sect1>3Com
<p>
<sect2> 56k
<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
(<url url="http://linmodems.org/cgi-bin/ezmlm-cgi?1:mss:2942:200102:lminaknocblpmkfcnobi" name="click here"> for more information), and is mirrored
<url url="http://walbran.org/sean/linux/stodolsk/" name="here">.
<p>
<sect2> Mini-PCI
<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 <url url="http://linmodems.org/cgi-bin/ezmlm-cgi?1:msp:1229:cilpipdmolabpbbbibgd"
name="here"> on the Linodems.org mailing list; please respond to the address
name="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 <url url="http://mobilix.org/minipci_linux.html" name="miniPCI page"> has more information
and links.
Though to my knowledge no driver has yet been
released, Werner Heuser's <url url="http://mobilix.org/minipci_linux.html" name="miniPCI page"> has more information and links.
<p>
<sect1>AMR
<p>
Ian Stewart
<url url="http://linmodems.org/cgi-bin/ezmlm-cgi?1:mss:2768:200102:edbonibpdjfpnfhbmhel" name="reports">
that he is working on a "mid-level driver" for the AC97 codec.
<p>
<!--
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-->
@ -947,9 +903,16 @@ Linux system is below.
<p>
Probably not. Please see the section "Which Linmodem hardware is supported?" above,
and check the Linux Modem Compatibility
<url url="http://www.o2.net/~gromitkc/winmodem.html#Database" name="database">
<url url="http://www.idir.net/~gromitkc/winmodem.html#Database" name="database">
at
<url url="http://www.kcdata.com/~gromitkc/winmodem.html" name="Rob Clark's site">.
<url url="http://www.idir.net/~gromitkc/winmodem.html" name="Rob Clark's site">.
<p>
<sect1> I get "NO DIALTONE".
<p>
Try setting your BIOS option from "PNP OS" to "non-PNP OS", from "Windows"
to "Other OS", or the equivalent.
<p>
Conexant users: See the Conexant section, above.
<p>
<sect1> I get a "device or resource busy" error.
<p>
@ -1024,8 +987,8 @@ like <tt>kppp</tt> will give this error, while an alternative like <tt>wvdial</t
does not, for the same modules and hardware. You may wish to try a different
ppp dialer and see if that helps.
<item>
Lastly, there is the potential relationship with sound support
mentioned above. Comparing functionality of ltmodem.o with/without sound
Lastly, there is the potential relationship with sound support.
Comparing functionality of ltmodem.o with/without sound
support in the kernels, dial-in is OK, but ppp is NOT achieved for the kernel
without sound support.
<p>
@ -1174,4 +1137,3 @@ country_code country_name
<p>
</article>