summaryrefslogtreecommitdiffstats
path: root/Documentation/networking/sis900.txt
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-11-28 03:58:46 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-11-28 03:58:46 +0000
commitb63ad0882a16a5d28003e57f2b0b81dee3fb322b (patch)
tree0a343ce219e2b8b38a5d702d66032c57b83d9720 /Documentation/networking/sis900.txt
parenta9d7bff9a84dba79609a0002e5321b74c4d64c64 (diff)
Merge with 2.4.0-test11.
Diffstat (limited to 'Documentation/networking/sis900.txt')
-rw-r--r--Documentation/networking/sis900.txt711
1 files changed, 244 insertions, 467 deletions
diff --git a/Documentation/networking/sis900.txt b/Documentation/networking/sis900.txt
index 6c26c9927..b6de27947 100644
--- a/Documentation/networking/sis900.txt
+++ b/Documentation/networking/sis900.txt
@@ -1,468 +1,245 @@
- SiS 900/7016 Fast Ethernet Device Driver
- by Ollie Lho (ollie@sis.com.tw)
- November 4, 1999. Document Revision: 0.2
-
- This document gives some information on installation and usage of SiS
- 900/7016 device driver under Linux.
- ______________________________________________________________________
-
- Table of Contents
-
-
- 1. Introduction
-
- 2. License
-
- 3. Changes
-
- 4. Tested Environment
-
- 5. Files in This Package
-
- 6. Installation
-
- 6.1 Kernel version later than 2.2.11 and 2.3.15
- 6.1.1 Building the driver as loadable module
- 6.1.2 Building the driver into kernel
- 6.2 Earlier Kernel Version in 2.2.x and 2.3.x Series
-
- 7. Known Problems and Bugs
-
- 8. Revision History
-
- 9. Acknowledgements
-
-
-
- ______________________________________________________________________
-
- 1. Introduction
-
- This document describes the revision 1.06 of SiS 900/7016 Fast
- Ethernet device driver under Linux. The driver is developed by Silicon
- Integrated System Corp. and distributed freely under the GNU General
- Public License (GPL). The driver can be compiled as a loadable module
- and used under Linux kernel version 2.2.x. With minimal changes, the
- driver can also be used under 2.3.x kernel, please see section
- ``Installation''. If you are intended to use the driver for earlier
- kernels, you are on your own.
-
- The driver is tested with usual TCP/IP applications including FTP,
- Telnet, Netscape etc. and is used constantly by the developers.
-
- Please send all comments/fixes/questions to Ollie Lho.
-
-
- 2. License
-
-
-
-
-
-
-
-
-
-
- Copyright (C) 1999 Silicon Integrated System Corp.
-
- 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.
-
- 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.
-
- 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-
-
-
-
- 3. Changes
-
- Changes made in Revision 1.06
-
- 1. Separation of sis900.c and sis900.h in order to move most constant
- definition to sis900.h (many of those constants were corrected)
-
- 2. Clean up PCI detection, the pci-scan from Donald Becker were not
- used, just simple pci_find_*.
-
- 3. MII detection is modified to support multiple mii transceiver.
-
- 4. Bugs in read_eeprom, mdio_* were removed.
-
- 5. Lot of sis900 irrelevant comments were removed/changed and more
- comments were added to reflect the real situation.
-
- 6. Clean up of physical/virtual address space mess in buffer
- descriptors.
-
- 7. Better transmit/receive error handling.
-
- 8. The driver now uses zero-copy single buffer management scheme to
- improve performance.
-
- 9. Names of variables were changed to be more consistent.
-
- 10.
- Clean up of auo-negotiation and timer code.
-
- 11.
- Automatic detection and change of PHY on the fly.
-
-
- 4. Tested Environment
-
- This driver is developed on the following hardware
-
- o Intel Celeron 336 with SiS 620 (rev 02) chipset
-
- o SiS 900 (rev 01) and SiS 7016/7014 Fast Ethernet Card
-
- and tested with these software environments
-
- o Red Hat Linux version 6.0
-
- o Linux kernel version 2.2.13
-
- o Netscape version 4.6
-
- o NcFTP 3.0.0 beta 18
-
- o Samba version 2.0.3
-
-
- 5. Files in This Package
-
- In the package you can find these files:
-
-
- sis900-2.2.x.c
- Driver source for kernel 2.2.x
-
- sis900-2.3.x.c
- Driver source for kernel 2.3.x
-
- sis900.h
- Header file for both 2.2.x and 2.3.x kernel
-
- sis900.sgml
- Linux-Doc SGML source of the document
-
-
- 6. Installation
-
- Silicon Integrated System Corp. is cooperating closely with core Linux
- Kernel developers. The revisions of SiS 900 driver are distributed by
- the usual channels for kernel tar files and patches. Those kernel tar
- files for official kernel and patches for kernel pre-release can be
- download at official kernel ftp site
- <http://ftp.kernel.org/pub/linux/kernel/> and its mirrors. The 1.06
- revision can be found in kernel version later than 2.3.15 and
- pre-2.2.14. If you have no prior experience in networking under
- Linux, please read Ethernet HOWTO and Networking HOWTO available from
- Linux Documentation Project (LDP).
-
- The installation procedure are different according to your kernel
- versions.
-
-
- 6.1. Kernel version later than 2.2.11 and 2.3.15
-
- The driver is bundled in release later than 2.2.11 and 2.3.15 so this
- is the most easy case. Be sure you have the appropriate packages for
- compiling kernel source. Those packages are listed in
- Document/Changes in kernel source distribution. There are two
- alternative ways to install the driver
-
-
- 6.1.1. Building the driver as loadable module
-
- To build the driver as a loadable kernel module you have to
- reconfigure the kernel to activate network support by
-
-
-
- make config
-
-
-
-
- Choose "Network Device Support" to "Y" and "Ethernet Support" to "Y".
- Then you have to choose "SiS 900 Fast Ethernet Adapter Support" to
- "M".
-
- After reconfiguring the kernel, you can make the driver module by
-
-
- make modules
-
-
-
-
- The driver should be compiled with no errors. After compiling the
- driver, the driver can be installed to proper place by
-
-
-
- make modules_install
-
-
-
-
- Load the driver into kernel by
-
-
-
- insmod sis900
-
-
-
-
- When loading the driver into memory, some information message can be
- view by
-
-
-
- dmesg
-
-
-
-
- or
-
-
- cat /var/log/message
-
-
-
-
- If the driver is loaded properly you will have messages similar to
- this:
-
-
-
- sis900.c: v1.06 11/04/99
- eth0: SiS 900 PCI Fast Ethernet at 0xd000, IRQ 10, 00:00:e8:83:7f:a4.
- eth0: SiS 900 Internal MII PHY transceiver found at address 1.
- eth0: Using SiS 900 Internal MII PHY as default
-
-
-
-
- showing the version of the driver and the results of probing routine.
-
- Once the driver is loaded, network can be brought up by
-
-
-
- /sbin/ifconfig eth0 IPADDR broadcast BROADCAST netmask NETMASK
-
-
-
-
-
- where IPADDR, BROADCAST, NETMASK are your IP address, broadcast
- address and netmask respectively. For more information on how to
- configure network interface, please refer to Networking HOWTO.
-
- The link status is also shown by kernel messages. For example, after
- the network interface is activated, you may have the message:
-
-
-
- eth0: Media Link On 100mbps full-duplex
-
-
-
-
- If you try to unplug the twist pair (TP) cable you will get
-
-
-
- eth0: Media Link Off
-
-
-
-
- indicating that the link is failed.
-
-
- 6.1.2. Building the driver into kernel
-
- If you want to make the driver into kernel, choose "Y" rather than "M"
- on "SiS 900 Fast Ethernet Adapter Support" when configuring the
- kernel. Build the kernel image in the usual way
-
-
-
- make dep
-
- make clean
-
- make bzlilo
-
-
-
-
- Next time the system reboot, you have the driver in memory.
-
-
- 6.2. Earlier Kernel Version in 2.2.x and 2.3.x Series
-
- Installing the driver for earlier kernels in 2.2.x and 2.3.x series
- requires a little bit more work. First you have to copy sis900-2.x.x.c
- to /usr/src/linux/drivers/net/ and you have to modify some files
- manually (sorry !! no patch available !!)
-
- in Space.c, add
-
-
- extern int sis900_probe(struct device *dev);
-
- ...
-
- #ifdef CONFIG_SIS900
- {sis900_probe,0},
- #endif
-
-
- in Config.in add
-
-
- if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
- ... //other adapter drivers
- tristate 'SiS 900 PCI Fast Ethernet Adapter Support' CONFIG_SIS900
- ... //other adapter drivers
- fi
-
-
-
-
- in Makefile add
-
-
- ifeq ($(CONFIG_SIS900),y)
- L_OBJS += sis900.o
- else
- ifeq ($(CONFIG_SIS900),m)
- M_OBJS += sis900.o
- endif
- endif
-
-
-
-
- After modifying these files, the driver can be build as described in
- the previous section.
-
-
- 7. Known Problems and Bugs
-
- There are some known problems and bugs. If you find any other bugs
- please mail to ollie@sis.com.tw
-
- 1. AM79C901 HomePNA PHY is not thoroughly tested, there may be some
- bugs in the "on the fly" change of transceiver.
-
- 2. A bug is hidden somewhere in the receive buffer management code,
- the bug causes NULL pointer reference in the kernel. This fault is
- caught before bad things happen and reported with the message:
-
-
- eth0: NULL pointer encountered in Rx ring, skipping
-
-
-
-
- which can be viewed with dmesg or cat /var/log/message.
-
-
- 8. Revision History
-
-
- o November 4, 1999, Revision 1.06, Second release, lots of clean up
- and optimization.
-
- o August 8, 1999, Revision 1.05, Initial Public Release
-
-
- 9. Acknowledgements
-
- This driver was originally derived form Donald Becker's pci-skeleton
- and rtl8139 drivers. Donald also provided various suggestion regarded
- with improvements made in revision 1.06.
-
- The 1.05 revision was created by Jim Huang, AMD 79c901 support was
- added by Chin-Shan Li.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+SiS 900/7016 Fast Ethernet Device Driver
+
+Ollie Lho
+
+Lei Chun Chang
+
+ November 16, 2000. Document Revision: 0.3
+
+ This document gives some information on installation and usage of SiS
+ 900/7016 device driver under Linux.
+ _________________________________________________________________
+ _________________________________________________________________
+
+Introduction
+
+ This document describes the revision 1.06 and 1.07 of SiS 900/7016
+ Fast Ethernet device driver under Linux. The driver is developed by
+ Silicon Integrated System Corp. and distributed freely under the GNU
+ General Public License (GPL). The driver can be compiled as a loadable
+ module and used under Linux kernel version 2.2.x. (rev. 1.06) With
+ minimal changes, the driver can also be used under 2.3.x and 2.4.x
+ kernel (rev. 1.07), please see the section called Installation. If you
+ are intended to use the driver for earlier kernels, you are on your
+ own.
+
+ The driver is tested with usual TCP/IP applications including FTP,
+ Telnet, Netscape etc. and is used constantly by the developers.
+
+ Please send all comments/fixes/questions to Lei-Chun Chang.
+ _________________________________________________________________
+
+License
+
+ Copyright (C) 1999 Silicon Integrated System Corp.
+
+ 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.
+
+ 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.
+
+ 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 U
+SA
+ _________________________________________________________________
+
+Changes
+
+ Changes made in Revision 1.07
+
+ 1. Separation of sis900.c and sis900.h in order to move most constant
+ definition to sis900.h (many of those constants were corrected)
+ 2. Clean up PCI detection, the pci-scan from Donald Becker were not
+ used, just simple pci_find_*.
+ 3. MII detection is modified to support multiple mii transceiver.
+ 4. Bugs in read_eeprom, mdio_* were removed.
+ 5. Lot of sis900 irrelevant comments were removed/changed and more
+ comments were added to reflect the real situation.
+ 6. Clean up of physical/virtual address space mess in buffer
+ descriptors.
+ 7. Better transmit/receive error handling.
+ 8. The driver now uses zero-copy single buffer management scheme to
+ improve performance.
+ 9. Names of variables were changed to be more consistent.
+ 10. Clean up of auo-negotiation and timer code.
+ 11. Automatic detection and change of PHY on the fly.
+ 12. Bug in mac probing fixed.
+ 13. Fix 630E equalier problem by modifying the equalizer workaround
+ rule.
+ 14. Support for ICS1893 10/100 Interated PHYceiver.
+ 15. Support for media select by ifconfig.
+ _________________________________________________________________
+
+Tested Environment
+
+ This driver is developed on the following hardware
+
+ * Intel Celeron 500 with SiS 630 (rev 02) chipset
+ * SiS 900 (rev 01) and SiS 7016/7014 Fast Ethernet Card
+
+ and tested with these software environments
+
+ * Red Hat Linux version 6.2
+ * Linux kernel version 2.4.0
+ * Netscape version 4.6
+ * NcFTP 3.0.0 beta 18
+ * Samba version 2.0.3
+ _________________________________________________________________
+
+Files in This Package
+
+ In the package you can find these files:
+
+ sis900.c
+ Driver source file in C
+
+ sis900.h
+ Header file for sis900.c
+
+ sis900.sgml
+ DocBook SGML source of the document
+
+ sis900.txt
+ Driver document in plain text
+ _________________________________________________________________
+
+Installation
+
+ Silicon Integrated System Corp. is cooperating closely with core Linux
+ Kernel developers. The revisions of SiS 900 driver are distributed by
+ the usuall channels for kernel tar files and patches. Those kernel tar
+ files for official kernel and patches for kernel pre-release can be
+ download at official kernel ftp site and its mirrors. The 1.06
+ revision can be found in kernel version later than 2.3.15 and
+ pre-2.2.14, and 1.07 revision can be found in kernel version 2.4.0. If
+ you have no prior experience in networking under Linux, please read
+ Ethernet HOWTO and Networking HOWTO available from Linux Documentation
+ Project (LDP).
+
+ The driver is bundled in release later than 2.2.11 and 2.3.15 so this
+ is the most easy case. Be sure you have the appropriate packages for
+ compiling kernel source. Those packages are listed in Document/Changes
+ in kernel source distribution. If you have to install the driver other
+ than those bundled in kernel release, you should have your driver file
+ sis900.c and sis900.h copied into /usr/src/linux/drivers/net/ first.
+ There are two alternative ways to install the driver
+ _________________________________________________________________
+
+Building the driver as loadable module
+
+ To build the driver as a loadable kernel module you have to
+ reconfigure the kernel to activate network support by
+
+make menuconfig
+
+ Choose "Loadable module support --->", then select "Enable loadable
+ module support".
+
+ Choose "Network Device Support --->", select "Ethernet (10 or
+ 100Mbit)". Then select "EISA, VLB, PCI and on board controllers", and
+ choose "SiS 900/7016 PCI Fast Ethernet Adapter support" to "M".
+
+ After reconfiguring the kernel, you can make the driver module by
+
+make modules
+
+ The driver should be compiled with no errors. After compiling the
+ driver, the driver can be installed to proper place by
+
+make modules_install
+
+ Load the driver into kernel by
+
+insmod sis900
+
+ When loading the driver into memory, some information message can be
+ view by
+
+dmesg
+
+ or
+cat /var/log/message
+
+ If the driver is loaded properly you will have messages similar to
+ this:
+
+sis900.c: v1.07.06 11/07/2000
+eth0: SiS 900 PCI Fast Ethernet at 0xd000, IRQ 10, 00:00:e8:83:7f:a4.
+eth0: SiS 900 Internal MII PHY transceiver found at address 1.
+eth0: Using SiS 900 Internal MII PHY as default
+
+ showing the version of the driver and the results of probing routine.
+
+ Once the driver is loaded, network can be brought up by
+
+/sbin/ifconfig eth0 IPADDR broadcast BROADCAST netmask NETMASK
+
+ where IPADDR, BROADCAST, NETMASK are your IP address, broadcast
+ address and netmask respectively. For more information on how to
+ configure network interface, please refer to Networking HOWTO.
+
+ The link status is also shown by kernel messages. For example, after
+ the network interface is activated, you may have the message:
+
+eth0: Media Link On 100mbps full-duplex
+
+ If you try to unplug the twist pair (TP) cable you will get
+
+eth0: Media Link Off
+
+ indicating that the link is failed.
+ _________________________________________________________________
+
+Building the driver into kernel
+
+ If you want to make the driver into kernel, choose "Y" rather than "M"
+ on "SiS 900/7016 PCI Fast Ethernet Adapter support" when configuring
+ the kernel. Build the kernel image in the usual way
+
+make dep
+
+make clean
+
+make bzlilo
+
+ Next time the system reboot, you have the driver in memory.
+ _________________________________________________________________
+
+Known Problems and Bugs
+
+ There are some known problems and bugs. If you find any other bugs
+ please mail to lcchang@sis.com.tw
+
+ 1. AM79C901 HomePNA PHY is not thoroughly tested, there may be some
+ bugs in the "on the fly" change of transceiver.
+ 2. A bug is hidden somewhere in the receive buffer management code,
+ the bug causes NULL pointer reference in the kernel. This fault is
+ caught before bad things happen and reported with the message:
+ eth0: NULL pointer encountered in Rx ring, skipping which can be
+ viewed with dmesg or cat /var/log/message.
+ _________________________________________________________________
+
+Revision History
+
+ * November 13, 2000, Revision 1.07, seventh release, 630E problem
+ fixed and furthur clean up.
+ * November 4, 1999, Revision 1.06, Second release, lots of clean up
+ and optimization.
+ * August 8, 1999, Revision 1.05, Initial Public Release
+ _________________________________________________________________
+
+Acknowledgements
+
+ This driver was originally derived form Donald Becker's pci-skeleton
+ and rtl8139 drivers. Donald also provided various suggestion regarded
+ with improvements made in revision 1.06.
+
+ The 1.05 revision was created by Jim Huang, AMD 79c901 support was
+ added by Chin-Shan Li.