* added 0.99 linux version
[mascara-docs.git] / i386 / linux / linux-2.3.21 / Documentation / networking / cs89x0.txt
blobf26fad4981f48ee7ff9a1501e6d3aa229fa4f9be
1 CRYSTAL LAN CS8900/CS8920 ETHERNET ADAPTERS
2 Linux Network Interface Driver ver. 1.02
3 ===============================================================================
4  
6 TABLE OF CONTENTS
8 1.0 CRYSTAL LAN CS8900/CS8920 ETHERNET ADAPTERS
9     1.1 Product Overview 
10     1.2 Driver Description
11         1.2.1 Driver Name
12         1.2.2 File in the Driver Package
13     1.3 System Requirements
14     1.4 Licensing Information
16 2.0 ADAPTER INSTALLATION and CONFIGURATION
17     2.1 CS8900-based Adapter Configuration
18     2.2 CS8920-based Adapter Configuration 
20 3.0 LOADING THE DRIVER AS A MODULE
22 4.0 COMPILING THE DRIVER
23     4.1 Compiling the Driver As a Loadable Module
24     4.2 Compiling the Driver Into the Kernel
25     4.3 Compiling the Driver for a Linux v1.2.13 Kernel
27 5.0 TESTING AND TROUBLESHOOTING
28     5.1 Known Defects and Limitations
29     5.2 Testing the Adapter
30         5.2.1 Diagnostic Self-Test
31         5.2.2 Diagnostic Network Test
32     5.3 Using the Adapter's LEDs
33     5.4 Resolving I/O Conflicts
35 6.0 TECHNICAL SUPPORT
36     6.1 Contacting Crystal's Technical Support
37     6.2 Information Required Before Contacting Technical Support
38     6.3 Obtaining the Latest Driver Version
39         6.3.1 Crystal's Web Site
40         6.3.2 Crystal's Bulletin Board Service
44 1.0 CRYSTAL LAN CS8900/CS8920 ETHERNET ADAPTERS
45 ===============================================================================
48 1.1 PRODUCT OVERVIEW
50 The CS8900-based ISA Ethernet Adapters from Crystal Semiconductor follow 
51 IEEE 802.3 standards and support half or full-duplex operation in ISA bus 
52 computers on 10 Mbps Ethernet networks.  The adapters are designed for 
53 operation in 16-bit ISA or EISA bus expansion slots and are available in 
54 10BaseT-only or 3-media configurations (10BaseT, 10Base2, and AUI for 10Base-5
55 or fiber networks).  
57 CS8920-based adapters are similar to the CS8900-based adapter with additional 
58 features for Plug and Play (PnP) support and Wakeup Frame recognition.  As 
59 such, the configuration procedures differ somewhat between the two types of 
60 adapters.  Refer to the "Adapter Configuration" section for details on 
61 configuring both types of adapters.
64 1.2 DRIVER DESCRIPTION
66 The CS8900/CS8920 Ethernet Adapter driver for Linux supports the Linux v1.2.13 
67 and v2.0 (or greater) kernels.  It can be compiled directly into the kernel or 
68 loaded at run-time as a device driver module.
70 1.2.1 Driver Name: cs89x0
72 1.2.2 Files in the Driver Archive:
74   readme.txt  - this file
75   release.txt - known defects and modification log
76   cs89x0.c    - driver C code
77   cs89x0.h    - driver header file
78   cs89x0.o    - pre-compiled module (for v2.0 kernel)
82 1.3 SYSTEM REQUIREMENTS
84 The following hardware is required:
86    * Crystal LAN (CS8900/20-based) Ethernet ISA Adapter   
88    * IBM or IBM-compatible PC with:
89      * An 80386 or higher processor
90      * 16 bytes of contiguous IO space available between 210h - 370h
91      * One available IRQ (5,10,11,or 12 for the CS8900, 3-7,9-15 for CS8920).
93    * Appropriate cable (and connector for AUI, 10BASE-2) for your network
94      topology.
96 The following software is required:
98    * LINUX kernel version 1.2.13 or 2.X
100    * CS8900/20 Setup Utility (DOS-based)
102    * LINUX kernel sources for your kernel (if compiling into kernel)
104    * GNU Toolkit (gcc and make) v2.6 or above (if compiling into kernel 
105      or a module)   
109 1.4 LICENSING INFORMATION
111 This program is free software; you can redistribute it and/or modify it under
112 the terms of the GNU General Public License as published by the Free Software
113 Foundation, version 1.
115 This program is distributed in the hope that it will be useful, but WITHOUT
116 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
117 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for 
118 more details.
120 For a full copy of the GNU General Public License, write to the Free Software
121 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
125 2.0 ADAPTER INSTALLATION and CONFIGURATION
126 ===============================================================================
128 Both the CS8900 and CS8920-based adapters can be configured using parameters 
129 stored in an on-board EEPROM. You must use the DOS-based CS8900/20 Setup 
130 Utility if you want to change the adapter's configuration in EEPROM.  
132 When loading the driver as a module, you can specify many of the adapter's 
133 configuration parameters on the command-line to override the EEPROM's settings 
134 or for interface configuration when an EEPROM is not used. (CS8920-based 
135 adapters must use an EEPROM.) See Section 3.0 LOADING THE DRIVER AS A MODULE.
137 Since the CS8900/20 Setup Utility is a DOS-based application, you must install 
138 and configure the adapter in a DOS-based system using the CS8900/20 Setup 
139 Utility before installation in the target LINUX system.  (Not required if 
140 installing a CS8900-based adapter and the default configuration is acceptable.)
141      
143 2.1 CS8900-BASED ADAPTER CONFIGURATION
145 CS8900-based adapters shipped from Crystal Semiconductor have been configured 
146 with the following "default" settings:
148   Operation Mode:      Memory Mode
149   IRQ:                 10
150   Base I/O Address:    300
151   Memory Base Address: D0000
152   Optimization:        DOS Client
153   Transmission Mode:   Half-duplex
154   BootProm:            None
155   Media Type:          Autodetect (3-media cards) or 
156                        10BASE-T (10BASE-T only adapter)
158 You should only change the default configuration settings if conflicts with 
159 another adapter exist. To change the adapter's configuration, run the 
160 CS8900/20 Setup Utility. 
163 2.2 CS8920-BASED ADAPTER CONFIGURATION
165 CS8920-based adapters are shipped from Crystal Semiconductor configured as Plug
166 and Play (PnP) enabled.  However, since Linux is not currently a PnP compatible 
167 operating system, you must install the CS8920 adapter in a DOS-based PC and 
168 run the CS8900/20 Setup Utility to disable PnP and configure the adapter before
169 installation in the target Linux system.  Failure to do this will leave the 
170 adapter inactive and the driver will be unable to communicate with the
171 adapter.
174         **************************************************************** 
175         *                    CS8920-BASED ADAPTERS:                    *
176         *                                                              * 
177         * CS8920-BASED ADAPTERS ARE PLUG and PLAY ENABLED BY DEFAULT.  * 
178         * SCO UNIX IS NOT A PnP OPERATING SYSTEM. THEREFORE, YOU MUST  *
179         * RUN THE CS8900/20 SETUP UTILITY TO DISABLE PnP SUPPORT AND   *
180         * TO ACTIVATE THE ADAPTER.                                     *
181         ****************************************************************
186 3.0 LOADING THE DRIVER AS A MODULE
187 ===============================================================================
189 If the driver is compiled as a loadable module, you can load the driver module
190 with the 'insmod' command.  Many of the adapter's configuration parameters can 
191 be specified as command-line arguments to the load command.  This facility 
192 provides a means to override the EEPROM's settings or for interface 
193 configuration when an EEPROM is not used.
195 Example:
197     insmod cs89x0.o io=0x200 irq=0xA media=aui
199 This example loads the module and configures the adapter to use an IO port base
200 address of 200h, interrupt 10, and use the AUI media connection.  The following
201 configuration options are available on the command line:
203 * io=###              - specify IO address (200h-360h)
204 * irq=##              - specify interrupt level
205 * mmode=#####         - specify memory base address
206 * dma=#               - specify DMA channel
207 * media=rj45          - specify media type
208    or media=2
209    or media=aui
210    or medai=auto
211 * duplex=f            - specify forced half/full/autonegotiate duplex
212    or duplex=h
213    or duplex=auto
214 * debug=#             - debug level
216 NOTES:
217 * If an EEPROM is present, any specified command-line parameter will override
218 the corresponding configuration value stored in EEPROM.
220 * If no "io" or "mmode" parameter is specified on the command-line, the driver
221 will scan for the adapter.  When scanning, the driver only reads I/O ports.  
222 This sometimes is not sufficient, (e.g. after a warm boot).  If you wish to 
223 allow the driver to perform a more aggressive scan (one write to the IO base 
224 addresses to reset the data port pointer) you can specify an I/O address with 
225 an address value one greater than the configured address.  Example, to scan for
226 an adapter located at IO base 0x300, specify an IO address of 0x301.  Only 
227 ports between 200h and 360h at 20h intervals are scanned.  
229 * The "duplex=auto" parameter is only supported for the CS8920.
231 * The minimum command-line configuration required if an EEPROM is not present
234   * io or mmode base address
235   * irq 
236   * media type (no autodetect)
238 The following additional parameters are CS89XX defaults (values used with no 
239 EEPROM or command-line argument).
241   * DMA Burst = enabled
242   * IOCHRDY Enabled = enabled
243   * UseSA = enabled
244   * CS8900 defaults to half-duplex if not specified on command-line
245   * CS8920 defaults to autoneg if not specified on command-line
246   * Use reset defaults for other config parameters
248 * You can use ifconfig to set the adapter's Ethernet address.
253 4.0 COMPILING THE DRIVER
254 ===============================================================================
256 The cs89x0 driver can be compiled directly into the kernel or compiled into
257 a loadable device driver module.
259 NOTE: This part of the description relates to adding the driver to a kernel
260 not containing the cs89x0 driver. This kernel already contains it.
262 4.1 COMPILING THE DRIVER AS A LOADABLE MODULE
264 To compile the driver into a loadable module, use the following command 
265 (single command line, without quotes):
267 "gcc -D__KERNEL__ -I/usr/src/linux/include -I/usr/src/linux/net/inet -Wall 
268 -Wstrict-prototypes -O2 -fomit-frame-pointer -DMODULE -DCONFIG_MODVERSIONS 
269 -c cs89x0.c"
272 4.2 COMPILING THE DRIVER INTO THE KERNEL
274 To compile the driver directly into the kernel requires editing four 
275 configuration files, copying the source file to the /linux/drivers/net
276 directory and then running the make utility to rebuild the kernel.
278 1. Edit the following configuration files by adding the statements as
279 indicated.  (When possible, try to locate the added text to the section of the
280 file containing similar statements).
282 a.) In /usr/src/linux/drivers/net/CONFIG, add
284 CS89x0_OPTS   =
286 Example:
288  WD_OPTS        = #-DWD_SHMEM=0xDD000
289  EL2_OPTS       = #-DEL2_AUI
290  CS89x0_OPTS    =                
291  NE_OPTS        =
292  HP_OPTS        =
293  PLIP_OPTS      =
296 b.) In /usr/src/linux/drivers/net/Config.in, add:
298 tristate 'CS89x0 support' CONFIG_CS89x0
300 Example:
302      if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
303        tristate 'ICL EtherTeam 16i/32 support' CONFIG_ETH16I
304      fi
306      tristate 'CS89x0 support' CONFIG_CS89x0
308      tristate 'NE2000/NE1000 support' CONFIG_NE2000
309      if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
310        tristate 'NI5210 support' CONFIG_NI52
313 c.) In /usr/src/linux/drivers/net/Makefile, add the following lines: 
315 ifeq ($(CONFIG_CS89x0),y)
316 L_OBJS += cs89x0.o
317 else
318   ifeq ($(CONFIG_CS89x0),m)
319   M_OBJS += cs89x0.o
320   endif
321 endif
324 d.) In /linux/drivers/net/Space.c file, add the line:
326 extern int cs89x0_probe(struct net_device *dev);
329 Example:
331  extern int ultra_probe(struct net_device *dev);
332  extern int wd_probe(struct net_device *dev);
333  extern int el2_probe(struct net_device *dev);
335  extern int cs89x0_probe(struct net_device *dev);
337  extern int ne_probe(struct net_device *dev);
338  extern int hp_probe(struct net_device *dev);
339  extern int hp_plus_probe(struct net_device *dev);
342 Also add:
344  #ifdef CONFIG_CS89x0
345         && cs89x0_probe(dev)
346  #endif
349 2.) Copy the driver source files (cs89x0.c and cs89x0.h) and this README file 
350 into the /usr/src/linux/drivers/net directory.
353 3.) Run 'make config' followed by 'make dep' and finally 'make' to rebuild 
354 the kernel. 
357 4.3 COMPILING THE DRIVER FOR A LINUX v1.2.13 KERNEL
359 To compile the driver for Linux v1.2.13 (into the kernel or as a module), 
360 change the "SUPPORTS" define at the beginning of the cs89x0.c file.  
361 Example:
363 #define SUPPORTS_1_2_13 1   /* supports Linux kernel v1.2.13 */
364    or
365 #define SUPPORTS_1_2_13 0   /* supports Linux kernel v2.0 (default) */
369 5.0 TESTING AND TROUBLESHOOTING
370 ===============================================================================
372 5.1 KNOWN DEFECTS and LIMITATIONS
374 Refer to the RELEASE.TXT file distributed as part of this archive for a list of 
375 known defects, driver limitations, and work arounds.
378 5.2 TESTING THE ADAPTER
380 Once the adapter has been installed and configured, the diagnostic option of 
381 the CS8900/20 Setup Utility can be used to test the functionality of the 
382 adapter and its network connection.  Use the diagnostics 'Self Test' option to
383 test the functionality of the adapter with the hardware configuration you have
384 assigned. You can use the diagnostics 'Network Test' to test the ability of the
385 adapter to communicate across the Ethernet with another PC equipped with a 
386 CS8900/20-based adapter card (it must also be running the CS8900/20 Setup 
387 Utility).
389          NOTE: The Setup Utility's diagnostics are designed to run in a
390          DOS-only operating system environment.  DO NOT run the diagnostics 
391          from a DOS or command prompt session under Windows 95, Windows NT, 
392          OS/2, or other operating system.
394         [AC - Question : Do they work in DOSEMU ?]
396 To run the diagnostics tests on the CS8900/20 adapter:
398    1.) Boot DOS on the PC and start the CS8900/20 Setup Utility.
400    2.) The adapter's current configuration is displayed.  Hit the ENTER key to
401        get to the main menu.
403    4.) Select 'Diagnostics' (ALT-G) from the main menu.  
404        * Select 'Self-Test' to test the adapter's basic functionality.
405        * Select 'Network Test' to test the network connection and cabling.
408 5.2.1 DIAGNOSTIC SELF-TEST
410 The diagnostic self-test checks the adapter's basic functionality as well as 
411 its ability to communicate across the ISA bus based on the system resources 
412 assigned during hardware configuration.  The following tests are performed:
414    * IO Register Read/Write Test
415      The IO Register Read/Write test ensures that the CS8900/20 can be 
416      accessed in IO mode, and that the IO base address is correct.
418    * Shared Memory Test
419      The Shared Memory test ensures the CS8900/20 can be accessed in memory 
420      mode and that the range of memory addresses assigned does not conflict 
421      with other devices in the system.
423    * Interrupt Test
424      The Interrupt test ensures there are no conflicts with the assigned IRQ
425      signal.
427    * EEPROM Test
428      The EEPROM test ensures the EEPROM can be read.
430    * Chip RAM Test
431      The Chip RAM test ensures the 4 K of memory internal to the CS8900/20 is
432      working properly.
434    * Internal Loop-back Test
435      The Internal Loop Back test ensures the adapter's transmitter and 
436      receiver are operating properly.  If this test fails, make sure the 
437      adapter's cable is connected to the network (check for LED activity for 
438      example).
440    * Boot PROM Test
441      The Boot PROM test ensures the Boot PROM is present, and can be read.
442      Failure indicates the Boot PROM  was not successfully read due to a
443      hardware problem or due to a conflicts on the Boot PROM address
444      assignment. (Test only applies if the adapter is configured to use the
445      Boot PROM option.)
447 Failure of a test item indicates a possible system resource conflict with 
448 another device on the ISA bus.  In this case, you should use the Manual Setup 
449 option to reconfigure the adapter by selecting a different value for the system
450 resource that failed.
453 5.2.2 DIAGNOSTIC NETWORK TEST
455 The Diagnostic Network Test verifies a working network connection by 
456 transferring data between two CS8900/20 adapters installed in different PCs 
457 on the same network. (Note: the diagnostic network test should not be run 
458 between two nodes across a router.) 
460 This test requires that each of the two PCs have a CS8900/20-based adapter
461 installed and have the CS8900/20 Setup Utility running.  The first PC is 
462 configured as a Responder and the other PC is configured as an Initiator.  
463 Once the Initiator is started, it sends data frames to the Responder which 
464 returns the frames to the Initiator.
466 The total number of frames received and transmitted are displayed on the 
467 Initiator's display, along with a count of the number of frames received and 
468 transmitted OK or in error.  The test can be terminated anytime by the user at 
469 either PC.
471 To setup the Diagnostic Network Test:
473     1.) Select a PC with a CS8900/20-based adapter and a known working network
474         connection to act as the Responder.  Run the CS8900/20 Setup Utility 
475         and select 'Diagnostics -> Network Test -> Responder' from the main 
476         menu.  Hit ENTER to start the Responder.
478     2.) Return to the PC with the CS8900/20-based adapter you want to test and
479         start the CS8900/20 Setup Utility. 
481     3.) From the main menu, Select 'Diagnostic -> Network Test -> Initiator'.
482         Hit ENTER to start the test.
484 You may stop the test on the Initiator at any time while allowing the Responder
485 to continue running.  In this manner, you can move to additional PCs and test 
486 them by starting the Initiator on another PC without having to stop/start the 
487 Responder.
491 5.3 USING THE ADAPTER'S LEDs
493 The 2 and 3-media adapters have two LEDs visible on the back end of the board 
494 located near the 10Base-T connector.  
496 Link Integrity LED: A "steady" ON of the green LED indicates a valid 10Base-T 
497 connection.  (Only applies to 10Base-T.  The green LED has no significance for
498 a 10Base-2 or AUI connection.)
500 TX/RX LED: The yellow LED lights briefly each time the adapter transmits or 
501 receives data. (The yellow LED will appear to "flicker" on a typical network.)
504 5.4 RESOLVING I/O CONFLICTS
506 An IO conflict occurs when two or more adapter use the same ISA resource (IO 
507 address, memory address or IRQ).  You can usually detect an IO conflict in one 
508 of four ways after installing and or configuring the CS8900/20-based adapter:
510     1.) The system does not boot properly (or at all).
512     2.) The driver can not communicate with the adapter, reporting an "Adapter
513         not found" error message.
515     3.) You cannot connect to the network or the driver will not load.
517     4.) If you have configured the adapter to run in memory mode but the driver
518         reports it is using IO mode when loading, this is an indication of a
519         memory address conflict.
521 If an IO conflict occurs, run the CS8900/20 Setup Utility and perform a 
522 diagnostic self-test.  Normally, the ISA resource in conflict will fail the 
523 self-test.  If so, reconfigure the adapter selecting another choice for the 
524 resource in conflict.  Run the diagnostics again to check for further IO 
525 conflicts.
527 In some cases, such as when the PC will not boot, it may be necessary to remove
528 the adapter and reconfigure it by installing it in another PC to run the 
529 CS8900/20 Setup Utility.  Once reinstalled in the target system, run the 
530 diagnostics self-test to ensure the new configuration is free of conflicts 
531 before loading the driver again.
533 When manually configuring the adapter, keep in mind the typical ISA system 
534 resource usage as indicated in the tables below.
536 I/O Address     Device                        IRQ      Device
537 -----------     --------                      ---      --------
538  200-20F        Game I/O adapter               3       COM2, Bus Mouse
539  230-23F        Bus Mouse                      4       COM1
540  270-27F        LPT3: third parallel port      5       LPT2
541  2F0-2FF        COM2: second serial port       6       Floppy Disk controller
542  320-32F        Fixed disk controller          7       LPT1
543                                                8       Real-time Clock
544                                                9       EGA/VGA display adapter    
545                                               12       Mouse (PS/2)                              
546 Memory Address  Device                        13       Math Coprocessor
547 --------------  ---------------------         14       Hard Disk controller
548 A000-BFFF       EGA Graphics Adapter
549 A000-C7FF       VGA Graphics Adapter
550 B000-BFFF       Mono Graphics Adapter
551 B800-BFFF       Color Graphics Adapter
552 E000-FFFF       AT BIOS
557 6.0 TECHNICAL SUPPORT
558 ===============================================================================
560 6.1 CONTACTING CRYSTAL'S TECHNICAL SUPPORT
562 Crystal's CS89XX Technical Application Support can be reached at:
564 Telephone  :(800) 888-5016 (from inside U.S. and Canada)
565            :(512) 442-7555 (from outside the U.S. and Canada)
566 Fax        :(512) 912-3871
567 E-mail     :ethernet@crystal.cirrus.com
568 WWW        :http://www.crystal.com
571 6.2 INFORMATION REQUIRED BEFORE CONTACTING TECHNICAL SUPPORT
573 Before contacting Crystal for technical support, be prepared to provide as much
574 of the following information as possible. 
576 1.) Adapter type (CRD8900, CDB8900, CDB8920, etc.)
578 2.) Adapter configuration
580     * IO Base, Memory Base, IO or memory mode enabled, IRQ, DMA channel
581     * Plug and Play enabled/disabled (CS8920-based adapters only)
582     * Configured for media auto-detect or specific media type (which type).    
584 3.) PC System's Configuration
586     * Plug and Play system (yes/no)
587     * BIOS (make and version)
588     * System make and model
589     * CPU (type and speed)
590     * System RAM
591     * SCSI Adapter
593 4.) Software
595     * CS89XX driver and version
596     * Your network operating system and version
597     * Your system's OS version 
598     * Version of all protocol support files
600 5.) Any Error Message displayed.
604 6.3 OBTAINING THE LATEST DRIVER VERSION
606 You can obtain the latest CS89XX drivers and support software from Crystal's 
607 BBS or Web site.  You can also contact Crystal's Technical Support (email:
608 ethernet@crystal.cirrus.com) and request that you be registered for automatic 
609 software-update notification.
612 6.3.1 CRYSTAL'S WEB SITE
614 Crystal Semiconductor maintains a web page at http://www.crystal.com with the
615 latest drivers and technical publications.
618 6.3.2 CRYSTAL'S BULLETIN BOARD SERVICE
620 Access to the BBS is available 24 hours a day, seven days a week. Baud 
621 rates from 300K to 14.4K are supported as well as most common file transfer 
622 protocols.  
624 To access the BBS, set your terminal software to use 8 data bits, 1 stop bit, 
625 and no parity.  Dial (512) 441-3265 and press <ENTER> after connection is made.
626 Login using your account name and password.  (If you do not have an account, 
627 you may login as "GUEST".  No password is required for the Guest account.)
629 From the main system menu, select the "Enter Public File Area" menu option.  
630 From the Public File Area menu, select the "LAN (Local Area Network)" file
631 area.  A list of the latest drivers and support utilities available for the
632 CS89XX ISA Ethernet adapter will be presented along with the option to download
633 the file(s) of your choice.