IBM Netfinity 10/100 Ethernet Adapter and Adapter 2 Device Driver Diskette for Linux, Version 1.1.1 ==================================================== CONTENTS -------- 1.0 Overview 1.1 Limitations 2.0 Change History 3.0 Build and Installation Instructions 3.1 Driver Installation 3.2 Rebuilding the driver 4.0 Configuration Information 4.1 Driver Parameters 4.2 Additional Configuration Information 5.0 Web Sites and Support Phone Number 6.0 Trademarks and Notices 7.0 License and Disclaimer 1.0 Overview _____________ This package includes the source code for the Linux device driver of the IBM Netfinity 10/100 Ethernet Adatper family and IBM 10/100 EtherJet Adapter family. This driver is known to build properly on 2.2 and 2.3 series kernels up to 2.2.14 and 2.3.18. All testing has been performed on the Linux 2.2.12 kernel on systems with Intel processors. Kernels prior to 2.2.0 and Kernels beyond 2.2.14 are not supported. The driver package may work with Kernels beyond 2.2.14 though not officially supported. The bin/e100.o was built on a 2.2.14 SMP UP kernel included on the RedHat 6.2 distribution. 1.1 Limitations ----------------- This Linux driver is only supported as a loadable module at this time. There are no patches supplied against the kernel source to allow for static linking of the driver. Please refer to the documentation supplied with your adapter to answer any questions related to hardware requirements. All hardware requirements listed apply to use with Linux. 2.0 Change History ____________________ Changes from previous version - 1.1.0 - Corrects the "CU idle while tcbs to tx" message which appeared on with driver version 1.1.0 on some Linux Operating systems. - Support for RedHat 6.2. 3.0 Build and Installation Instructions _________________________________________ 3.1 Driver Installation ------------------------ 1) Change the current directory to a suitable location such as /usr/src. 2) Extract the files from the archive using the Unix comand: tar -xvf /mnt/floppy/e100-1.1.1.tar A subdirectory named e100/bin will be created. 3) Copy the driver e100.o from the e100/bin directory which was created in step 2 to the /lib/modules/[KERNEL_VERSION]/net directory. 4) If the e100 driver was previously installed this step can be skipped. If you are using the driver from the distribution CD you must point to the new driver. Edit the /etc/conf.modules file. Look for the statement: alias eth0 eepro100 and change eepro100 to e100. 5) Save and close the file. 3.2 Rebuilding the driver -------------------------- Should you need to make any changes to the driver source, use the following procedure to rebuild the driver: 1) Enter the src directory ('cd src'). The rest of the build process should be run from here. 2) It may be necessary to modify the Makefile for your configuration. By default the driver is built with SMP enabled. If you are using a non-SMP kernel, change the line 'SMP = y' to 'SMP = n'. 3) Run 'make' to build the driver as a loadable module. 4) Test the loading of the driver by running 'insmod e100.o'. 5) Run 'make install' to install the e100.o binary. The binary will be installed as: /lib/modules/[KERNEL_VERSION]/net/e100.o NOTE: The driver will install into the current running kernel version. 4.0 Configuration Information _______________________________ Once the driver has been installed it can be loaded by running 'modprobe e100'. This will create a new Ethernet device. For example, if no other Ethernet drivers are loaded the Ethernet adapter will be called eth0. The interface can be activated and assigned an IP address by running: `ifconfig ethX yyy.yyy.yyy.yyy' where ethX is the Ethernet device and yyy.yyy.yyy.yyy is the IP address. 4.1 Driver Parameters --------------------- e100_max_tcb Valid Range: 8-8192 Default Value: 64 This value is the number of transmit descriptors allocated by the driver. Increasing this value will allow the protocol stack to queue more transmits at the driver level. e100_max_rfd Valid Range: 8-8192 Default Value: 64 This value is the number of receive descriptors allocated by the driver. Increasing this value will allow the driver to buffer more incoming packets before the driver is required to service an interrupt. This will have the most benifit when used in combination with the CPU_SAVER feature. e100_rx_chksum Valid Range: 0-1 Default Value: 1 1 turns on receive TCP/UDP checksum offload. 0 turns off receive TCP/UDP checksum offload Turning this parameter on will turn on receive checksum offloading for TCP/UDP packets. e100_speed_duplex Valid Range: 0-4 Default Value: 0 0 indicates autodetection for both speed and duplex mode 1 indicates a speed of 10Mbs and a duplex mode of half 2 indicates a speed of 10Mbs and a duplex mode of full 3 indicates a speed of 100Mbs and a duplex mode of half 4 indicates a speed of 100Mbs and a duplex mode of full 4.2 Additional Configuration Information ---------------------------------------- Configuring a network driver to load properly when the system is started is distribution dependent. Typically it involves adding an alias line to /etc/conf.modules as well as editing other system startup scripts and/or configuration files. Many popular Linux distributions ship with tools to make these changes for you. Refer to your distribution documentation to learn the proper way to configure a network device for your system. If during this process you are asked for the driver or module name, the driver name for the ethernet adapter is 'e100'. 5.0 WEB Sites and Support Phone Number ________________________________________ The Linux device driver in this release is written by Intel Corporation and, with permission, is redistributed by IBM. For general information and peer to peer support go to the forum at: http://support.intel.com/newsgroups/netwadap.htm Read the forum charter, legal information, and posting guidelines before entering the forum. This forum will post new information regarding the driver as it becomes available. If an issue is identified with the released source code on the supported kernel with a supported adapter, email the specific information related to the issue to linux.nics@intel.com. The following IBM web sites are also available: IBM Support Web Site: http://www.pc.ibm.com/support IBM Marketing Netfinity Web Site: http://www.pc.ibm.com/netfinity If you have any questions about this update, or problems applying the update go to the following Help Center World Telephone Numbers URL: http://www.pc.ibm.com/qtechinfo/YAST-3P2QLY.html. 6.0 Trademarks and Notices ____________________________ The following terms are trademarks of the IBM Corporation in the United States or other countries or both: IBM Netfinity EtherJet Intel is a registered trademark of Intel Corporation. Redhat is a registered trademark of Redhat Corporation. Other company, product, and service names may be trademarks or service marks of others. 7.0 License and Disclaimer ___________________________ Copyright (c) 1999-2000, Intel Corporation All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of Intel Corporation nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.