123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208 |
- sb1000 is a module network device driver for the General Instrument (also known
- as NextLevel) SURFboard1000 internal cable modem board. This is an ISA card
- which is used by a number of cable TV companies to provide cable modem access.
- It's a one-way downstream-only cable modem, meaning that your upstream net link
- is provided by your regular phone modem.
- This driver was written by Franco Venturi <fventuri@mediaone.net>. He deserves
- a great deal of thanks for this wonderful piece of code!
- -----------------------------------------------------------------------------
- Support for this device is now a part of the standard Linux kernel. The
- driver source code file is drivers/net/sb1000.c. In addition to this
- you will need:
- 1.) The "cmconfig" program. This is a utility which supplements "ifconfig"
- to configure the cable modem and network interface (usually called "cm0");
- and
- 2.) Several PPP scripts which live in /etc/ppp to make connecting via your
- cable modem easy.
- These utilities can be obtained from:
- http://www.jacksonville.net/~fventuri/
- in Franco's original source code distribution .tar.gz file. Support for
- the sb1000 driver can be found at:
- http://web.archive.org/web/*/http://home.adelphia.net/~siglercm/sb1000.html
- http://web.archive.org/web/*/http://linuxpower.cx/~cable/
- along with these utilities.
- 3.) The standard isapnp tools. These are necessary to configure your SB1000
- card at boot time (or afterwards by hand) since it's a PnP card.
- If you don't have these installed as a standard part of your Linux
- distribution, you can find them at:
- http://www.roestock.demon.co.uk/isapnptools/
- or check your Linux distribution binary CD or their web site. For help with
- isapnp, pnpdump, or /etc/isapnp.conf, go to:
- http://www.roestock.demon.co.uk/isapnptools/isapnpfaq.html
- -----------------------------------------------------------------------------
- To make the SB1000 card work, follow these steps:
- 1.) Run `make config', or `make menuconfig', or `make xconfig', whichever
- you prefer, in the top kernel tree directory to set up your kernel
- configuration. Make sure to say "Y" to "Prompt for development drivers"
- and to say "M" to the sb1000 driver. Also say "Y" or "M" to all the standard
- networking questions to get TCP/IP and PPP networking support.
- 2.) *BEFORE* you build the kernel, edit drivers/net/sb1000.c. Make sure
- to redefine the value of READ_DATA_PORT to match the I/O address used
- by isapnp to access your PnP cards. This is the value of READPORT in
- /etc/isapnp.conf or given by the output of pnpdump.
- 3.) Build and install the kernel and modules as usual.
- 4.) Boot your new kernel following the usual procedures.
- 5.) Set up to configure the new SB1000 PnP card by capturing the output
- of "pnpdump" to a file and editing this file to set the correct I/O ports,
- IRQ, and DMA settings for all your PnP cards. Make sure none of the settings
- conflict with one another. Then test this configuration by running the
- "isapnp" command with your new config file as the input. Check for
- errors and fix as necessary. (As an aside, I use I/O ports 0x110 and
- 0x310 and IRQ 11 for my SB1000 card and these work well for me. YMMV.)
- Then save the finished config file as /etc/isapnp.conf for proper configuration
- on subsequent reboots.
- 6.) Download the original file sb1000-1.1.2.tar.gz from Franco's site or one of
- the others referenced above. As root, unpack it into a temporary directory and
- do a `make cmconfig' and then `install -c cmconfig /usr/local/sbin'. Don't do
- `make install' because it expects to find all the utilities built and ready for
- installation, not just cmconfig.
- 7.) As root, copy all the files under the ppp/ subdirectory in Franco's
- tar file into /etc/ppp, being careful not to overwrite any files that are
- already in there. Then modify ppp@gi-on to set the correct login name,
- phone number, and frequency for the cable modem. Also edit pap-secrets
- to specify your login name and password and any site-specific information
- you need.
- 8.) Be sure to modify /etc/ppp/firewall to use ipchains instead of
- the older ipfwadm commands from the 2.0.x kernels. There's a neat utility to
- convert ipfwadm commands to ipchains commands:
- http://users.dhp.com/~whisper/ipfwadm2ipchains/
- You may also wish to modify the firewall script to implement a different
- firewalling scheme.
- 9.) Start the PPP connection via the script /etc/ppp/ppp@gi-on. You must be
- root to do this. It's better to use a utility like sudo to execute
- frequently used commands like this with root permissions if possible. If you
- connect successfully the cable modem interface will come up and you'll see a
- driver message like this at the console:
- cm0: sb1000 at (0x110,0x310), csn 1, S/N 0x2a0d16d8, IRQ 11.
- sb1000.c:v1.1.2 6/01/98 (fventuri@mediaone.net)
- The "ifconfig" command should show two new interfaces, ppp0 and cm0.
- The command "cmconfig cm0" will give you information about the cable modem
- interface.
- 10.) Try pinging a site via `ping -c 5 www.yahoo.com', for example. You should
- see packets received.
- 11.) If you can't get site names (like www.yahoo.com) to resolve into
- IP addresses (like 204.71.200.67), be sure your /etc/resolv.conf file
- has no syntax errors and has the right nameserver IP addresses in it.
- If this doesn't help, try something like `ping -c 5 204.71.200.67' to
- see if the networking is running but the DNS resolution is where the
- problem lies.
- 12.) If you still have problems, go to the support web sites mentioned above
- and read the information and documentation there.
- -----------------------------------------------------------------------------
- Common problems:
- 1.) Packets go out on the ppp0 interface but don't come back on the cm0
- interface. It looks like I'm connected but I can't even ping any
- numerical IP addresses. (This happens predominantly on Debian systems due
- to a default boot-time configuration script.)
- Solution -- As root `echo 0 > /proc/sys/net/ipv4/conf/cm0/rp_filter' so it
- can share the same IP address as the ppp0 interface. Note that this
- command should probably be added to the /etc/ppp/cablemodem script
- *right*between* the "/sbin/ifconfig" and "/sbin/cmconfig" commands.
- You may need to do this to /proc/sys/net/ipv4/conf/ppp0/rp_filter as well.
- If you do this to /proc/sys/net/ipv4/conf/default/rp_filter on each reboot
- (in rc.local or some such) then any interfaces can share the same IP
- addresses.
- 2.) I get "unresolved symbol" error messages on executing `insmod sb1000.o'.
- Solution -- You probably have a non-matching kernel source tree and
- /usr/include/linux and /usr/include/asm header files. Make sure you
- install the correct versions of the header files in these two directories.
- Then rebuild and reinstall the kernel.
- 3.) When isapnp runs it reports an error, and my SB1000 card isn't working.
- Solution -- There's a problem with later versions of isapnp using the "(CHECK)"
- option in the lines that allocate the two I/O addresses for the SB1000 card.
- This first popped up on RH 6.0. Delete "(CHECK)" for the SB1000 I/O addresses.
- Make sure they don't conflict with any other pieces of hardware first! Then
- rerun isapnp and go from there.
- 4.) I can't execute the /etc/ppp/ppp@gi-on file.
- Solution -- As root do `chmod ug+x /etc/ppp/ppp@gi-on'.
- 5.) The firewall script isn't working (with 2.2.x and higher kernels).
- Solution -- Use the ipfwadm2ipchains script referenced above to convert the
- /etc/ppp/firewall script from the deprecated ipfwadm commands to ipchains.
- 6.) I'm getting *tons* of firewall deny messages in the /var/kern.log,
- /var/messages, and/or /var/syslog files, and they're filling up my /var
- partition!!!
- Solution -- First, tell your ISP that you're receiving DoS (Denial of Service)
- and/or portscanning (UDP connection attempts) attacks! Look over the deny
- messages to figure out what the attack is and where it's coming from. Next,
- edit /etc/ppp/cablemodem and make sure the ",nobroadcast" option is turned on
- to the "cmconfig" command (uncomment that line). If you're not receiving these
- denied packets on your broadcast interface (IP address xxx.yyy.zzz.255
- typically), then someone is attacking your machine in particular. Be careful
- out there....
- 7.) Everything seems to work fine but my computer locks up after a while
- (and typically during a lengthy download through the cable modem)!
- Solution -- You may need to add a short delay in the driver to 'slow down' the
- SURFboard because your PC might not be able to keep up with the transfer rate
- of the SB1000. To do this, it's probably best to download Franco's
- sb1000-1.1.2.tar.gz archive and build and install sb1000.o manually. You'll
- want to edit the 'Makefile' and look for the 'SB1000_DELAY'
- define. Uncomment those 'CFLAGS' lines (and comment out the default ones)
- and try setting the delay to something like 60 microseconds with:
- '-DSB1000_DELAY=60'. Then do `make' and as root `make install' and try
- it out. If it still doesn't work or you like playing with the driver, you may
- try other numbers. Remember though that the higher the delay, the slower the
- driver (which slows down the rest of the PC too when it is actively
- used). Thanks to Ed Daiga for this tip!
- -----------------------------------------------------------------------------
- Credits: This README came from Franco Venturi's original README file which is
- still supplied with his driver .tar.gz archive. I and all other sb1000 users
- owe Franco a tremendous "Thank you!" Additional thanks goes to Carl Patten
- and Ralph Bonnell who are now managing the Linux SB1000 web site, and to
- the SB1000 users who reported and helped debug the common problems listed
- above.
- Clemmitt Sigler
- csigler@vt.edu
|