sh: Optimized flush_icache_range() implementation.
[linux-2.6] / Documentation / networking / cs89x0.txt
1
2 NOTE
3 ----
4
5 This document was contributed by Cirrus Logic for kernel 2.2.5.  This version
6 has been updated for 2.3.48 by Andrew Morton <andrewm@uow.edu.au>
7
8 Cirrus make a copy of this driver available at their website, as
9 described below.  In general, you should use the driver version which
10 comes with your Linux distribution.
11
12
13
14 CIRRUS LOGIC LAN CS8900/CS8920 ETHERNET ADAPTERS
15 Linux Network Interface Driver ver. 2.00 <kernel 2.3.48>
16 ===============================================================================
17  
18
19 TABLE OF CONTENTS
20
21 1.0 CIRRUS LOGIC LAN CS8900/CS8920 ETHERNET ADAPTERS
22     1.1 Product Overview 
23     1.2 Driver Description
24         1.2.1 Driver Name
25         1.2.2 File in the Driver Package
26     1.3 System Requirements
27     1.4 Licensing Information
28
29 2.0 ADAPTER INSTALLATION and CONFIGURATION
30     2.1 CS8900-based Adapter Configuration
31     2.2 CS8920-based Adapter Configuration 
32
33 3.0 LOADING THE DRIVER AS A MODULE
34
35 4.0 COMPILING THE DRIVER
36     4.1 Compiling the Driver as a Loadable Module
37     4.2 Compiling the driver to support memory mode
38     4.3 Compiling the driver to support Rx DMA 
39     4.4 Compiling the Driver into the Kernel
40
41 5.0 TESTING AND TROUBLESHOOTING
42     5.1 Known Defects and Limitations
43     5.2 Testing the Adapter
44         5.2.1 Diagnostic Self-Test
45         5.2.2 Diagnostic Network Test
46     5.3 Using the Adapter's LEDs
47     5.4 Resolving I/O Conflicts
48
49 6.0 TECHNICAL SUPPORT
50     6.1 Contacting Cirrus Logic's Technical Support
51     6.2 Information Required Before Contacting Technical Support
52     6.3 Obtaining the Latest Driver Version
53     6.4 Current maintainer
54     6.5 Kernel boot parameters
55
56
57 1.0 CIRRUS LOGIC LAN CS8900/CS8920 ETHERNET ADAPTERS
58 ===============================================================================
59
60
61 1.1 PRODUCT OVERVIEW
62
63 The CS8900-based ISA Ethernet Adapters from Cirrus Logic follow 
64 IEEE 802.3 standards and support half or full-duplex operation in ISA bus 
65 computers on 10 Mbps Ethernet networks.  The adapters are designed for operation 
66 in 16-bit ISA or EISA bus expansion slots and are available in 
67 10BaseT-only or 3-media configurations (10BaseT, 10Base2, and AUI for 10Base-5 
68 or fiber networks).  
69
70 CS8920-based adapters are similar to the CS8900-based adapter with additional 
71 features for Plug and Play (PnP) support and Wakeup Frame recognition.  As 
72 such, the configuration procedures differ somewhat between the two types of 
73 adapters.  Refer to the "Adapter Configuration" section for details on 
74 configuring both types of adapters.
75
76
77 1.2 DRIVER DESCRIPTION
78
79 The CS8900/CS8920 Ethernet Adapter driver for Linux supports the Linux
80 v2.3.48 or greater kernel.  It can be compiled directly into the kernel
81 or loaded at run-time as a device driver module.
82
83 1.2.1 Driver Name: cs89x0
84
85 1.2.2 Files in the Driver Archive:
86
87 The files in the driver at Cirrus' website include:
88
89   readme.txt         - this file
90   build              - batch file to compile cs89x0.c.
91   cs89x0.c           - driver C code
92   cs89x0.h           - driver header file
93   cs89x0.o           - pre-compiled module (for v2.2.5 kernel)
94   config/Config.in   - sample file to include cs89x0 driver in the kernel.
95   config/Makefile    - sample file to include cs89x0 driver in the kernel.
96   config/Space.c     - sample file to include cs89x0 driver in the kernel.
97
98
99
100 1.3 SYSTEM REQUIREMENTS
101
102 The following hardware is required:
103
104    * Cirrus Logic LAN (CS8900/20-based) Ethernet ISA Adapter   
105
106    * IBM or IBM-compatible PC with:
107      * An 80386 or higher processor
108      * 16 bytes of contiguous IO space available between 210h - 370h
109      * One available IRQ (5,10,11,or 12 for the CS8900, 3-7,9-15 for CS8920).
110
111    * Appropriate cable (and connector for AUI, 10BASE-2) for your network
112      topology.
113
114 The following software is required:
115
116 * LINUX kernel version 2.3.48 or higher
117
118    * CS8900/20 Setup Utility (DOS-based)
119
120    * LINUX kernel sources for your kernel (if compiling into kernel)
121
122    * GNU Toolkit (gcc and make) v2.6 or above (if compiling into kernel 
123      or a module)   
124
125
126
127 1.4 LICENSING INFORMATION
128
129 This program is free software; you can redistribute it and/or modify it under
130 the terms of the GNU General Public License as published by the Free Software
131 Foundation, version 1.
132
133 This program is distributed in the hope that it will be useful, but WITHOUT
134 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
135 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for 
136 more details.
137
138 For a full copy of the GNU General Public License, write to the Free Software
139 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
140
141
142
143 2.0 ADAPTER INSTALLATION and CONFIGURATION
144 ===============================================================================
145
146 Both the CS8900 and CS8920-based adapters can be configured using parameters 
147 stored in an on-board EEPROM. You must use the DOS-based CS8900/20 Setup 
148 Utility if you want to change the adapter's configuration in EEPROM.  
149
150 When loading the driver as a module, you can specify many of the adapter's 
151 configuration parameters on the command-line to override the EEPROM's settings 
152 or for interface configuration when an EEPROM is not used. (CS8920-based 
153 adapters must use an EEPROM.) See Section 3.0 LOADING THE DRIVER AS A MODULE.
154
155 Since the CS8900/20 Setup Utility is a DOS-based application, you must install 
156 and configure the adapter in a DOS-based system using the CS8900/20 Setup 
157 Utility before installation in the target LINUX system.  (Not required if 
158 installing a CS8900-based adapter and the default configuration is acceptable.)
159      
160
161 2.1 CS8900-BASED ADAPTER CONFIGURATION
162
163 CS8900-based adapters shipped from Cirrus Logic have been configured 
164 with the following "default" settings:
165
166   Operation Mode:      Memory Mode
167   IRQ:                 10
168   Base I/O Address:    300
169   Memory Base Address: D0000
170   Optimization:        DOS Client
171   Transmission Mode:   Half-duplex
172   BootProm:            None
173   Media Type:          Autodetect (3-media cards) or 
174                        10BASE-T (10BASE-T only adapter)
175
176 You should only change the default configuration settings if conflicts with 
177 another adapter exists. To change the adapter's configuration, run the 
178 CS8900/20 Setup Utility. 
179
180
181 2.2 CS8920-BASED ADAPTER CONFIGURATION
182
183 CS8920-based adapters are shipped from Cirrus Logic configured as Plug
184 and Play (PnP) enabled.  However, since the cs89x0 driver does NOT
185 support PnP, you must install the CS8920 adapter in a DOS-based PC and
186 run the CS8900/20 Setup Utility to disable PnP and configure the
187 adapter before installation in the target Linux system.  Failure to do
188 this will leave the adapter inactive and the driver will be unable to
189 communicate with the adapter.  
190
191
192         **************************************************************** 
193         *                    CS8920-BASED ADAPTERS:                    *
194         *                                                              * 
195         * CS8920-BASED ADAPTERS ARE PLUG and PLAY ENABLED BY DEFAULT.  * 
196         * THE CS89X0 DRIVER DOES NOT SUPPORT PnP. THEREFORE, YOU MUST  *
197         * RUN THE CS8900/20 SETUP UTILITY TO DISABLE PnP SUPPORT AND   *
198         * TO ACTIVATE THE ADAPTER.                                     *
199         ****************************************************************
200
201
202
203
204 3.0 LOADING THE DRIVER AS A MODULE
205 ===============================================================================
206
207 If the driver is compiled as a loadable module, you can load the driver module
208 with the 'modprobe' command.  Many of the adapter's configuration parameters can 
209 be specified as command-line arguments to the load command.  This facility 
210 provides a means to override the EEPROM's settings or for interface 
211 configuration when an EEPROM is not used.
212
213 Example:
214
215     insmod cs89x0.o io=0x200 irq=0xA media=aui
216
217 This example loads the module and configures the adapter to use an IO port base
218 address of 200h, interrupt 10, and use the AUI media connection.  The following
219 configuration options are available on the command line:
220
221 * io=###               - specify IO address (200h-360h)
222 * irq=##               - specify interrupt level
223 * use_dma=1            - Enable DMA
224 * dma=#                - specify dma channel (Driver is compiled to support
225                          Rx DMA only)
226 * dmasize=# (16 or 64) - DMA size 16K or 64K.  Default value is set to 16.
227 * media=rj45           - specify media type
228    or media=bnc
229    or media=aui
230    or media=auto
231 * duplex=full          - specify forced half/full/autonegotiate duplex
232    or duplex=half
233    or duplex=auto
234 * debug=#              - debug level (only available if the driver was compiled
235                          for debugging)
236
237 NOTES:
238
239 a) If an EEPROM is present, any specified command-line parameter
240    will override the corresponding configuration value stored in
241    EEPROM.
242
243 b) The "io" parameter must be specified on the command-line.  
244
245 c) The driver's hardware probe routine is designed to avoid
246    writing to I/O space until it knows that there is a cs89x0
247    card at the written addresses.  This could cause problems
248    with device probing.  To avoid this behaviour, add one
249    to the `io=' module parameter.  This doesn't actually change
250    the I/O address, but it is a flag to tell the driver
251    to partially initialise the hardware before trying to
252    identify the card.  This could be dangerous if you are
253    not sure that there is a cs89x0 card at the provided address.
254
255    For example, to scan for an adapter located at IO base 0x300,
256    specify an IO address of 0x301.  
257
258 d) The "duplex=auto" parameter is only supported for the CS8920.
259
260 e) The minimum command-line configuration required if an EEPROM is
261    not present is:
262
263    io 
264    irq 
265    media type (no autodetect)
266
267 f) The following additional parameters are CS89XX defaults (values
268    used with no EEPROM or command-line argument).
269
270    * DMA Burst = enabled
271    * IOCHRDY Enabled = enabled
272    * UseSA = enabled
273    * CS8900 defaults to half-duplex if not specified on command-line
274    * CS8920 defaults to autoneg if not specified on command-line
275    * Use reset defaults for other config parameters
276    * dma_mode = 0
277
278 g) You can use ifconfig to set the adapter's Ethernet address.
279
280 h) Many Linux distributions use the 'modprobe' command to load
281    modules.  This program uses the '/etc/conf.modules' file to
282    determine configuration information which is passed to a driver
283    module when it is loaded.  All the configuration options which are
284    described above may be placed within /etc/conf.modules.
285
286    For example:
287
288    > cat /etc/conf.modules
289    ...
290    alias eth0 cs89x0
291    options cs89x0 io=0x0200 dma=5 use_dma=1
292    ...
293
294    In this example we are telling the module system that the
295    ethernet driver for this machine should use the cs89x0 driver.  We
296    are asking 'modprobe' to pass the 'io', 'dma' and 'use_dma'
297    arguments to the driver when it is loaded.
298
299 i) Cirrus recommend that the cs89x0 use the ISA DMA channels 5, 6 or
300    7.  You will probably find that other DMA channels will not work.
301
302 j) The cs89x0 supports DMA for receiving only.  DMA mode is
303    significantly more efficient.  Flooding a 400 MHz Celeron machine
304    with large ping packets consumes 82% of its CPU capacity in non-DMA
305    mode.  With DMA this is reduced to 45%.
306
307 k) If your Linux kernel was compiled with inbuilt plug-and-play
308    support you will be able to find information about the cs89x0 card
309    with the command
310
311    cat /proc/isapnp
312
313 l) If during DMA operation you find erratic behavior or network data
314    corruption you should use your PC's BIOS to slow the EISA bus clock.
315
316 m) If the cs89x0 driver is compiled directly into the kernel
317    (non-modular) then its I/O address is automatically determined by
318    ISA bus probing.  The IRQ number, media options, etc are determined
319    from the card's EEPROM.
320
321 n) If the cs89x0 driver is compiled directly into the kernel, DMA
322    mode may be selected by providing the kernel with a boot option
323    'cs89x0_dma=N' where 'N' is the desired DMA channel number (5, 6 or 7).
324
325    Kernel boot options may be provided on the LILO command line:
326
327         LILO boot: linux cs89x0_dma=5
328
329    or they may be placed in /etc/lilo.conf:
330
331         image=/boot/bzImage-2.3.48
332           append="cs89x0_dma=5"
333           label=linux
334           root=/dev/hda5
335           read-only
336
337    The DMA Rx buffer size is hardwired to 16 kbytes in this mode.
338    (64k mode is not available).
339
340
341 4.0 COMPILING THE DRIVER
342 ===============================================================================
343
344 The cs89x0 driver can be compiled directly into the kernel or compiled into
345 a loadable device driver module.
346
347
348 4.1 COMPILING THE DRIVER AS A LOADABLE MODULE
349
350 To compile the driver into a loadable module, use the following command 
351 (single command line, without quotes):
352
353 "gcc -D__KERNEL__ -I/usr/src/linux/include -I/usr/src/linux/net/inet -Wall 
354 -Wstrict-prototypes -O2 -fomit-frame-pointer -DMODULE -DCONFIG_MODVERSIONS 
355 -c cs89x0.c"
356
357 4.2 COMPILING THE DRIVER TO SUPPORT MEMORY MODE
358
359 Support for memory mode was not carried over into the 2.3 series kernels.
360
361 4.3 COMPILING THE DRIVER TO SUPPORT Rx DMA
362
363 The compile-time optionality for DMA was removed in the 2.3 kernel
364 series.  DMA support is now unconditionally part of the driver.  It is
365 enabled by the 'use_dma=1' module option.
366
367 4.4 COMPILING THE DRIVER INTO THE KERNEL
368
369 If your Linux distribution already has support for the cs89x0 driver
370 then simply copy the source file to the /usr/src/linux/drivers/net
371 directory to replace the original ones and run the make utility to
372 rebuild the kernel.  See Step 3 for rebuilding the kernel.
373
374 If your Linux does not include the cs89x0 driver, you need to edit three 
375 configuration files, copy the source file to the /usr/src/linux/drivers/net
376 directory, and then run the make utility to rebuild the kernel.
377
378 1. Edit the following configuration files by adding the statements as
379 indicated.  (When possible, try to locate the added text to the section of the
380 file containing similar statements).
381
382
383 a.) In /usr/src/linux/drivers/net/Config.in, add:
384
385 tristate 'CS89x0 support' CONFIG_CS89x0
386
387 Example:
388
389      if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
390        tristate 'ICL EtherTeam 16i/32 support' CONFIG_ETH16I
391      fi
392
393      tristate 'CS89x0 support' CONFIG_CS89x0
394
395      tristate 'NE2000/NE1000 support' CONFIG_NE2000
396      if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
397        tristate 'NI5210 support' CONFIG_NI52
398
399
400 b.) In /usr/src/linux/drivers/net/Makefile, add the following lines: 
401
402 ifeq ($(CONFIG_CS89x0),y)
403 L_OBJS += cs89x0.o
404 else
405   ifeq ($(CONFIG_CS89x0),m)
406   M_OBJS += cs89x0.o
407   endif
408 endif
409
410
411 c.) In /linux/drivers/net/Space.c file, add the line:
412
413 extern int cs89x0_probe(struct device *dev);
414
415
416 Example:
417
418  extern int ultra_probe(struct device *dev);
419  extern int wd_probe(struct device *dev);
420  extern int el2_probe(struct device *dev);
421
422  extern int cs89x0_probe(struct device *dev);
423
424  extern int ne_probe(struct device *dev);
425  extern int hp_probe(struct device *dev);
426  extern int hp_plus_probe(struct device *dev);
427
428
429 Also add:
430
431  #ifdef CONFIG_CS89x0
432         { cs89x0_probe,0 },
433  #endif
434
435
436 2.) Copy the driver source files (cs89x0.c and cs89x0.h) 
437 into the /usr/src/linux/drivers/net directory.
438
439
440 3.) Go to /usr/src/linux directory and run 'make config' followed by 'make' 
441 (or make bzImage) to rebuild the kernel. 
442
443 4.) Use the DOS 'setup' utility to disable plug and play on the NIC.
444
445
446 5.0 TESTING AND TROUBLESHOOTING
447 ===============================================================================
448
449 5.1 KNOWN DEFECTS and LIMITATIONS
450
451 Refer to the RELEASE.TXT file distributed as part of this archive for a list of 
452 known defects, driver limitations, and work arounds.
453
454
455 5.2 TESTING THE ADAPTER
456
457 Once the adapter has been installed and configured, the diagnostic option of 
458 the CS8900/20 Setup Utility can be used to test the functionality of the 
459 adapter and its network connection.  Use the diagnostics 'Self Test' option to
460 test the functionality of the adapter with the hardware configuration you have
461 assigned. You can use the diagnostics 'Network Test' to test the ability of the
462 adapter to communicate across the Ethernet with another PC equipped with a 
463 CS8900/20-based adapter card (it must also be running the CS8900/20 Setup 
464 Utility).
465
466          NOTE: The Setup Utility's diagnostics are designed to run in a
467          DOS-only operating system environment.  DO NOT run the diagnostics 
468          from a DOS or command prompt session under Windows 95, Windows NT, 
469          OS/2, or other operating system.
470
471 To run the diagnostics tests on the CS8900/20 adapter:
472
473    1.) Boot DOS on the PC and start the CS8900/20 Setup Utility.
474
475    2.) The adapter's current configuration is displayed.  Hit the ENTER key to
476        get to the main menu.
477
478    4.) Select 'Diagnostics' (ALT-G) from the main menu.  
479        * Select 'Self-Test' to test the adapter's basic functionality.
480        * Select 'Network Test' to test the network connection and cabling.
481
482
483 5.2.1 DIAGNOSTIC SELF-TEST
484
485 The diagnostic self-test checks the adapter's basic functionality as well as 
486 its ability to communicate across the ISA bus based on the system resources 
487 assigned during hardware configuration.  The following tests are performed:
488
489    * IO Register Read/Write Test
490      The IO Register Read/Write test insures that the CS8900/20 can be 
491      accessed in IO mode, and that the IO base address is correct.
492
493    * Shared Memory Test
494      The Shared Memory test insures the CS8900/20 can be accessed in memory 
495      mode and that the range of memory addresses assigned does not conflict 
496      with other devices in the system.
497
498    * Interrupt Test
499      The Interrupt test insures there are no conflicts with the assigned IRQ
500      signal.
501
502    * EEPROM Test
503      The EEPROM test insures the EEPROM can be read.
504
505    * Chip RAM Test
506      The Chip RAM test insures the 4K of memory internal to the CS8900/20 is
507      working properly.
508
509    * Internal Loop-back Test
510      The Internal Loop Back test insures the adapter's transmitter and 
511      receiver are operating properly.  If this test fails, make sure the 
512      adapter's cable is connected to the network (check for LED activity for 
513      example).
514
515    * Boot PROM Test
516      The Boot PROM  test insures the Boot PROM is present, and can be read.
517      Failure indicates the Boot PROM  was not successfully read due to a
518      hardware problem or due to a conflicts on the Boot PROM address
519      assignment. (Test only applies if the adapter is configured to use the
520      Boot PROM option.)
521
522 Failure of a test item indicates a possible system resource conflict with 
523 another device on the ISA bus.  In this case, you should use the Manual Setup 
524 option to reconfigure the adapter by selecting a different value for the system
525 resource that failed.
526
527
528 5.2.2 DIAGNOSTIC NETWORK TEST
529
530 The Diagnostic Network Test verifies a working network connection by 
531 transferring data between two CS8900/20 adapters installed in different PCs 
532 on the same network. (Note: the diagnostic network test should not be run 
533 between two nodes across a router.) 
534
535 This test requires that each of the two PCs have a CS8900/20-based adapter
536 installed and have the CS8900/20 Setup Utility running.  The first PC is 
537 configured as a Responder and the other PC is configured as an Initiator.  
538 Once the Initiator is started, it sends data frames to the Responder which 
539 returns the frames to the Initiator.
540
541 The total number of frames received and transmitted are displayed on the 
542 Initiator's display, along with a count of the number of frames received and 
543 transmitted OK or in error.  The test can be terminated anytime by the user at 
544 either PC.
545
546 To setup the Diagnostic Network Test:
547
548     1.) Select a PC with a CS8900/20-based adapter and a known working network
549         connection to act as the Responder.  Run the CS8900/20 Setup Utility 
550         and select 'Diagnostics -> Network Test -> Responder' from the main 
551         menu.  Hit ENTER to start the Responder.
552
553     2.) Return to the PC with the CS8900/20-based adapter you want to test and
554         start the CS8900/20 Setup Utility. 
555
556     3.) From the main menu, Select 'Diagnostic -> Network Test -> Initiator'.
557         Hit ENTER to start the test.
558  
559 You may stop the test on the Initiator at any time while allowing the Responder
560 to continue running.  In this manner, you can move to additional PCs and test 
561 them by starting the Initiator on another PC without having to stop/start the 
562 Responder.
563  
564
565
566 5.3 USING THE ADAPTER'S LEDs
567
568 The 2 and 3-media adapters have two LEDs visible on the back end of the board 
569 located near the 10Base-T connector.  
570
571 Link Integrity LED: A "steady" ON of the green LED indicates a valid 10Base-T 
572 connection.  (Only applies to 10Base-T.  The green LED has no significance for
573 a 10Base-2 or AUI connection.)
574
575 TX/RX LED: The yellow LED lights briefly each time the adapter transmits or 
576 receives data. (The yellow LED will appear to "flicker" on a typical network.)
577
578
579 5.4 RESOLVING I/O CONFLICTS
580
581 An IO conflict occurs when two or more adapter use the same ISA resource (IO 
582 address, memory address or IRQ).  You can usually detect an IO conflict in one 
583 of four ways after installing and or configuring the CS8900/20-based adapter:
584
585     1.) The system does not boot properly (or at all).
586
587     2.) The driver cannot communicate with the adapter, reporting an "Adapter
588         not found" error message.
589
590     3.) You cannot connect to the network or the driver will not load.
591
592     4.) If you have configured the adapter to run in memory mode but the driver
593         reports it is using IO mode when loading, this is an indication of a
594         memory address conflict.
595
596 If an IO conflict occurs, run the CS8900/20 Setup Utility and perform a 
597 diagnostic self-test.  Normally, the ISA resource in conflict will fail the 
598 self-test.  If so, reconfigure the adapter selecting another choice for the 
599 resource in conflict.  Run the diagnostics again to check for further IO 
600 conflicts.
601
602 In some cases, such as when the PC will not boot, it may be necessary to remove
603 the adapter and reconfigure it by installing it in another PC to run the 
604 CS8900/20 Setup Utility.  Once reinstalled in the target system, run the 
605 diagnostics self-test to ensure the new configuration is free of conflicts 
606 before loading the driver again.
607
608 When manually configuring the adapter, keep in mind the typical ISA system 
609 resource usage as indicated in the tables below.
610
611 I/O Address     Device                        IRQ      Device
612 -----------     --------                      ---      --------
613  200-20F        Game I/O adapter               3       COM2, Bus Mouse
614  230-23F        Bus Mouse                      4       COM1
615  270-27F        LPT3: third parallel port      5       LPT2
616  2F0-2FF        COM2: second serial port       6       Floppy Disk controller
617  320-32F        Fixed disk controller          7       LPT1
618                                                8       Real-time Clock
619                                                  9       EGA/VGA display adapter    
620                                                 12       Mouse (PS/2)                              
621 Memory Address  Device                          13       Math Coprocessor
622 --------------  ---------------------           14       Hard Disk controller
623 A000-BFFF       EGA Graphics Adapter
624 A000-C7FF       VGA Graphics Adapter
625 B000-BFFF       Mono Graphics Adapter
626 B800-BFFF       Color Graphics Adapter
627 E000-FFFF       AT BIOS
628
629
630
631
632 6.0 TECHNICAL SUPPORT
633 ===============================================================================
634
635 6.1 CONTACTING CIRRUS LOGIC'S TECHNICAL SUPPORT
636
637 Cirrus Logic's CS89XX Technical Application Support can be reached at:
638
639 Telephone  :(800) 888-5016 (from inside U.S. and Canada)
640            :(512) 442-7555 (from outside the U.S. and Canada)
641 Fax        :(512) 912-3871
642 Email      :ethernet@crystal.cirrus.com
643 WWW        :http://www.cirrus.com
644
645
646 6.2 INFORMATION REQUIRED BEFORE CONTACTING TECHNICAL SUPPORT
647
648 Before contacting Cirrus Logic for technical support, be prepared to provide as 
649 Much of the following information as possible. 
650
651 1.) Adapter type (CRD8900, CDB8900, CDB8920, etc.)
652
653 2.) Adapter configuration
654
655     * IO Base, Memory Base, IO or memory mode enabled, IRQ, DMA channel
656     * Plug and Play enabled/disabled (CS8920-based adapters only)
657     * Configured for media auto-detect or specific media type (which type).    
658
659 3.) PC System's Configuration
660
661     * Plug and Play system (yes/no)
662     * BIOS (make and version)
663     * System make and model
664     * CPU (type and speed)
665     * System RAM
666     * SCSI Adapter
667
668 4.) Software
669
670     * CS89XX driver and version
671     * Your network operating system and version
672     * Your system's OS version 
673     * Version of all protocol support files
674
675 5.) Any Error Message displayed.
676
677
678
679 6.3 OBTAINING THE LATEST DRIVER VERSION
680
681 You can obtain the latest CS89XX drivers and support software from Cirrus Logic's 
682 Web site.  You can also contact Cirrus Logic's Technical Support (email:
683 ethernet@crystal.cirrus.com) and request that you be registered for automatic 
684 software-update notification.
685
686 Cirrus Logic maintains a web page at http://www.cirrus.com with the
687 latest drivers and technical publications.
688
689
690 6.4 Current maintainer
691
692 In February 2000 the maintenance of this driver was assumed by Andrew
693 Morton <akpm@zip.com.au>
694
695 6.5 Kernel module parameters
696
697 For use in embedded environments with no cs89x0 EEPROM, the kernel boot
698 parameter `cs89x0_media=' has been implemented.  Usage is:
699
700         cs89x0_media=rj45    or
701         cs89x0_media=aui     or
702         cs89x0_media=bnc
703