990 lines
51 KiB
Plaintext
990 lines
51 KiB
Plaintext
|
The Cable Modem HOWTO
|
|||
|
|
|||
|
Howard Shane
|
|||
|
|
|||
|
<hshane[AT]austin.rr.com>
|
|||
|
Revision History
|
|||
|
Revision 0.9 2004-07-30 Revised by: jhs
|
|||
|
Completed draft.
|
|||
|
|
|||
|
|
|||
|
This document was written to assist the Linux user in configuring a cable
|
|||
|
modem for internet access using a cable network.
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
Table of Contents
|
|||
|
1. Introduction
|
|||
|
1.1. Copyright Information
|
|||
|
1.2. Disclaimer
|
|||
|
1.3. New Versions
|
|||
|
1.4. Credits
|
|||
|
1.5. Feedback
|
|||
|
1.6. Conventions Used in this Document
|
|||
|
|
|||
|
|
|||
|
2. Prerequisites
|
|||
|
2.1. Networking and Ethernet Support
|
|||
|
2.2. Ethernet Support
|
|||
|
2.3. USB Interface Support
|
|||
|
2.4. The Modem Device
|
|||
|
2.5. The DHCP Client
|
|||
|
|
|||
|
|
|||
|
3. Configuration
|
|||
|
3.1. Ready to Start With an Ethernet-Modem connection
|
|||
|
3.2. Grabbing A Specific Interface
|
|||
|
3.3. Using the USB interface instead of an Ethernet card
|
|||
|
|
|||
|
|
|||
|
4. Notes on Specific Hardware
|
|||
|
4.1. Ambit Modems
|
|||
|
4.2. Broadcom Cable Modems
|
|||
|
4.3. Ericson PipeRider Modems
|
|||
|
4.4. Motorola SurfBoard Modems
|
|||
|
4.5. RCA (Tompson) Modems
|
|||
|
4.6. Terayon Modems
|
|||
|
4.7. Toshiba PCX-XXXX Cable Modems
|
|||
|
4.8. Webstar Modems
|
|||
|
|
|||
|
|
|||
|
5. Troubleshooting
|
|||
|
A. Gnu Free Documentation License
|
|||
|
|
|||
|
1. Introduction
|
|||
|
|
|||
|
This document was written to assist the Linux user in setting up their cable
|
|||
|
modem, and includes information on configuring a DHCP client, enabling the
|
|||
|
device with or without USB support and troubleshooting. I have successfully
|
|||
|
configured Motorola and Toshiba brand cable modems with the methods herein,
|
|||
|
and others have informed me that the configuration methods of other
|
|||
|
manufacturers' hardware is almost identical. A mostly-complete laundry list
|
|||
|
of hardware specific tidbits is addressed in Section 4; if you have a model
|
|||
|
working that is not listing or have some specific informtion that you think
|
|||
|
will be helpful, please send it along via the address in Section 1.5
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
1.1. Copyright Information
|
|||
|
|
|||
|
This document is Copyright 2004 by Howard Shane.
|
|||
|
|
|||
|
Permission is granted to copy, distribute and/or modify this document under
|
|||
|
the terms of the GNU Free Documentation License, Version 1.2 or any later
|
|||
|
version published by the Free Software Foundation with no Invariant Sections,
|
|||
|
no Front-Cover Texts, and no Back-Cover Texts. A copy of the license can be
|
|||
|
found in Appendix A.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
1.2. Disclaimer
|
|||
|
|
|||
|
No liability for the contents of this document can be accepted. Use the
|
|||
|
concepts, examples and other content entirely at your own risk. As this is a
|
|||
|
new edition, there may be technical or other inaccuracies that may result in
|
|||
|
the loss of irreplaceable data. In any case, proceed with caution, and
|
|||
|
realize that although errors are highly unlikely, the author can accept no
|
|||
|
responsibility for them.
|
|||
|
|
|||
|
All copyrights are held by their by their respective owners, unless
|
|||
|
specifically noted otherwise. Use of a term in this document should not be
|
|||
|
regarded as affecting the validity of any trademark or service mark.
|
|||
|
|
|||
|
Naming of particular products or brands should not be seen as endorsements.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
1.3. New Versions
|
|||
|
|
|||
|
This is the initial release.
|
|||
|
|
|||
|
The latest version number of this document can be found [http://
|
|||
|
www.hshanemd.net/docs/HOWTOS/Cable-Modem/] here.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
1.4. Credits
|
|||
|
|
|||
|
I would like to thank Brad Hards, the primary author of the Linux CDCEther
|
|||
|
kernel driver for graciously volunteering several useful bits of information,
|
|||
|
as well as Rob McGee and Jess Portnoy for encouraging me to morph this
|
|||
|
document into the new Cable-Modem HOWTO and contributing useful suggestions.
|
|||
|
|
|||
|
Also, I would like to thank Marla, who has stood by me confidently even when
|
|||
|
the outlook was dimmest and others unforgiving. I'm yours forever.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
1.5. Feedback
|
|||
|
|
|||
|
Please send any additions or comments pertaining to this document to the
|
|||
|
following email address: <hshane[AT]austin.rr.com>.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
1.6. Conventions Used in this Document
|
|||
|
|
|||
|
The following conventions are used in this document and are outlined here for
|
|||
|
those who may not yet have a complete understanding of how to access and
|
|||
|
control the underlying operating system in Linux, which is almost always the
|
|||
|
bash shell.
|
|||
|
|
|||
|
First, filenames are referenced in a paragraph like so: /path/file
|
|||
|
|
|||
|
Commands in Linux are executed (or 'called') at the command prompt, otherwise
|
|||
|
known as the 'command line.' If you are in the non-graphical (text-based)
|
|||
|
environment you will usually be presented the bash shell prompt which is a
|
|||
|
dollar sign:
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|$ |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
...or the hash mark:
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|# |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
...if you have logged in as root or have acquired root, or 'superuser'
|
|||
|
privileges. You can also access the bash shell in the X window system,
|
|||
|
otherwise known as X or X11, with an [http://invisible-island.net/xterm/]
|
|||
|
xterm or similar X-terminal-emulator. Commands to be performed at the bash
|
|||
|
prompt, but referenced in a paragraph of this document, usually look like
|
|||
|
this: do this now
|
|||
|
|
|||
|
Commands and/or the resulting output of commands may also be outlined with
|
|||
|
screen output in their own paragraph or heading:
|
|||
|
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|$ |
|
|||
|
|date Sun Jul 27 22:37:11 CDT 2003 |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|
|||
|
When a command is written in front of the bash prompt (e.g. $ date above), it
|
|||
|
is assumed the [Return] or [Enter] key has been depressed after the command,
|
|||
|
possibly followed by the output (e.g., the date).
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
2. Prerequisites
|
|||
|
|
|||
|
2.1. Networking and Ethernet Support
|
|||
|
|
|||
|
Most, if not all, cable modems are easily configured for use with Linux. Most
|
|||
|
cable modems have two possible interfaces for connection to your computer:
|
|||
|
Ethernet or USB. If your version of Linux is like most, there is very little
|
|||
|
you will need to do to to get your cable modem working with an Ethernet
|
|||
|
interface as long as you have support for networking and the driver for your
|
|||
|
specific networking hardware installed.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
2.2. Ethernet Support
|
|||
|
|
|||
|
An open Ethernet interface is the most likely means that a cable provider
|
|||
|
will use or recommend when setting up your cable internet service. Your ISP
|
|||
|
may even deliver and/or install a new NIC card to access the modem if you
|
|||
|
have no open Ethernet cards available.The cable connects to the modem, which
|
|||
|
then connects to your NIC using ordinary 10BaseT/100BaseT Ethernet cable. If
|
|||
|
you are uncertain about any of the above, and your modem and/or NIC are not
|
|||
|
already physically installed for you, read the [http://www.tldp.org/HOWTO/
|
|||
|
Ethernet-HOWTO.html] Ethernet HOWTO and your cable modem's instruction manual
|
|||
|
before proceeding any further.
|
|||
|
|
|||
|
Warning Do not try to install an NIC by yourself unless you are already
|
|||
|
familiar with the process or are assisted by someone who is.
|
|||
|
|
|||
|
For software support, most base installs of Linux distributions come enabled
|
|||
|
for TCP/IP networking and common Ethernet hardware drivers 'out of the box,'
|
|||
|
so if you are using a preconfigured kernel from a boxed or downloaded version
|
|||
|
of a Linux distribution you can probably skip to Section 2.4. If you don't
|
|||
|
know what a kernel is and/or are curious about it, see the [http://
|
|||
|
www.tldp.org/HOWTO/Kernel-HOWTO.html] Kernel HOWTO for more information.
|
|||
|
|
|||
|
The (Linux kernel) networking support requirements for use of a cable modem
|
|||
|
include the following, and which you will need to select using whatever
|
|||
|
kernel configuration front-end application (whether make config, make
|
|||
|
menuconfig or make xconfig) prior to compiling a custom kernel. For 2.4.x and
|
|||
|
earlier kernels under the heading 'Networking options' you will require 'TCP/
|
|||
|
IP Networking' along with 'Network Device Support,' go to 'Ethernet (10 or
|
|||
|
100Mbit) Support' and enable your specific NIC driver. If you use the 2.6.x
|
|||
|
series, the heading 'Drivers' has a sub-heading 'Networking Support,' where
|
|||
|
you should enable 'Network Device Support' and 'Ethernet Connection Support/
|
|||
|
Ethernet (10 or 100Mbit), as well as your specific NIC hardware driver.
|
|||
|
|
|||
|
If you are interested in how to configure the USB interface go to Section 2.3
|
|||
|
; otherwise you can go to Section 2.4.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
2.3. USB Interface Support
|
|||
|
|
|||
|
There seems to be no reliable data regarding testing bandwidth or performance
|
|||
|
of an Ethernet connection vs. the USB port of cable modems. In theory they
|
|||
|
should be equivalent, though some believe there is poorer performance (at
|
|||
|
least in Linux) using USB. Unless you have no way to use an Ethernet
|
|||
|
interface, have no ability to add a cheap NIC, or are just plain determined,
|
|||
|
there is probably no advantage to using USB. If so, you will need the
|
|||
|
following, in addition to Networking support outlined above: 1) USB Subsystem
|
|||
|
support 2) your host controller driver (UHCI, OHCI or EHCI) and one of the
|
|||
|
following:
|
|||
|
|
|||
|
Kernel Version 2.4.x
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>CDC Ethernet Support
|
|||
|
|
|||
|
|
|||
|
For kernel 2.6.x you will need
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Multi-purpose USB Networking Framework (CONFIG_USB_USBNET) with
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>CDC Ethernet support (CONFIG_USB_CDCETHER)
|
|||
|
|
|||
|
|
|||
|
See Section 3.3 for instructions on how to load modules when time to test the
|
|||
|
modem.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
2.4. The Modem Device
|
|||
|
|
|||
|
First, plug in and turn on the cable modem. Connect your Ethernet card to the
|
|||
|
modem with 10BaseT/100BaseT cable into the non-USB interface if this was not
|
|||
|
already done for you. Be sure the modem isn't on standby mode or turned off;
|
|||
|
this should be obvious looking at the LEDs. The standby button is on the top
|
|||
|
of the device on most models. Note that your cable internet provider should
|
|||
|
be able to tell remotely whether your modem is connected and functioning
|
|||
|
properly, which is helpful to differentiate hardware from configuration
|
|||
|
problems on your end. They will also need the MAC (Media Access Control)
|
|||
|
hardware address of your modem to allow the device access to their network.
|
|||
|
If at any time you substitute one modem for another you will need to inform
|
|||
|
them so the MAC address can be updated and your access to the cable network
|
|||
|
restored.
|
|||
|
|
|||
|
Your modem will be assigned an IP address once connected for the first time
|
|||
|
that may remain the same or may change periodically depending on the IP
|
|||
|
address turnover of your ISP's DHCP server and how long you remain offline if
|
|||
|
you disconnect.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
2.5. The DHCP Client
|
|||
|
|
|||
|
2.5.1. Installation on a Debian System
|
|||
|
|
|||
|
Debian requires you have a DHCP client package installed and running. As of
|
|||
|
this writing there are two user-space programs for this. In Woody (stable),
|
|||
|
there is the dhcp-client package, automatically installed as a part of the
|
|||
|
base packages as /sbin/dhclient. For Sarge (testing) and up, this has been
|
|||
|
replaced by the dhcpcd package. The latter has its configuration files under
|
|||
|
/etc/dhcpc, but nothing really needs to be modified if you have only one
|
|||
|
Ethernet card you will be using for the cable internet service. The dhcpcd
|
|||
|
daemon is easily installed for those using testing branch as root with
|
|||
|
apt-get install dhcpcd .
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
2.5.2. Installing on .rpm- or .tgz-Based Systems
|
|||
|
|
|||
|
For .rpm- or .tgz-based distributions, I offer the following link that walks
|
|||
|
you through the setup of a DHCP client, in the [http://www.tldp.org/HOWTO/
|
|||
|
mini/DHCP/x74.html] DHCP mini-HOWTO.
|
|||
|
|
|||
|
Just run /sbin/dhclient or whichever client you use to get a dynamic IP
|
|||
|
address.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3. Configuration
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
3.1. Ready to Start With an Ethernet-Modem connection
|
|||
|
|
|||
|
Once you are plugged into the system, your modem is on and your dhcp server
|
|||
|
is running as outlined in Section 2.5, you should be provided your own IP
|
|||
|
address that doesn't change unless you drop the lease (i.e. are offline) for
|
|||
|
a while. To confirm that the DHCP client is working and you have a new IP
|
|||
|
address, execute (as root) ifconfig without any other arguments, and you
|
|||
|
should see the following:
|
|||
|
|
|||
|
+---------------------------------------------------------------------------------------+
|
|||
|
|eth0 Link encap:Ethernet HWaddr 00:D0:09:DE:D4:6F |
|
|||
|
| inet addr:66.190.XXX.XXX Bcast:255.255.255.255 Mask:255.255.255.0 UP BROADCAST |
|
|||
|
| RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2591777 errors:0 dropped:0 |
|
|||
|
| overruns:0 frame:0 TX packets:5589 errors:0 dropped:0 overruns:0 carrier:0 |
|
|||
|
| collisions:0 txqueuelen:100 RX bytes:168673636 (160.8 MiB) TX bytes:1752872 |
|
|||
|
| (1.6 MiB) Interrupt:12 Base address:0xc400 |
|
|||
|
+---------------------------------------------------------------------------------------+
|
|||
|
|
|||
|
+-------------------------------------------------------------------------------------+
|
|||
|
|lo Link encap:Local Loopback |
|
|||
|
| inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX |
|
|||
|
| packets:5168 errors:0 dropped:0 overruns:0 frame:0 TX packets:5168 errors:0 |
|
|||
|
| dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1695104 |
|
|||
|
| (1.6 MiB) TX bytes:1695104 (1.6 MiB) |
|
|||
|
+-------------------------------------------------------------------------------------+
|
|||
|
|
|||
|
...which shows the system loopback device, lo, and also eth0, the cable modem
|
|||
|
having successfully acquired an IP address (the 'inet addr') provided by our
|
|||
|
cable internet service provider.
|
|||
|
|
|||
|
A simple Ethernet-based configuration should be complete at this step. If you
|
|||
|
have more than one Ethernet interface available and want to select a specific
|
|||
|
one for the cable service, go on to Section 3.2.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.2. Grabbing A Specific Interface
|
|||
|
|
|||
|
Let's say we want to select a specific Ethernet interface (ethX) to be the
|
|||
|
recipient of the DHCP cable internet service. If you run ifconfig as root you
|
|||
|
get a list of open devices:
|
|||
|
|
|||
|
+-----------------------------------------------------------------------------------------+
|
|||
|
|eth0 Link encap:Ethernet |
|
|||
|
|HWaddr 00:D0:09:DE:D4:6F |
|
|||
|
| inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 BROADCAST RUNNING |
|
|||
|
| MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 |
|
|||
|
| TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 |
|
|||
|
| RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) Interrupt:12 Base address:0xc400 |
|
|||
|
+-----------------------------------------------------------------------------------------+
|
|||
|
|
|||
|
+-------------------------------------------------------------------------------------+
|
|||
|
|lo Link encap:Local Loopback |
|
|||
|
| inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX |
|
|||
|
| packets:5168 errors:0 dropped:0 overruns:0 frame:0 TX packets:5168 errors:0 |
|
|||
|
| dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1695104 |
|
|||
|
| (1.6 MiB) TX bytes:1695104 (1.6 MiB) |
|
|||
|
+-------------------------------------------------------------------------------------+
|
|||
|
|
|||
|
...where eth0 is a standard NIC that we have preconfigured to the IP address
|
|||
|
192.168.1.1.
|
|||
|
|
|||
|
Note the HWaddr field, or hardware address, on the first line. This is the
|
|||
|
same as the MAC, or Media Access Control address, and is how we will specify
|
|||
|
the interface for each action.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.2.1. Manually Assigning MAC to Interface Name
|
|||
|
|
|||
|
Whatever distribution you use, you can always use the command line to
|
|||
|
designate an Ethernet device (via the MAC) to be interface 'ethX' with or
|
|||
|
without a particular IP address. This may be necessary when you change your
|
|||
|
settings, swap out hardware or for just plain testing. Use ifconfig:
|
|||
|
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|# ifconfig ethX hw ether 00:D0:09:DE:D4:6F up |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|
|||
|
You can check if it worked by calling ifconfig without options after your
|
|||
|
next reboot. See man ifconfig for more options.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.2.2. Automatic Configuration of Devices
|
|||
|
|
|||
|
The method for automatically assigning a particular interface name ethX, to a
|
|||
|
specific hardware interface (Media Access Control address) differs by
|
|||
|
distribution.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.2.2.1. Debian
|
|||
|
|
|||
|
If you are running a Debian system, you can alter the /etc/network/interfaces
|
|||
|
file to look like this:
|
|||
|
|
|||
|
+---------------------------------------------------------------------------------------+
|
|||
|
| # /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) # The |
|
|||
|
| loopback interface auto lo iface lo inet loopback auto eth0 iface eth0 inet |
|
|||
|
| static address 192.168.1.1 netmask 255.255.255.0 network 192.168.1.0 hwaddress |
|
|||
|
| ether 00:D0:09:DE:D4:6F |
|
|||
|
| |
|
|||
|
| auto eth1 iface eth1 inet dhcp hwaddress ether 00:04:BD:DE:42:0B |
|
|||
|
+---------------------------------------------------------------------------------------+
|
|||
|
|
|||
|
The auto eth0 and auto eth1 are required to have the interfaces configured at
|
|||
|
boot-up. Note that some versions of dhcp clients by default always grab eth0
|
|||
|
for the dhcpc interface. So even after doing all the above, unless you
|
|||
|
specifically run /sbin/dhcpcd-bin eth1 it won't work. The easy way to do this
|
|||
|
at boot up is to make an init script to load the dhcp address to the correct
|
|||
|
interface, which should be placed in /etc/init.d. Then run update-rc.d as
|
|||
|
root with the correct arguments (see man update-rc.d).
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.2.2.2. Red Hat
|
|||
|
|
|||
|
The file to edit will of the form ifcfg-ethX, located in /etc/sysconfig/
|
|||
|
network-scripts/. The contents are typically of the form:
|
|||
|
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
| DEVICE=eth1 |
|
|||
|
|# Device name. This is the interface your cable modem will use. |
|
|||
|
|ONBOOT=yes |
|
|||
|
|# load at boot BOOTPROTO=dhcp |
|
|||
|
|# sets the device to receive an IP address from a DHCP server |
|
|||
|
|HWADDR=00:04:BD:DE:42:0B |
|
|||
|
|# the hardware MAC |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|
|||
|
Edit the relevant sections with your favorite text editor program as root to
|
|||
|
reflect your interface name and MAC and save it. If the file doesn't exist
|
|||
|
for the interface you need you can create it, for example ifcfg-eth1. You can
|
|||
|
then use ifconfig eth1 up from the command line to use it immediately. Upon
|
|||
|
reboot the correct hardware settings should be loaded automatically.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.2.2.3. Slackware
|
|||
|
|
|||
|
Slackware has a configuration utility named 'netconfig' that you can use at
|
|||
|
the command line as root to modify your network settings and configure
|
|||
|
interfaces by static IP addresses or dhcp. You can rerun it at any time to
|
|||
|
reconfigure things once you have installed your modem.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.2.2.4. Other Distributions
|
|||
|
|
|||
|
Feel free to contribute if you have distribution-specific information to add;
|
|||
|
see Section 1.5. Consult your distribution documentation where appropriate.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.3. Using the USB interface instead of an Ethernet card
|
|||
|
|
|||
|
3.3.1. USB CDCEther
|
|||
|
|
|||
|
If you wish to use the USB interface to accept data you will need USB
|
|||
|
subsystem support in your kernel as discussed in Section 2.1, whether
|
|||
|
USB-ohci, USB-ehci, or whatever USB host controller driver required by your
|
|||
|
system. For a more in-depth discussion of this, I direct you to the Linux-USB
|
|||
|
project site.
|
|||
|
|
|||
|
In addition the CDCEther (Communications Device Class Ethernet) protocol
|
|||
|
common to cable modems.
|
|||
|
|
|||
|
There are two ways your kernel may support a device driver: either by being
|
|||
|
statically (always on) compiled within that kernel or loaded (at boot time or
|
|||
|
later by a script or manually) as a module. You can find out if a driver is
|
|||
|
statically compiled in the kernel by checking the log of messages at boot up
|
|||
|
using dmesg | less on the command line. Experienced users may want to take an
|
|||
|
easier route and check the configuration file for the currently running
|
|||
|
kernel in /boot, usually of the form config-2.X.x, which is a text file that
|
|||
|
can be grepped. On the command line, try grep -e followed by
|
|||
|
CONFIG_USB_CDCETHER in 2.4.x kernels or CONFIG_USB_ETH in 2.6.x kernels
|
|||
|
followed by the filename; you should see a '=y or =m at the end of this
|
|||
|
string for static or modular status, respectively.
|
|||
|
|
|||
|
The output of dmesg | less should reveal something similar to the following
|
|||
|
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
| Mar 2 11:00:52 K7 kernel: CDCEther.c: |
|
|||
|
|0.98.6 7 Jan 2002 Brad Hards and another |
|
|||
|
|Mar 2 11:00:52 K7 kernel: usb.c: registered new driver CDCEther |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|
|||
|
in the case of a statically compiled driver or a module loaded at boot.
|
|||
|
|
|||
|
If you don't see it, to find out if your kernel has already loaded the
|
|||
|
CDCEther (Communications Device Class Ethernet) driver as a module, on the
|
|||
|
command line issue lsmod as root. You should see the module CDCEther listed
|
|||
|
for 2.4.x kernels, or alternatively usbnet for 2.6.x kernels.
|
|||
|
|
|||
|
If you don't see it listed with lsmod try loading the module directly as
|
|||
|
root; for kernel 2.4.x this would be of the form
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
| # modprobe CDCEther |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
whereas for 2.6.x the command would be
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
| # modprobe usbnet |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|
|||
|
If all goes well you should see something like the following at the end of
|
|||
|
your system log files (/var/log/messages or /var/log/syslog, you may need to
|
|||
|
be root to view these) or at the end of dmesg | less from the command line:
|
|||
|
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
| Mar 2 11:00:52 K7 kernel: CDCEther.c: |
|
|||
|
|0.98.6 7 Jan 2002 Brad Hards and another |
|
|||
|
|Mar 2 11:00:52 K7 kernel: usb.c: registered new driver CDCEther |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|
|||
|
If all goes well you should see something like the following in your system
|
|||
|
log files or at the end of dmesg:
|
|||
|
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
| Mar 2 11:00:52 K7 kernel: CDCEther.c: |
|
|||
|
|0.98.6 7 Jan 2002 Brad Hards and another |
|
|||
|
|Mar 2 11:00:52 K7 kernel: usb.c: registered new driver CDCEther |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|
|||
|
If you are unsuccessful with any of the above, and are determined to use the
|
|||
|
USB conduit of this device, you will need to recompile your kernel to support
|
|||
|
it. You will need the 2.4.3 kernel or later. For detailed instructions on
|
|||
|
recompiling your kernel, I direct you to the Kernel-HOWTO. The options
|
|||
|
required to get USB interface support working on this device have been
|
|||
|
addressed in Section 2.1.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4. Notes on Specific Hardware
|
|||
|
|
|||
|
Thanks to Jess Portnoy and others for much of the information below. Also,
|
|||
|
there are some notes specifically pertaining to configuring a cable modem and
|
|||
|
cable internet service providers in Israel on [http://www.freewebs.com/
|
|||
|
linuxnet/CableUSBLinuxEn.html] Jess' webpage for those that live there. I
|
|||
|
have personally subscribed to two large cable ISPs in the U.S. without any
|
|||
|
trouble using the instructions outlined above. The previous incarnation of
|
|||
|
this document had a large catalogue of ISPs listed by geography, but as a
|
|||
|
rule the identity of the upstream provider should not affect configuration.
|
|||
|
If your cable ISP claims not to support linux, it is not because of any
|
|||
|
technical difficulties related to the operating system. Just don't expect
|
|||
|
them to configure if for you on your end like they do for most other users
|
|||
|
(that's why you're reading this document, right?).
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4.1. Ambit Modems
|
|||
|
|
|||
|
Supported by Ethernet and CDCEther.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4.2. Broadcom Cable Modems
|
|||
|
|
|||
|
Supported by Ethernet and CDCEther.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4.3. Ericson PipeRider Modems
|
|||
|
|
|||
|
Supported by Ethernet and CDCEther.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4.4. Motorola SurfBoard Modems
|
|||
|
|
|||
|
This model has enjoyed widespread use by cable providers. There is a separate
|
|||
|
[http://tldp.org/HOWTO/Motorola-Surfboard-Modem/index.html] HOWTO, written by
|
|||
|
your humble author. Supported by both Ethernet and USB CDCEther. Refer to
|
|||
|
that document for any hardware specific questions. The generic instructions
|
|||
|
above generally work.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4.5. RCA (Tompson) Modems
|
|||
|
|
|||
|
Supported with Ethernet, CDCEther untested.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4.6. Terayon Modems
|
|||
|
|
|||
|
At minimum the tj715 is known to be supported using Ethernet and CDCEther.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4.7. Toshiba PCX-XXXX Cable Modems
|
|||
|
|
|||
|
The four X's in the name indicate model number. Works with Ethernet, CDCEther
|
|||
|
untested. 'out-of-the-box' with the above instructions.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4.8. Webstar Modems
|
|||
|
|
|||
|
Supported with Ethernet, CDCEther untested.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
5. Troubleshooting
|
|||
|
|
|||
|
Q: I get kicked offline about once every 4 days, for no apparent reason, and
|
|||
|
get the following error, or something similar, in the kernel log:
|
|||
|
+-----------------------------------------------------------------------------------------+
|
|||
|
| Feb 20 10:05:12 K7 kernel: CDCEther.c: rx status -110 Feb 20 10:05:12 K7 kernel: |
|
|||
|
|CDCEther.c: no repsonse in BULK IN Feb 20 10:05:12 K7 kernel: CDCEther.c: rx status -110 |
|
|||
|
|Feb 20 10:05:12 K7 kernel: CDCEther.c: no repsonse in BULK IN Feb 20 10:05:12 K7 kernel: |
|
|||
|
|CDCEther.c: rx status -110 Feb 20 10:05:12 K7 kernel: CDCEther.c: no repsonse in BULK |
|
|||
|
|IN Feb 20 10:05:12 K7 kernel: CDCEther.c: rx status -110 |
|
|||
|
+-----------------------------------------------------------------------------------------+
|
|||
|
|
|||
|
A: There are a number of reasons this may be happening, and future updates to
|
|||
|
the CDCEther driver may solve some of them. At least one user on the
|
|||
|
Linux-USB-user mailing list noticed that on at least one occasion data sent
|
|||
|
to the modem from upstream by the cable provider has triggered it. Also, the
|
|||
|
modem itself is very sensitive to power interruptions and can lose the
|
|||
|
connection if this occurs. The fix is to run ifdown ethX, where ethX is the
|
|||
|
Ethernet interface (eth0, eth1 etc.) to clear out any remaining settings that
|
|||
|
are hung, then remove the module with rmmod CDCEther, reinsert the CDCEther
|
|||
|
module and then ifup ethX . A reboot may be necessary if this doesn't fix the
|
|||
|
problem. If none of these work you probably have a real service interruption.
|
|||
|
|
|||
|
Q: I get the following messages on boot-up; are they errors?
|
|||
|
|
|||
|
+-------------------------------------------------------------------------------------+
|
|||
|
| Can't use |
|
|||
|
|SetEthernetMulticastFilters request Mar 2 11:00:52 K7 kernel: CDCEther.c: Ethernet |
|
|||
|
|information found at device configuration. Trying to use it anyway. Mar 2 11:00:52 |
|
|||
|
|K7 kernel: CDCEther.c: Imperfect filtering support - need sw hashing |
|
|||
|
+-------------------------------------------------------------------------------------+
|
|||
|
|
|||
|
A: No. The multicast message is pertaining to Multicast support in the
|
|||
|
kernel, which is optional and not necessary for the proper functioning of
|
|||
|
this modem. The message about 'Ethernet Information' is a design bug in the
|
|||
|
modem and can be ignored. As for the 'Imperfect filtering support, to quote
|
|||
|
Brad Hards:
|
|||
|
|
|||
|
"This is a bit difficult to explain - I assume that you know what
|
|||
|
multicasting is - when you join a multicast group, this can be handled by the
|
|||
|
networking device so that other multicast traffic doesn't cause interrupts.
|
|||
|
That is called 'perfect filtering.' However sometimes the number of multicast
|
|||
|
addresses exceeds the number of filters that you have. This leads to
|
|||
|
'imperfect filtering,' which can cut down the number of interrupts, but you
|
|||
|
still need to do some work in the networking stack. Then you get to the
|
|||
|
typical cable modem implementation, and there is not filtering at all. Every
|
|||
|
multicast packet goes to the host to be filtered. This doesn't normally
|
|||
|
matter though, because the cable modem is a point to point link."
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
A. Gnu Free Documentation License
|
|||
|
|
|||
|
Version 1.2, November 2002
|
|||
|
|
|||
|
Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. 59 Temple Place,
|
|||
|
Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and
|
|||
|
distribute verbatim copies of this license document, but changing it is not
|
|||
|
allowed.
|
|||
|
|
|||
|
0. PREAMBLE
|
|||
|
|
|||
|
The purpose of this License is to make a manual, textbook, or other
|
|||
|
functional and useful document "free" in the sense of freedom: to assure
|
|||
|
everyone the effective freedom to copy and redistribute it, with or without
|
|||
|
modifying it, either commercially or noncommercially. Secondarily, this
|
|||
|
License preserves for the author and publisher a way to get credit for their
|
|||
|
work, while not being considered responsible for modifications made by
|
|||
|
others.
|
|||
|
|
|||
|
This License is a kind of "copyleft", which means that derivative works of
|
|||
|
the document must themselves be free in the same sense. It complements the
|
|||
|
GNU General Public License, which is a copyleft cense designed for free
|
|||
|
software.
|
|||
|
|
|||
|
We have designed this License in order to use it for manuals for free
|
|||
|
software, because free software needs free documentation: a free program
|
|||
|
should come with manuals providing the same freedoms that the software does.
|
|||
|
But this License is not limited to software manuals; it can be used for any
|
|||
|
textual work, regardless of subject matter or whether it is published as a
|
|||
|
printed book. We recommend this License principally for works whose purpose
|
|||
|
is instruction or reference.
|
|||
|
|
|||
|
1. APPLICABILITY AND DEFINITIONS
|
|||
|
|
|||
|
This License applies to any manual or other work, in any medium, that
|
|||
|
contains a notice placed by the copyright holder saying it can be distributed
|
|||
|
under the terms of this License. Such a notice grants a world-wide,
|
|||
|
royalty-free license, unlimited in duration, to use that work under the
|
|||
|
conditions stated herein. The "Document", below, refers to any such manual or
|
|||
|
work. Any member of the public is a licensee, and is addressed as "you". You
|
|||
|
accept the license if you copy, modify or distribute the work in a way
|
|||
|
requiring permission under copyright law.
|
|||
|
|
|||
|
A "Modified Version" of the Document means any work containing the Document
|
|||
|
or a portion of it, either copied verbatim, or with modifications and/or
|
|||
|
translated into another language.
|
|||
|
|
|||
|
A "Secondary Section" is a named appendix or a front-matter section of the
|
|||
|
Document that deals exclusively with the relationship of the publishers or
|
|||
|
authors of the Document to the Document's overall subject (or to related
|
|||
|
matters) and contains nothing that could fall directly within that overall
|
|||
|
subject. (Thus, if the Document is in part a textbook of mathematics, a
|
|||
|
Secondary Section may not explain any mathematics.) The relationship could be
|
|||
|
a matter of historical connection with the subject or with related matters,
|
|||
|
or of legal, commercial, philosophical, ethical or political position
|
|||
|
regarding them.
|
|||
|
|
|||
|
The "Invariant Sections" are certain Secondary Sections whose titles are
|
|||
|
designated, as being those of Invariant Sections, in the notice that says
|
|||
|
that the Document is released under this License. If a section does not fit
|
|||
|
the above definition of Secondary then it is not allowed to be designated as
|
|||
|
Invariant. The Document may contain zero Invariant Sections. If the Document
|
|||
|
does not identify any Invariant Sections then there are none.
|
|||
|
|
|||
|
The "Cover Texts" are certain short passages of text that are listed, as
|
|||
|
Front-Cover Texts or Back-Cover Texts, in the notice that says that the
|
|||
|
Document is released under this License. A Front-Cover Text may be at most 5
|
|||
|
words, and a Back-Cover Text may be at most 25 words.
|
|||
|
|
|||
|
A "Transparent" copy of the Document means a machine-readable copy,
|
|||
|
represented in a format whose specification is available to the general
|
|||
|
public, that is suitable for revising the document straightforwardly with
|
|||
|
generic text editors or (for images composed of pixels) generic paint
|
|||
|
programs or (for drawings) some widely available drawing editor, and that is
|
|||
|
suitable for input to text formatters or for automatic translation to a
|
|||
|
variety of formats suitable for input to text formatters. A copy made in an
|
|||
|
otherwise Transparent file format whose markup, or absence of markup, has
|
|||
|
been arranged to thwart or discourage subsequent modification by readers is
|
|||
|
not Transparent. An image format is not Transparent if used for any
|
|||
|
substantial amount of text. A copy that is not "Transparent" is called
|
|||
|
"Opaque".
|
|||
|
|
|||
|
Examples of suitable formats for Transparent copies include plain ASCII
|
|||
|
without markup, Texinfo input format, LaTeX input format, SGML or XML using a
|
|||
|
publicly available DTD, and standard-conforming simple HTML, PostScript or
|
|||
|
PDF designed for human modification. Examples of transparent image formats
|
|||
|
include PNG, XCF and JPG. Opaque formats include proprietary formats that can
|
|||
|
be read and edited only by proprietary word processors, SGML or XML for which
|
|||
|
the DTD and/or processing tools are not generally available, and the
|
|||
|
machine-generated HTML, PostScript or PDF produced by some word processors
|
|||
|
for output purposes only.
|
|||
|
|
|||
|
The "Title Page" means, for a printed book, the title page itself, plus such
|
|||
|
following pages as are needed to hold, legibly, the material this License
|
|||
|
requires to appear in the title page. For works in formats which do not have
|
|||
|
any title page as such, "Title Page" means the text near the most prominent
|
|||
|
appearance of the work's title, preceding the beginning of the body of the
|
|||
|
text.
|
|||
|
|
|||
|
A section "Entitled XYZ" means a named subunit of the Document whose title
|
|||
|
either is precisely XYZ or contains XYZ in parentheses following text that
|
|||
|
translates XYZ in another language. (Here XYZ stands for a specific section
|
|||
|
name mentioned below, such as "Acknowledgements", "Dedications",
|
|||
|
"Endorsements", or "History".) To "Preserve the Title" of such a section when
|
|||
|
you modify the Document means that it remains a section "Entitled XYZ"
|
|||
|
according to this definition.
|
|||
|
|
|||
|
The Document may include Warranty Disclaimers next to the notice which states
|
|||
|
that this License applies to the Document. These Warranty Disclaimers are
|
|||
|
considered to be included by reference in this License, but only as regards
|
|||
|
disclaiming warranties: any other implication that these Warranty Disclaimers
|
|||
|
may have is void and has no effect on the meaning of this License.
|
|||
|
|
|||
|
2. VERBATIM COPYING
|
|||
|
|
|||
|
You may copy and distribute the Document in any medium, either commercially
|
|||
|
or noncommercially, provided that this License, the copyright notices, and
|
|||
|
the license notice saying this License applies to the Document are reproduced
|
|||
|
in all copies, and that you add no other conditions whatsoever to those of
|
|||
|
this License. You may not use technical measures to obstruct or control the
|
|||
|
reading or further copying of the copies you make or distribute. However, you
|
|||
|
may accept compensation in exchange for copies. If you distribute a large
|
|||
|
enough number of copies you must also follow the conditions in section 3.
|
|||
|
|
|||
|
You may also lend copies, under the same conditions stated above, and you may
|
|||
|
publicly display copies.
|
|||
|
|
|||
|
3. COPYING IN QUANTITY
|
|||
|
|
|||
|
If you publish printed copies (or copies in media that commonly have printed
|
|||
|
covers) of the Document, numbering more than 100, and the Document's license
|
|||
|
notice requires Cover Texts, you must enclose the copies in covers that
|
|||
|
carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the
|
|||
|
front cover, and Back-Cover Texts on the back cover. Both covers must also
|
|||
|
clearly and legibly identify you as the publisher of these copies. The front
|
|||
|
cover must present the full title with all words of the title equally
|
|||
|
prominent and visible. You may add other material on the covers in addition.
|
|||
|
Copying with changes limited to the covers, as long as they preserve the
|
|||
|
title of the Document and satisfy these conditions, can be treated as
|
|||
|
verbatim copying in other respects.
|
|||
|
|
|||
|
If the required texts for either cover are too voluminous to fit legibly, you
|
|||
|
should put the first ones listed (as many as fit reasonably) on the actual
|
|||
|
cover, and continue the rest onto adjacent pages.
|
|||
|
|
|||
|
If you publish or distribute Opaque copies of the Document numbering more
|
|||
|
than 100, you must either include a machine-readable Transparent copy along
|
|||
|
with each Opaque copy, or state in or with each Opaque copy a
|
|||
|
computer-network location from which the general network-using public has
|
|||
|
access to download using public-standard network protocols a complete
|
|||
|
Transparent copy of the Document, free of added material. If you use the
|
|||
|
latter option, you must take reasonably prudent steps, when you begin
|
|||
|
distribution of Opaque copies in quantity, to ensure that this Transparent
|
|||
|
copy will remain thus accessible at the stated location until at least one
|
|||
|
year after the last time you distribute an Opaque copy (directly or through
|
|||
|
your agents or retailers) of that edition to the public.
|
|||
|
|
|||
|
It is requested, but not required, that you contact the authors of the
|
|||
|
Document well before redistributing any large number of copies, to give them
|
|||
|
a chance to provide you with an updated version of the Document.
|
|||
|
|
|||
|
4. MODIFICATIONS
|
|||
|
|
|||
|
You may copy and distribute a Modified Version of the Document under the
|
|||
|
conditions of sections 2 and 3 above, provided that you release the Modified
|
|||
|
Version under precisely this License, with the Modified Version filling the
|
|||
|
role of the Document, thus licensing distribution and modification of the
|
|||
|
Modified Version to whoever possesses a copy of it. In addition, you must do
|
|||
|
these things in the Modified Version:
|
|||
|
|
|||
|
A. Use in the Title Page (and on the covers, if any) a title distinct from
|
|||
|
that of the Document, and from those of previous versions (which should, if
|
|||
|
there were any, be listed in the History section of the Document). You may
|
|||
|
use the same title as a previous version if the original publisher of that
|
|||
|
version gives permission.
|
|||
|
|
|||
|
B. List on the Title Page, as authors, one or more persons or entities
|
|||
|
responsible for authorship of the modifications in the Modified Version,
|
|||
|
together with at least five of the principal authors of the Document (all of
|
|||
|
its principal authors, if it has fewer than five), unless they release you
|
|||
|
from this requirement.
|
|||
|
|
|||
|
C. State on the Title page the name of the publisher of the Modified Version,
|
|||
|
as the publisher.
|
|||
|
|
|||
|
D. Preserve all the copyright notices of the Document.
|
|||
|
|
|||
|
E. Add an appropriate copyright notice for your modifications adjacent to the
|
|||
|
other copyright notices.
|
|||
|
|
|||
|
F. Include, immediately after the copyright notices, a license notice giving
|
|||
|
the public permission to use the Modified Version under the terms of this
|
|||
|
License, in the form shown in the Addendum below.
|
|||
|
|
|||
|
G. Preserve in that license notice the full lists of Invariant Sections and
|
|||
|
required Cover Texts given in the Document's license notice.
|
|||
|
|
|||
|
H. Include an unaltered copy of this License.
|
|||
|
|
|||
|
I. Preserve the section Entitled "History", Preserve its Title, and add to it
|
|||
|
an item stating at least the title, year, new authors, and publisher of the
|
|||
|
Modified Version as given on the Title Page. If there is no section Entitled
|
|||
|
"History" in the Document, create one stating the title, year, authors, and
|
|||
|
publisher of the Document as given on its Title Page, then add an item
|
|||
|
describing the Modified Version as stated in the previous sentence.
|
|||
|
|
|||
|
J. Preserve the network location, if any, given in the Document for public
|
|||
|
access to a Transparent copy of the Document, and likewise the network
|
|||
|
locations given in the Document for previous versions it was based on. These
|
|||
|
may be placed in the "History" section. You may omit a network location for a
|
|||
|
work that was published at least four years before the Document itself, or if
|
|||
|
the original publisher of the version it refers to gives permission.
|
|||
|
|
|||
|
K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the
|
|||
|
Title of the section, and preserve in the section all the substance and tone
|
|||
|
of each of the contributor acknowledgements and/or dedications given therein.
|
|||
|
|
|||
|
L. Preserve all the Invariant Sections of the Document, unaltered in their
|
|||
|
text and in their titles. Section numbers or the equivalent are not
|
|||
|
considered part of the section titles.
|
|||
|
|
|||
|
M. Delete any section Entitled "Endorsements". Such a section may not be
|
|||
|
included in the Modified Version.
|
|||
|
|
|||
|
N. Do not retitle any existing section to be Entitled "Endorsements" or to
|
|||
|
conflict in title with any Invariant Section.
|
|||
|
|
|||
|
O. Preserve any Warranty Disclaimers. If the Modified Version includes new
|
|||
|
front-matter sections or appendices that qualify as Secondary Sections and
|
|||
|
contain no material copied from the Document, you may at your option
|
|||
|
designate some or all of these sections as invariant. To do this, add their
|
|||
|
titles to the list of Invariant Sections in the Modified Version's license
|
|||
|
notice. These titles must be distinct from any other section titles. You may
|
|||
|
add a section Entitled "Endorsements", provided it contains nothing but
|
|||
|
endorsements of your Modified Version by various parties--for example,
|
|||
|
statements of peer review or that the text has been approved by an
|
|||
|
organization as the authoritative definition of a standard.
|
|||
|
|
|||
|
You may add a passage of up to five words as a Front-Cover Text, and a
|
|||
|
passage of up to 25 words as a Back-Cover Text, to the end of the list of
|
|||
|
Cover Texts in the Modified Version. Only one passage of Front-Cover Text and
|
|||
|
one of Back-Cover Text may be added by (or through arrangements made by) any
|
|||
|
one entity. If the Document already includes a cover text for the same cover,
|
|||
|
previously added by you or by arrangement made by the same entity you are
|
|||
|
acting on behalf of, you may not add another; but you may replace the old
|
|||
|
one, on explicit permission from the previous publisher that added the old
|
|||
|
one.
|
|||
|
|
|||
|
The author(s) and publisher(s) of the Document do not by this License give
|
|||
|
permission to use their names for publicity for or to assert or imply
|
|||
|
endorsement of any Modified Version.
|
|||
|
|
|||
|
5. COMBINING DOCUMENTS
|
|||
|
|
|||
|
You may combine the Document with other documents released under this
|
|||
|
License, under the terms defined in section 4 above for modified versions,
|
|||
|
provided that you include in the combination all of the Invariant Sections of
|
|||
|
all of the original documents, unmodified, and list them all as Invariant
|
|||
|
Sections of your combined work in its license notice, and that you preserve
|
|||
|
all their Warranty Disclaimers.
|
|||
|
|
|||
|
The combined work need only contain one copy of this License, and multiple
|
|||
|
identical Invariant Sections may be replaced with a single copy. If there are
|
|||
|
multiple Invariant Sections with the same name but different contents, make
|
|||
|
the title of each such section unique by adding at the end of it, in
|
|||
|
parentheses, the name of the original author or publisher of that section if
|
|||
|
known, or else a unique number. Make the same adjustment to the section
|
|||
|
titles in the list of Invariant Sections in the license notice of the
|
|||
|
combined work.
|
|||
|
|
|||
|
In the combination, you must combine any sections Entitled "History" in the
|
|||
|
various original documents, forming one section Entitled "History"; likewise
|
|||
|
combine any sections Entitled "Acknowledgements", and any sections Entitled
|
|||
|
"Dedications". You must delete all sections Entitled "Endorsements".
|
|||
|
|
|||
|
6. COLLECTIONS OF DOCUMENTS
|
|||
|
|
|||
|
You may make a collection consisting of the Document and other documents
|
|||
|
released under this License, and replace the individual copies of this
|
|||
|
License in the various documents with a single copy that is included in the
|
|||
|
collection, provided that you follow the rules of this License for verbatim
|
|||
|
copying of each of the documents in all other respects.
|
|||
|
|
|||
|
You may extract a single document from such a collection, and distribute it
|
|||
|
individually under this License, provided you insert a copy of this License
|
|||
|
into the extracted document, and follow this License in all other respects
|
|||
|
regarding verbatim copying of that document.
|
|||
|
|
|||
|
7. AGGREGATION WITH INDEPENDENT WORKS
|
|||
|
|
|||
|
A compilation of the Document or its derivatives with other separate and
|
|||
|
independent documents or works, in or on a volume of a storage or
|
|||
|
distribution medium, is called an "aggregate" if the copyright resulting from
|
|||
|
the compilation is not used to limit the legal rights of the compilation's
|
|||
|
users beyond what the individual works permit. When the Document is included
|
|||
|
in an aggregate, this License does not apply to the other works in the
|
|||
|
aggregate which are not themselves derivative works of the Document.
|
|||
|
|
|||
|
If the Cover Text requirement of section 3 is applicable to these copies of
|
|||
|
the Document, then if the Document is less than one half of the entire
|
|||
|
aggregate, the Document's Cover Texts may be placed on covers that bracket
|
|||
|
the Document within the aggregate, or the electronic equivalent of covers if
|
|||
|
the Document is in electronic form. Otherwise they must appear on printed
|
|||
|
covers that bracket the whole aggregate.
|
|||
|
|
|||
|
8. TRANSLATION
|
|||
|
|
|||
|
Translation is considered a kind of modification, so you may distribute
|
|||
|
translations of the Document under the terms of section 4. Replacing
|
|||
|
Invariant Sections with translations requires special permission from their
|
|||
|
copyright holders, but you may include translations of some or all Invariant
|
|||
|
Sections in addition to the original versions of these Invariant Sections.
|
|||
|
You may include a translation of this License, and all the license notices in
|
|||
|
the Document, and any Warranty Disclaimers, provided that you also include
|
|||
|
the original English version of this License and the original versions of
|
|||
|
those notices and disclaimers. In case of a disagreement between the
|
|||
|
translation and the original version of this License or a notice or
|
|||
|
disclaimer, the original version will prevail.
|
|||
|
|
|||
|
If a section in the Document is Entitled "Acknowledgements", "Dedications",
|
|||
|
or "History", the requirement (section 4) to Preserve its Title (section 1)
|
|||
|
will typically require changing the actual title.
|
|||
|
|
|||
|
9. TERMINATION
|
|||
|
|
|||
|
You may not copy, modify, sublicense, or distribute the Document except as
|
|||
|
expressly provided for under this License. Any other attempt to copy, modify,
|
|||
|
sublicense or distribute the Document is void, and will automatically
|
|||
|
terminate your rights under this License. However, parties who have received
|
|||
|
copies, or rights, from you under this License will not have their licenses
|
|||
|
terminated so long as such parties remain in full compliance.
|
|||
|
|
|||
|
10. FUTURE REVISIONS OF THIS LICENSE
|
|||
|
|
|||
|
The Free Software Foundation may publish new, revised versions of the GNU
|
|||
|
Free Documentation License from time to time. Such new versions will be
|
|||
|
similar in spirit to the present version, but may differ in detail to address
|
|||
|
new problems or concerns. See http://www.gnu.org/copyleft/.
|
|||
|
|
|||
|
Each version of the License is given a distinguishing version number. If the
|
|||
|
Document specifies that a particular numbered version of this License "or any
|
|||
|
later version" applies to it, you have the option of following the terms and
|
|||
|
conditions either of that specified version or of any later version that has
|
|||
|
been published (not as a draft) by the Free Software Foundation. If the
|
|||
|
Document does not specify a version number of this License, you may choose
|
|||
|
any version ever published (not as a draft) by the Free Software Foundation.
|
|||
|
|
|||
|
ADDENDUM: How to use this License for your documents
|
|||
|
|
|||
|
To use this License in a document you have written, include a copy of the
|
|||
|
License in the document and put the following copyright and license notices
|
|||
|
just after the title page:
|
|||
|
|
|||
|
Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/
|
|||
|
or modify this document under the terms of the GNU Free Documentation
|
|||
|
License, Version 1.2 or any later version published by the Free Software
|
|||
|
Foundation; with no Invariant Sections, no Front-Cover Texts, and no
|
|||
|
Back-Cover Texts. A copy of the license is included in the section entitled
|
|||
|
"GNU Free Documentation License".
|
|||
|
|
|||
|
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
|
|||
|
replace the "with...Texts." line with this: with the Invariant Sections being
|
|||
|
LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the
|
|||
|
Back-Cover Texts being LIST. If you have Invariant Sections without Cover
|
|||
|
Texts, or some other combination of the three, merge those two alternatives
|
|||
|
to suit the situation.
|
|||
|
|
|||
|
If your document contains nontrivial examples of program code, we recommend
|
|||
|
releasing these examples in parallel under your choice of free software
|
|||
|
license, such as the GNU General Public License, to permit their use in free
|
|||
|
software.
|