mirror of https://github.com/tLDP/LDP
updated
This commit is contained in:
parent
9960718d2d
commit
ea14980678
|
@ -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>
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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><lonny at abyss.za.org></> for
|
|||
"testing" this HOWTO and making sure that I didn't miss any steps. I'd also
|
||||
like to thank Chirik <tt><chirik at CastleFur.COM></>, Dwayne Litzenberger
|
||||
<tt><dlitz at cheerful.com></>, Phil Bambridge <tt><phil.b at
|
||||
cableinet.co.uk></>, and others for pointing out errors, omissions, and other
|
||||
useful advice to make this HOWTO even better.
|
||||
cableinet.co.uk></>, Robert Cole <tt><rcole at metrum-datatape.com></>,
|
||||
Colin MacDonald <tt><colinm at telus.net></>, 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 © Scott Wunsch, 2000. This document may be distributed only
|
||||
Copyright © 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">.
|
||||
|
||||
|
|
|
@ -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&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&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>
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue