summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2003-07-31 13:00:31 +0000
committerLennart Poettering <lennart@poettering.net>2003-07-31 13:00:31 +0000
commit86add5ad710adde499af6d08fe5479098dadaf29 (patch)
treec0358f501a174b66363c183f0b87540f5509b715 /doc
parentd2fd8fc1f819883d092b715b31d393295a9bc4e2 (diff)
moved to trunk
git-svn-id: file:///home/lennart/svn/public/ifplugd/trunk@26 2bf48fe7-cfc1-0310-909f-d9042e1e0fef
Diffstat (limited to 'doc')
-rw-r--r--doc/Makefile.am36
-rw-r--r--doc/NEWS93
-rw-r--r--doc/README.html.in272
-rw-r--r--doc/SUPPORTED_DRIVERS23
-rw-r--r--doc/style.css10
5 files changed, 434 insertions, 0 deletions
diff --git a/doc/Makefile.am b/doc/Makefile.am
new file mode 100644
index 0000000..e5fa91a
--- /dev/null
+++ b/doc/Makefile.am
@@ -0,0 +1,36 @@
+# $Id: Makefile.am 22 2003-06-15 16:36:33Z lennart $
+
+# This file is part of ifplugd.
+#
+# ifplugd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# ifplugd is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with ifplugd; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+noinst_DATA = README.html README
+EXTRA_DIST = $(noinst_DATA) style.css README.html.in SUPPORTED_HARDWARE
+
+MAINTAINERCLEANFILES = README README.html
+CLEANFILES =
+
+if USE_LYNX
+README: README.html
+ lynx --dump $^ | sed 's,file://localhost/.*/doc/README.html,README,' > $@
+
+CLEANFILES += README
+endif
+
+tidy: README.html
+ tidy -e < README.html
+
+.PHONY: tidy
+
diff --git a/doc/NEWS b/doc/NEWS
new file mode 100644
index 0000000..a3f4274
--- /dev/null
+++ b/doc/NEWS
@@ -0,0 +1,93 @@
+0.16 :: ... :: SVN ...
+ Spec file update
+ Build fixes
+
+0.15 :: 10. Jul 2003 :: SVN 16
+ umask fix
+ Documentation update
+
+0.14 :: 7. Jul 2003 :: SVN 9
+ Add WLAN support
+ Move to Autoconf
+ Add switch -F
+ Add suspend/resume
+ Modify logging
+ Depend on libdaemon
+
+0.13 :: 1. Feb 2003 :: PRCS 0.40
+ Add note about 3c59x on kernel 2.4.20 to SUPPORTED_DRIVERS
+ Add Suse/United Linux compatibility
+ Move Manpages from man/ to share/man/
+ Apply patch from Mandrake Linux regarding syslog, potential buffer overflow and more
+ Reduce stack usage
+ Remove -Werror from gcc command line
+ Small improvement to client program logging
+ Added option -c and adjustet init script accordingly
+
+0.12 :: 11. Jan 2003 :: PRCS 0.34
+ Fix to the specfile (thanks to Asgeir Nilsen)
+ chkonfig compatibility (the same)
+ RH6.2 compatibility (thanks to R. Steve McKown)
+ New option -x (as well)
+
+0.11 :: 24. Dec 2002 :: PRCS 0.25
+ added RPM specfile (thanks to Sean Reifschneider)
+ Extended SUPPORTED_DRIVERS
+
+0.10 :: 13. Nov 2002
+ Added the option -w
+ Portability fixes
+ Corrected daemonizing strategy
+ Removed PRCS residues from distribution
+
+0.9 :: 7. Nov 2002
+ Automatically remove all IP addresses from interface when doing "interface up" without -a
+ Add SUPPORTED_DRIVERS
+ Add patch for 8139too
+ Added trailing newline to version.h
+
+0.8 :: 25. Oct. 2002
+ Syslog spamming corrected
+ Makefile fixes
+ Manpage typos removed
+ Ignore-failure logic inverted, broken in 0.7
+
+0.7 :: 23. Oct. 2002
+ Introduced ifstatus
+ New manpages
+ Implemented support for SIOCPRIV
+ Fixed some bashisms and ashisms
+ Changed -m semantics
+ set -e in default action script
+ Created seperate module interface.c for link status detection functions
+ Documentation update
+ On request of Enrico Zini:
+ Environment variables are now exported to the action script
+ Network devices may be detected automatically
+
+0.6 :: 14. Oct. 2002
+ Documentation fixes
+ License fixes
+ Manpage added
+ New option -q
+
+0.5 :: n.n.
+ Workaround for kernel bug triggered by using tcpdump together with ifplugd
+
+0.4 :: n.n.
+ Link beat detection fixes
+
+0.3 :: n.n.
+ Link beat detection fixes
+ Syslog cleanup
+
+0.2 :: 30. Sept. 2002
+ New option -m
+ Command line parsing fixes
+ Documentation update
+ Installation script fixes
+
+0.1 :: 29. Sept. 2002
+ Initial version
+
+$Id: NEWS 1.23 Sat, 01 Feb 2003 03:03:31 +0100 lennart $
diff --git a/doc/README.html.in b/doc/README.html.in
new file mode 100644
index 0000000..dd0b778
--- /dev/null
+++ b/doc/README.html.in
@@ -0,0 +1,272 @@
+<?xml version="1.0" encoding="iso-8895-15"?> <!-- -*-html-helper-*- -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+<title>ifplugd @PACKAGE_VERSION@</title>
+<link rel="stylesheet" type="text/css" href="style.css" />
+</head>
+
+<body>
+<h1><a name="top">ifplugd @PACKAGE_VERSION@</a></h1>
+
+<p><i>Copyright 2002,2003 Lennart Poettering &lt;mzvscyhtq [at] itaparica.org&gt;</i></p>
+
+<ul class="toc">
+ <li><a href="#license">License</a></li>
+ <li><a href="#news">News</a></li>
+ <li><a href="#overview">Overview</a></li>
+ <li><a href="#status">Status</a></li>
+ <li><a href="#documentation">Documentation</a></li>
+ <li><a href="#requirements">Requirements</a></li>
+ <li><a href="#installation">Installation</a></li>
+ <li><a href="#acks">Acknowledgements</a></li>
+ <li><a href="#download">Download</a></li>
+</ul>
+
+<h2><a name="license">License</a></h2>
+
+<p>This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as
+published by the Free Software Foundation; either version 2 of the
+License, or (at your option) any later version.</p>
+
+<p>This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.</p>
+
+<p>You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.</p>
+
+<h2><a name="news">News</a></h2>
+
+<div class="news-date">Thu July 10 2003: </div> <p class="news-text"><a
+href="http://www.stud.uni-hamburg.de/~lennart/projects/ifplugd/ifplugd-0.16.tar.gz">Version
+0.16</a> released, changes include: RPM spec file added, build fixes</p>
+
+<div class="news-date">Thu July 10 2003: </div> <p class="news-text"><a
+href="http://www.stud.uni-hamburg.de/~lennart/projects/ifplugd/ifplugd-0.15.tar.gz">Version
+0.15</a> released, changes include: bad umask fix, documentation update</p>
+
+<div class="news-date">Mon July 7 2003: </div> <p class="news-text"><a
+href="http://www.stud.uni-hamburg.de/~lennart/projects/ifplugd/ifplugd-0.14.tar.gz">Version
+0.14</a> released, changes include: autoconf usage, new dependency <a
+href="http://www.stud.uni-hamburg.de/~lennart/projects/libdaemon/"><tt>libdaemon</tt></a>, wireless LAN support, support for
+suspending/resuming, many fixes</p>
+
+<h2><a name="overview">Overview</a></h2>
+
+<p><tt>ifplugd</tt> is a Linux daemon which will automatically
+configure your ethernet device when a cable is plugged in and
+automatically unconfigure it if the cable is pulled. This is useful on
+laptops with onboard network adapters, since it will only configure
+the interface when a cable is really connected.
+
+<p><tt>ifplugd</tt> is a rather simplistic approach to this target since it relies
+on your distribution's native interface configuration system.</p>
+
+<p>Some features:</p>
+
+<ul>
+ <li>Uses your distribution's native <tt>ifup</tt>/<tt>ifdown</tt> programs.</li>
+
+ <li>May beep when the cable is unplugged, plugged, the interface
+ configuration succeeded or failed.</li>
+
+ <li>Supports the Linux <tt>SIOCETHTOOL</tt> (newer, aka <tt>ethtool</tt> API), <tt>SIOCGMIIREG</tt>
+ (older, aka <tt>mii-diag</tt>/<tt>mii-tool</tt> API) and SIOCDEVPRIVATE (oldest, aka
+ <tt>mii-tool</tt> API) <tt>ioctl()</tt>s for getting link status.</li>
+
+ <li>Syslog support</li>
+
+ <li>Simplistic C source code, just 19k binary (+11k for libdaemon)</li>
+
+ <li>Multiple ethernet interface support</li>
+
+ <li>May ignore short unplugged whiles (<tt>-d</tt> option) or plugged whiles (<tt>-u</tt>
+ option)</li>
+
+ <li>Support for wireless networking. Whenever an AP is detected the
+network is configured.</li>
+
+ <li>Compatibility mode for network devices which do not support cable detection (<tt>-F</tt> option)</li>
+</ul>
+
+<h2><a name="status">Status</a></h2>
+
+<p>Version 0.14 is stable and has all the sensible features its users could think of.</p>
+
+<h2><a name="documentation">Documentation</a></h2>
+
+<h3>Configuration</h3>
+
+<p>Edit <tt>/etc/ifplugd/ifplugd.conf</tt> for configuration
+changes. This file is a bourne shell script sourced by the init script
+and used to generate a suiting command line. You may specify more than
+one ethernet interface in <tt>INTERFACES</tt>. For each interface a
+seperate instance of <tt>ifplugd</tt> is spawned. The arguments specified in
+<tt>ARGS</tt> are append to <tt>ifplugd</tt>'s command line. Have a look on
+<tt>ifplugd -h</tt> or <tt>man ifplugd</tt> for further information
+about the available options.</p>
+
+<p>The network interface which is controlled by <tt>ifplugd</tt>
+should not be configured automatically by your distribution's network
+subsystem, since <tt>ifplugd</tt> will do this for you if needed. On
+Debian remove interface names beginning with <tt>eth</tt> or
+<tt>wlan</tt> from the <tt>auto</tt> option line in
+<tt>/etc/network/interfaces</tt>.</p>
+
+<h3>Troubleshooting</h3>
+
+<p>When you are using the hotplug subsystem (Debian package
+<tt>hotplug</tt>) you may notice that the network device is configured
+even when it is not listed on an <tt>auto</tt> line in
+<tt>/etc/network/interface</tt>. This may be due to <tt>hotplug</tt>
+being configured to <tt>ifup</tt> the network interface when it
+becomes available. This was the default behavior in the Debian
+<tt>hotplug</tt> package prior to release <tt>0.0.20030117-1</tt>, for
+example. To prevent this you should either upgrade your
+<tt>hotplug</tt> package or comment out the <tt>ifup</tt> call in
+<tt>/etc/hotplug/net.agent</tt>.</p>
+
+<p>When using <tt>ifplugd</tt> together with APM (and probably ACPI)
+suspends, strange things may happen: some network devices fail to
+detect the network cable for a short period of time before and after
+the suspend. When using the <tt>-f</tt> switch, this will be treated
+as "no link beat", thus the network is shutdown after a
+timeout. During this timeout the machine changes to suspended
+state. When it is resumed again, the timeout will be run out, the
+network is deconfigured, however, as the next cable detection
+succeeds, the network is configured again immediately. To fix this
+problem, <tt>ifplugd</tt> should be disabled before the APM suspend
+and enabled back after the suspend. This may be done by using
+<tt>apmd</tt> and adding a script to
+<tt>/etc/apm/{suspend,resume}.d</tt> which simply calls
+<tt>/etc/init.d/ifplugd suspend</tt>, resp. <tt>/etc/init.d/ifplugd
+resume</tt>. It might even be a good idea to shut down the network
+completely during suspend, this may be achieved by calling
+<tt>/etc/init.d/ifplugd stop</tt> and <tt>/etc/init.d/ifplugd
+start</tt> in the appropriate places. I strongly urge the packagers of
+this software for the Linux distributions to add such scripts to their
+packages.</p>
+
+<h3>FAQ</h3>
+
+<ol>
+ <li><p><b>Q:</b> I want to use <tt>ifplugd</tt> with my PCMCIA device, but <tt>ifplugd</tt> quits
+ when it doesn't find <tt>eth0</tt>, when I have not inserted the
+ card. What can I do?</p>
+
+ <p><b>A:</b> Use the <tt>-f</tt> switch. This is not very clean however,
+ since modprobe is called on each cable detection query of <tt>ifplugd</tt> to
+ load a module for the network device. This is suboptimal. You should
+ probably run <tt>ifplugd</tt> only when the card is really inserted.</p>
+ </li>
+
+ <li><p><b>Q:</b> I am using the <tt>-f</tt> switch, but the kernel logs are getting filled
+ with messages like "<tt>modprobe: modprobe: Can't locate module
+ eth0</tt>". What can I do?</p>
+
+ <p><b>A:</b> Make sure you have a line like <tt>alias eth0 off</tt> in your <tt>/etc/modules.conf</tt></p>
+ </li>
+
+ <li><p><b>Q:</b> When the cable is unplugged and the interface shut down it is
+ still available with <tt>ifconfig</tt> and markes as UP. Why this?</p>
+
+ <p><b>A:</b> <tt>ifplugd</tt> cannot detect the link beat with a shut down interface on
+ certain (most as of kernel 2.4.19) network drivers. Thus <tt>ifplugd</tt>
+ enables the interface before querying the link status. This may
+ be switched off with -a flag. You might want to use it if you
+ have a sane network driver (e.g. <tt>eepro100</tt>). The subdirectory
+ <tt>patches/</tt> in the <tt>ifplugd</tt> distribution includes a patch for the
+ 8139too 0.9.26 driver, which makes the driver compatible with
+ -a. Don't ask me how to apply this patch. If you don't know, you
+ won't need it.</p></li>
+
+ <li><p><b>Q:</b> Does it work with anything else than plain ethernet or wireless LAN?</p>
+
+ <p><b>A:</b> Certainly not, since the <tt>MII</tt> and
+<tt>ETHTOOL</tt> <tt>ioctl()</tt>s and the wireless extension don't
+exist on
+ other network device types.</p></li>
+
+ <li><p><b>Q:</b> I have a Realtek 8139 based network card. Everytime <tt>ifplugd</tt>
+ starts on bootup my machine freezes. What can I do?</p>
+
+ <p><b>A:</b> This is a bug in the <tt>8139too</tt> driver 0.9.25 (at least) shipped
+ with Linux 2.4.19, please upgrade to <tt>8139too</tt> 0.9.26 (Linux 2.4.20
+ or seperately at <a href="http://www.sourceforge.net/projects/gkernel/">http://www.sourceforge.net/projects/gkernel/</a>).</p></li>
+
+
+ <li><p><b>Q:</b> There are already <tt>laptop-net</tt>'s <tt>ifd</tt> and <tt>miid</tt>, why did you write
+ your own daemon?</p>
+
+ <p><b>A:</b> <tt>laptop-net</tt> simply sucks and I didn't know of <tt>miid</tt> when I wrote
+ <tt>ifplugd</tt>. However, <tt>ifplugd</tt> is far better than <tt>miid</tt>. For a
+ comparison of <tt>miid</tt> and <tt>ifplugd</tt>, have a look on
+
+ <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=162763&amp;repeatmerged=yes">http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=162763&amp;repeatmerged=yes</a></p></li>
+</ol>
+
+
+<h2><a name="requirements">Requirements</a></h2>
+
+<p>A newer Linux Kernel (I think 2.2 is good enough, alltough I tested it
+only with 2.4) with a compatible device driver and
+ethernet card. Most modern cards and drivers are compatible, like mine
+which works with the <tt>8139too</tt> driver.</p>
+
+<p><tt>ifplugd</tt> was developed and tested on Debian GNU/Linux
+"testing" from July 2003, it should work on most other Linux
+distributions (and maybe Unix versions) since it uses GNU autoconf and
+GNU libtool for source code configuration and shared library
+management.</p>
+
+<p>The machine used was a Medion 9580-F laptop with a Realtek 8139
+network card and a PRISM1 PCMCIA wireless LAN card.</p>
+
+<p><tt>ifplugd</tt> needs <a
+href="http://www.stud.uni-hamburg.de/~lennart/projects/libdaemon/"><tt>libdaemon</tt></a>.</p>
+
+<h2><a name="installation">Installation</a></h2>
+
+<p>As this package is made with the GNU autotools you should run
+<tt>./configure</tt> inside the distribution directory for configuring
+the source tree. After that you should run <tt>make</tt> for
+compilation and <tt>make install</tt> (as root) for installation of
+<tt>ifplugd</tt>.</p>
+
+<p>The installation scripts create an init script in
+<tt>${sysconfdir}/init.d/ifplugd</tt>, however no <tt>/etc/rc?.d/</tt> links are created
+for it.</p>
+
+<h2><a name="acks">Acknowledgements</a></h2>
+
+<p>For the developers of <tt>mii-diag</tt>, <tt>ethtool</tt> and <tt>laptop-net</tt>, since I looked
+on their source codes for learning how to use the link beat ioctls.</p>
+
+<p>Oliver Kurth for packaging <tt>ifplugd</tt> for Debian and <tt>ifplugd</tt>'s
+manpage</p>
+
+<p>Asgeir Nilsen, Sean Reifschneider, R. Steve McKown, David Mitchell for patches</p>
+
+<p>Frederic Lepied for integrating <tt>ifplugd</tt> into Mandrake Linux</p>
+
+<h2><a name="download">Download</a></h2>
+
+<p>The newest release is always available from <a href="http://www.stud.uni-hamburg.de/~lennart/projects/ifplugd/">http://www.stud.uni-hamburg.de/~lennart/projects/ifplugd/</a></p>
+
+<p>The current release is <a href="http://www.stud.uni-hamburg.de/~lennart/projects/ifplugd/ifplugd-@PACKAGE_VERSION@.tar.gz">@PACKAGE_VERSION@</a></p>
+
+<p>You may find a mostly up to date Debian package of <tt>ifplugd</tt> on the <a href="http://packages.debian.org/cgi-bin/search_packages.pl?keywords=ifplugd&amp;searchon=names&amp;subword=1&amp;version=all&amp;release=all">Debian package repository</a>.</p>
+
+<p>Packages for Mandrake Linux may be found in the Cooker distribution; Gentoo packages are available as well</p>
+
+<hr/>
+<address>Lennart Poettering &lt;mzvscyhtq [at] itaparica.org&gt;, July 2003</address>
+<div><i>$Id: README.html.in 9 2003-07-05 17:59:40Z lennart $</i></div>
+
+</body>
+</html>
diff --git a/doc/SUPPORTED_DRIVERS b/doc/SUPPORTED_DRIVERS
new file mode 100644
index 0000000..60c9c4b
--- /dev/null
+++ b/doc/SUPPORTED_DRIVERS
@@ -0,0 +1,23 @@
+The following list is a short summary of user experiences with certain
+network drivers.
+
+The version prefixed with k is the driver version of the specific
+kernel, the version prefixed with d is the driver version. Versions
+suffixed with p are patched with a patch supplied with ifplugd.
+
+Driver | Version | Support
+---------+----------------------+------------------------------------------------
+eepro100 | k2.4.19 | works fine, even with -a
+e100 | k2.4.20 | works fine, even with -a
+8139too | k2.4.19 | the machine may lock up, doesn't work with -a
+8139too | k2.4.20 or d0.9.26 | works, doesn't work with -a
+8139too | k2.4.20p or d0.9.26p | works, even with -a
+de4x5 | k2.4.18 | Fails completely
+tulip | k2.4.18 | works; does it work with -a???
+3c59x | k2.4.19 and .20 | Works, even with -a
+
+Please help me to extend this list and send me
+(mzvscyhtq [at] itaparica.org) more information about your
+experience with drivers not included in the list above yet.
+
+$Id: SUPPORTED_DRIVERS 1.4 Sat, 01 Feb 2003 02:36:25 +0100 lennart $
diff --git a/doc/style.css b/doc/style.css
new file mode 100644
index 0000000..71ccfe0
--- /dev/null
+++ b/doc/style.css
@@ -0,0 +1,10 @@
+/* $Id: style.css 8 2003-07-05 15:14:33Z lennart $ */
+body { color: black; background-color: white; margin: 0.5cm; }
+a:link, a:visited { color: #900000; }
+p { margin-left: 0.5cm; margin-right: 0.5cm; }
+div.news-date { margin-left: 0.5cm; font-size: 80%; color: #4f0000; }
+p.news-text { margin-left: 1cm; }
+ul { margin-left: 0.5cm; }
+h1 { color: #00009F; }
+h2 { color: #00009F; }
+h3 { color: #00004F; margin-left: 0.5cm; }