summaryrefslogtreecommitdiffstats
path: root/Documentation/networking/cs89x0.txt
blob: 0371ced334c2209fac8eb2e8ace023c16020865c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703

NOTE
----

This document was contributed by Cirrus Logic for kernel 2.2.5.  This version
has been updated for 2.3.48 by Andrew Morton <andrewm@uow.edu.au>

Cirrus make a copy of this driver available at their website, as
described below.  In general, you should use the driver version which
comes with your Linux distribution.



CIRRUS LOGIC LAN CS8900/CS8920 ETHERNET ADAPTERS
Linux Network Interface Driver ver. 2.00 <kernel 2.3.48>
===============================================================================
 

TABLE OF CONTENTS

1.0 CIRRUS LOGIC LAN CS8900/CS8920 ETHERNET ADAPTERS
    1.1 Product Overview 
    1.2 Driver Description
	1.2.1 Driver Name
	1.2.2 File in the Driver Package
    1.3 System Requirements
    1.4 Licensing Information

2.0 ADAPTER INSTALLATION and CONFIGURATION
    2.1 CS8900-based Adapter Configuration
    2.2 CS8920-based Adapter Configuration 

3.0 LOADING THE DRIVER AS A MODULE

4.0 COMPILING THE DRIVER
    4.1 Compiling the Driver as a Loadable Module
    4.2 Compiling the driver to support memory mode
    4.3 Compiling the driver to support Rx DMA 
    4.4 Compiling the Driver into the Kernel

5.0 TESTING AND TROUBLESHOOTING
    5.1 Known Defects and Limitations
    5.2 Testing the Adapter
        5.2.1 Diagnostic Self-Test
        5.2.2 Diagnostic Network Test
    5.3 Using the Adapter's LEDs
    5.4 Resolving I/O Conflicts

6.0 TECHNICAL SUPPORT
    6.1 Contacting Cirrus Logic's Technical Support
    6.2 Information Required Before Contacting Technical Support
    6.3 Obtaining the Latest Driver Version
    6.4 Current maintainer
    6.5 Kernel boot parameters


1.0 CIRRUS LOGIC LAN CS8900/CS8920 ETHERNET ADAPTERS
===============================================================================


1.1 PRODUCT OVERVIEW

The CS8900-based ISA Ethernet Adapters from Cirrus Logic follow 
IEEE 802.3 standards and support half or full-duplex operation in ISA bus 
computers on 10 Mbps Ethernet networks.  The adapters are designed for operation 
in 16-bit ISA or EISA bus expansion slots and are available in 
10BaseT-only or 3-media configurations (10BaseT, 10Base2, and AUI for 10Base-5 
or fiber networks).  

CS8920-based adapters are similar to the CS8900-based adapter with additional 
features for Plug and Play (PnP) support and Wakeup Frame recognition.  As 
such, the configuration procedures differ somewhat between the two types of 
adapters.  Refer to the "Adapter Configuration" section for details on 
configuring both types of adapters.


1.2 DRIVER DESCRIPTION

The CS8900/CS8920 Ethernet Adapter driver for Linux supports the Linux
v2.3.48 or greater kernel.  It can be compiled directly into the kernel
or loaded at run-time as a device driver module.

1.2.1 Driver Name: cs89x0

1.2.2 Files in the Driver Archive:

The files in the driver at Cirrus' website include:

  readme.txt         - this file
  build              - batch file to compile cs89x0.c.
  cs89x0.c           - driver C code
  cs89x0.h           - driver header file
  cs89x0.o           - pre-compiled module (for v2.2.5 kernel)
  config/Config.in   - sample file to include cs89x0 driver in the kernel.
  config/Makefile    - sample file to include cs89x0 driver in the kernel.
  config/Space.c     - sample file to include cs89x0 driver in the kernel.



1.3 SYSTEM REQUIREMENTS

The following hardware is required:

   * Cirrus Logic LAN (CS8900/20-based) Ethernet ISA Adapter   

   * IBM or IBM-compatible PC with:
     * An 80386 or higher processor
     * 16 bytes of contiguous IO space available between 210h - 370h
     * One available IRQ (5,10,11,or 12 for the CS8900, 3-7,9-15 for CS8920).

   * Appropriate cable (and connector for AUI, 10BASE-2) for your network
     topology.

The following software is required:

* LINUX kernel version 2.3.48 or higher

   * CS8900/20 Setup Utility (DOS-based)

   * LINUX kernel sources for your kernel (if compiling into kernel)

   * GNU Toolkit (gcc and make) v2.6 or above (if compiling into kernel 
     or a module)   



1.4 LICENSING INFORMATION

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, version 1.

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.

For a full copy of the GNU General Public License, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.



2.0 ADAPTER INSTALLATION and CONFIGURATION
===============================================================================

Both the CS8900 and CS8920-based adapters can be configured using parameters 
stored in an on-board EEPROM. You must use the DOS-based CS8900/20 Setup 
Utility if you want to change the adapter's configuration in EEPROM.  

When loading the driver as a module, you can specify many of the adapter's 
configuration parameters on the command-line to override the EEPROM's settings 
or for interface configuration when an EEPROM is not used. (CS8920-based 
adapters must use an EEPROM.) See Section 3.0 LOADING THE DRIVER AS A MODULE.

Since the CS8900/20 Setup Utility is a DOS-based application, you must install 
and configure the adapter in a DOS-based system using the CS8900/20 Setup 
Utility before installation in the target LINUX system.  (Not required if 
installing a CS8900-based adapter and the default configuration is acceptable.)
     

2.1 CS8900-BASED ADAPTER CONFIGURATION

CS8900-based adapters shipped from Cirrus Logic have been configured 
with the following "default" settings:

  Operation Mode:      Memory Mode
  IRQ:                 10
  Base I/O Address:    300
  Memory Base Address: D0000
  Optimization:	       DOS Client
  Transmission Mode:   Half-duplex
  BootProm:            None
  Media Type:	       Autodetect (3-media cards) or 
                       10BASE-T (10BASE-T only adapter)

You should only change the default configuration settings if conflicts with 
another adapter exists. To change the adapter's configuration, run the 
CS8900/20 Setup Utility. 


2.2 CS8920-BASED ADAPTER CONFIGURATION

CS8920-based adapters are shipped from Cirrus Logic configured as Plug
and Play (PnP) enabled.  However, since the cs89x0 driver does NOT
support PnP, you must install the CS8920 adapter in a DOS-based PC and
run the CS8900/20 Setup Utility to disable PnP and configure the
adapter before installation in the target Linux system.  Failure to do
this will leave the adapter inactive and the driver will be unable to
communicate with the adapter.  


        **************************************************************** 
        *                    CS8920-BASED ADAPTERS:                    *
        *                                                              * 
        * CS8920-BASED ADAPTERS ARE PLUG and PLAY ENABLED BY DEFAULT.  * 
        * THE CS89X0 DRIVER DOES NOT SUPPORT PnP. THEREFORE, YOU MUST  *
        * RUN THE CS8900/20 SETUP UTILITY TO DISABLE PnP SUPPORT AND   *
        * TO ACTIVATE THE ADAPTER.                                     *
        ****************************************************************




3.0 LOADING THE DRIVER AS A MODULE
===============================================================================

If the driver is compiled as a loadable module, you can load the driver module
with the 'modprobe' command.  Many of the adapter's configuration parameters can 
be specified as command-line arguments to the load command.  This facility 
provides a means to override the EEPROM's settings or for interface 
configuration when an EEPROM is not used.

Example:

    insmod cs89x0.o io=0x200 irq=0xA media=aui

This example loads the module and configures the adapter to use an IO port base
address of 200h, interrupt 10, and use the AUI media connection.  The following
configuration options are available on the command line:

* io=###               - specify IO address (200h-360h)
* irq=##               - specify interrupt level
* use_dma=1            - Enable DMA
* dma=#                - specify dma channel (Driver is compiled to support
                         Rx DMA only)
* dmasize=# (16 or 64) - DMA size 16K or 64K.  Default value is set to 16.
* media=rj45           - specify media type
   or media=bnc
   or media=aui
   or media=auto
* duplex=full          - specify forced half/full/autonegotiate duplex
   or duplex=half
   or duplex=auto
* debug=#              - debug level (only available if the driver was compiled
                         for debugging)

NOTES:

a) If an EEPROM is present, any specified command-line parameter
   will override the corresponding configuration value stored in
   EEPROM.

b) The "io" parameter must be specified on the command-line.  

c) The driver's hardware probe routine is designed to avoid
   writing to I/O space until it knows that there is a cs89x0
   card at the written addresses.  This could cause problems
   with device probing.  To avoid this behaviour, add one
   to the `io=' module parameter.  This doesn't actually change
   the I/O address, but it is a flag to tell the driver
   topartially initialise the hardware before trying to
   identify the card.  This could be dangerous if you are
   not sure that there is a cs89x0 card at the provided address.

   For example, to scan for an adapter located at IO base 0x300,
   specify an IO address of 0x301.  

d) The "duplex=auto" parameter is only supported for the CS8920.

e) The minimum command-line configuration required if an EEPROM is
   not present is:

   io 
   irq 
   media type (no autodetect)

f) The following additional parameters are CS89XX defaults (values
   used with no EEPROM or command-line argument).

   * DMA Burst = enabled
   * IOCHRDY Enabled = enabled
   * UseSA = enabled
   * CS8900 defaults to half-duplex if not specified on command-line
   * CS8920 defaults to autoneg if not specified on command-line
   * Use reset defaults for other config parameters
   * dma_mode = 0

g) You can use ifconfig to set the adapter's Ethernet address.

h) Many Linux distributions use the 'modprobe' command to load
   modules.  This program uses the '/etc/conf.modules' file to
   determine configuration information which is passed to a driver
   module when it is loaded.  All the configuration options which are
   described above may be placed within /etc/conf.modules.

   For example:

   > cat /etc/conf.modules
   ...
   alias eth0 cs89x0
   options cs89x0 io=0x0200 dma=5 use_dma=1
   ...

   In this example we are telling the module system that the
   ethernet driver for this machine should use the cs89x0 driver.  We
   are asking 'modprobe' to pass the 'io', 'dma' and 'use_dma'
   arguments to the driver when it is loaded.

i) Cirrus recommend that the cs89x0 use the ISA DMA channels 5, 6 or
   7.  You will probably find that other DMA channels will not work.

j) The cs89x0 supports DMA for receiving only.  DMA mode is
   significantly more efficient.  Flooding a 400 MHz Celeron machine
   with large ping packets consumes 82% of its CPU capacity in non-DMA
   mode.  With DMA this is reduced to 45%.

k) If your Linux kernel was compiled with inbuilt plug-and-play
   support you will be able to find information about the cs89x0 card
   with the command

   cat /proc/isapnp

l) If during DMA operation you find erratic behavior or network data
   corruption you should use your PC's BIOS to slow the EISA bus clock.

m) If the cs89x0 driver is compiled directly into the kernel
   (non-modular) then its I/O address is automatically determined by
   ISA bus probing.  The IRQ number, media options, etc are determined
   from the card's EEPROM.

n) If the cs89x0 driver is compiled directly into the kernel, DMA
   mode may be selected by providing the kernel with a boot option
   'cs89x0_dma=N' where 'N' is the desired DMA channel number (5, 6 or 7).

   Kernel boot options may be provided on the LILO command line:

	LILO boot: linux cs89x0_dma=5

   or they may be placed in /etc/lilo.conf:

	image=/boot/bzImage-2.3.48
	  append="cs89x0_dma=5"
	  label=linux
	  root=/dev/hda5
	  read-only

   The DMA Rx buffer size is hardwired to 16 kbytes in this mode.
   (64k mode is not available).


4.0 COMPILING THE DRIVER
===============================================================================

The cs89x0 driver can be compiled directly into the kernel or compiled into
a loadable device driver module.


4.1 COMPILING THE DRIVER AS A LOADABLE MODULE

To compile the driver into a loadable module, use the following command 
(single command line, without quotes):

"gcc -D__KERNEL__ -I/usr/src/linux/include -I/usr/src/linux/net/inet -Wall 
-Wstrict-prototypes -O2 -fomit-frame-pointer -DMODULE -DCONFIG_MODVERSIONS 
-c cs89x0.c"

4.2 COMPILING THE DRIVER TO SUPPORT MEMORY MODE

Support for memory mode was not carried over into the 2.3 series kernels.

4.3 COMPILING THE DRIVER TO SUPPORT Rx DMA

The compile-time optionality for DMA was removed in the 2.3 kernel
series.  DMA support is now unconditionally part of the driver.  It is
enabled by the 'use_dma=1' module option.

4.4 COMPILING THE DRIVER INTO THE KERNEL

If your Linux distribution already has support for the cs89x0 driver
then simply copy the source file to the /usr/src/linux/drivers/net
directory to replace the original ones and run the make utility to
rebuild the kernel.  See Step 3 for rebuilding the kernel.

If your Linux does not include the cs89x0 driver, you need to edit three 
configuration files, copy the source file to the /usr/src/linux/drivers/net
directory, and then run the make utility to rebuild the kernel.

1. Edit the following configuration files by adding the statements as
indicated.  (When possible, try to locate the added text to the section of the
file containing similar statements).


a.) In /usr/src/linux/drivers/net/Config.in, add:

tristate 'CS89x0 support' CONFIG_CS89x0

Example:

     if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
       tristate 'ICL EtherTeam 16i/32 support' CONFIG_ETH16I
     fi

     tristate 'CS89x0 support' CONFIG_CS89x0

     tristate 'NE2000/NE1000 support' CONFIG_NE2000
     if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
       tristate 'NI5210 support' CONFIG_NI52


b.) In /usr/src/linux/drivers/net/Makefile, add the following lines: 

ifeq ($(CONFIG_CS89x0),y)
L_OBJS += cs89x0.o
else
  ifeq ($(CONFIG_CS89x0),m)
  M_OBJS += cs89x0.o
  endif
endif


c.) In /linux/drivers/net/Space.c file, add the line:

extern int cs89x0_probe(struct device *dev);


Example:

 extern int ultra_probe(struct device *dev);
 extern int wd_probe(struct device *dev);
 extern int el2_probe(struct device *dev);

 extern int cs89x0_probe(struct device *dev);

 extern int ne_probe(struct device *dev);
 extern int hp_probe(struct device *dev);
 extern int hp_plus_probe(struct device *dev);


Also add:

 #ifdef CONFIG_CS89x0
 	{ cs89x0_probe,0 },
 #endif


2.) Copy the driver source files (cs89x0.c and cs89x0.h) 
into the /usr/src/linux/drivers/net directory.


3.) Go to /usr/src/linux directory and run 'make config' followed by 'make' 
(or make bzImage) to rebuild the kernel. 

4.) Use the DOS 'setup' utility to disable plug and play on the NIC.


5.0 TESTING AND TROUBLESHOOTING
===============================================================================

5.1 KNOWN DEFECTS and LIMITATIONS

Refer to the RELEASE.TXT file distributed as part of this archive for a list of 
known defects, driver limitations, and work arounds.


5.2 TESTING THE ADAPTER

Once the adapter has been installed and configured, the diagnostic option of 
the CS8900/20 Setup Utility can be used to test the functionality of the 
adapter and its network connection.  Use the diagnostics 'Self Test' option to
test the functionality of the adapter with the hardware configuration you have
assigned. You can use the diagnostics 'Network Test' to test the ability of the
adapter to communicate across the Ethernet with another PC equipped with a 
CS8900/20-based adapter card (it must also be running the CS8900/20 Setup 
Utility).

         NOTE: The Setup Utility's diagnostics are designed to run in a
         DOS-only operating system environment.  DO NOT run the diagnostics 
         from a DOS or command prompt session under Windows 95, Windows NT, 
         OS/2, or other operating system.

To run the diagnostics tests on the CS8900/20 adapter:

   1.) Boot DOS on the PC and start the CS8900/20 Setup Utility.

   2.) The adapter's current configuration is displayed.  Hit the ENTER key to
       get to the main menu.

   4.) Select 'Diagnostics' (ALT-G) from the main menu.  
       * Select 'Self-Test' to test the adapter's basic functionality.
       * Select 'Network Test' to test the network connection and cabling.


5.2.1 DIAGNOSTIC SELF-TEST

The diagnostic self-test checks the adapter's basic functionality as well as 
its ability to communicate across the ISA bus based on the system resources 
assigned during hardware configuration.  The following tests are performed:

   * IO Register Read/Write Test
     The IO Register Read/Write test insures that the CS8900/20 can be 
     accessed in IO mode, and that the IO base address is correct.

   * Shared Memory Test
     The Shared Memory test insures the CS8900/20 can be accessed in memory 
     mode and that the range of memory addresses assigned does not conflict 
     with other devices in the system.

   * Interrupt Test
     The Interrupt test insures there are no conflicts with the assigned IRQ
     signal.

   * EEPROM Test
     The EEPROM test insures the EEPROM can be read.

   * Chip RAM Test
     The Chip RAM test insures the 4K of memory internal to the CS8900/20 is
     working properly.

   * Internal Loop-back Test
     The Internal Loop Back test insures the adapter's transmitter and 
     receiver are operating properly.  If this test fails, make sure the 
     adapter's cable is connected to the network (check for LED activity for 
     example).

   * Boot PROM Test
     The Boot PROM  test insures the Boot PROM is present, and can be read.
     Failure indicates the Boot PROM  was not successfully read due to a
     hardware problem or due to a conflicts on the Boot PROM address
     assignment. (Test only applies if the adapter is configured to use the
     Boot PROM option.)

Failure of a test item indicates a possible system resource conflict with 
another device on the ISA bus.  In this case, you should use the Manual Setup 
option to reconfigure the adapter by selecting a different value for the system
resource that failed.


5.2.2 DIAGNOSTIC NETWORK TEST

The Diagnostic Network Test verifies a working network connection by 
transferring data between two CS8900/20 adapters installed in different PCs 
on the same network. (Note: the diagnostic network test should not be run 
between two nodes across a router.) 

This test requires that each of the two PCs have a CS8900/20-based adapter
installed and have the CS8900/20 Setup Utility running.  The first PC is 
configured as a Responder and the other PC is configured as an Initiator.  
Once the Initiator is started, it sends data frames to the Responder which 
returns the frames to the Initiator.

The total number of frames received and transmitted are displayed on the 
Initiator's display, along with a count of the number of frames received and 
transmitted OK or in error.  The test can be terminated anytime by the user at 
either PC.

To setup the Diagnostic Network Test:

    1.) Select a PC with a CS8900/20-based adapter and a known working network
        connection to act as the Responder.  Run the CS8900/20 Setup Utility 
        and select 'Diagnostics -> Network Test -> Responder' from the main 
        menu.  Hit ENTER to start the Responder.

    2.) Return to the PC with the CS8900/20-based adapter you want to test and
        start the CS8900/20 Setup Utility. 

    3.) From the main menu, Select 'Diagnostic -> Network Test -> Initiator'.
        Hit ENTER to start the test.
 
You may stop the test on the Initiator at any time while allowing the Responder
to continue running.  In this manner, you can move to additional PCs and test 
them by starting the Initiator on another PC without having to stop/start the 
Responder.
 


5.3 USING THE ADAPTER'S LEDs

The 2 and 3-media adapters have two LEDs visible on the back end of the board 
located near the 10Base-T connector.  

Link Integrity LED: A "steady" ON of the green LED indicates a valid 10Base-T 
connection.  (Only applies to 10Base-T.  The green LED has no significance for
a 10Base-2 or AUI connection.)

TX/RX LED: The yellow LED lights briefly each time the adapter transmits or 
receives data. (The yellow LED will appear to "flicker" on a typical network.)


5.4 RESOLVING I/O CONFLICTS

An IO conflict occurs when two or more adapter use the same ISA resource (IO 
address, memory address or IRQ).  You can usually detect an IO conflict in one 
of four ways after installing and or configuring the CS8900/20-based adapter:

    1.) The system does not boot properly (or at all).

    2.) The driver can not communicate with the adapter, reporting an "Adapter
        not found" error message.

    3.) You cannot connect to the network or the driver will not load.

    4.) If you have configured the adapter to run in memory mode but the driver
        reports it is using IO mode when loading, this is an indication of a
        memory address conflict.

If an IO conflict occurs, run the CS8900/20 Setup Utility and perform a 
diagnostic self-test.  Normally, the ISA resource in conflict will fail the 
self-test.  If so, reconfigure the adapter selecting another choice for the 
resource in conflict.  Run the diagnostics again to check for further IO 
conflicts.

In some cases, such as when the PC will not boot, it may be necessary to remove
the adapter and reconfigure it by installing it in another PC to run the 
CS8900/20 Setup Utility.  Once reinstalled in the target system, run the 
diagnostics self-test to ensure the new configuration is free of conflicts 
before loading the driver again.

When manually configuring the adapter, keep in mind the typical ISA system 
resource usage as indicated in the tables below.

I/O Address    	Device                        IRQ      Device
-----------    	--------                      ---      --------
 200-20F       	Game I/O adapter               3       COM2, Bus Mouse
 230-23F       	Bus Mouse                      4       COM1
 270-27F       	LPT3: third parallel port      5       LPT2
 2F0-2FF       	COM2: second serial port       6       Floppy Disk controller
 320-32F       	Fixed disk controller          7       LPT1
                                      	       8       Real-time Clock
                                                 9       EGA/VGA display adapter    
                                                12       Mouse (PS/2)                              
Memory Address  Device                          13       Math Coprocessor
--------------  ---------------------           14       Hard Disk controller
A000-BFFF	EGA Graphics Adpater
A000-C7FF	VGA Graphics Adpater
B000-BFFF	Mono Graphics Adapter
B800-BFFF	Color Graphics Adapter
E000-FFFF	AT BIOS




6.0 TECHNICAL SUPPORT
===============================================================================

6.1 CONTACTING CIRRUS LOGIC'S TECHNICAL SUPPORT

Cirrus Logic's CS89XX Technical Application Support can be reached at:

Telephone  :(800) 888-5016 (from inside U.S. and Canada)
           :(512) 442-7555 (from outside the U.S. and Canada)
Fax        :(512) 912-3871
Email      :ethernet@crystal.cirrus.com
WWW        :http://www.cirrus.com


6.2 INFORMATION REQUIRED BEFORE CONTACTING TECHNICAL SUPPORT

Before contacting Cirrus Logic for technical support, be prepared to provide as 
Much of the following information as possible. 

1.) Adapter type (CRD8900, CDB8900, CDB8920, etc.)

2.) Adapter configuration

    * IO Base, Memory Base, IO or memory mode enabled, IRQ, DMA channel
    * Plug and Play enabled/disabled (CS8920-based adapters only)
    * Configured for media auto-detect or specific media type (which type).    

3.) PC System's Configuration

    * Plug and Play system (yes/no)
    * BIOS (make and version)
    * System make and model
    * CPU (type and speed)
    * System RAM
    * SCSI Adapter

4.) Software

    * CS89XX driver and version
    * Your network operating system and version
    * Your system's OS version 
    * Version of all protocol support files

5.) Any Error Message displayed.



6.3 OBTAINING THE LATEST DRIVER VERSION

You can obtain the latest CS89XX drivers and support software from Cirrus Logic's 
Web site.  You can also contact Cirrus Logic's Technical Support (email:
ethernet@crystal.cirrus.com) and request that you be registered for automatic 
software-update notification.

Cirrus Logic maintains a web page at http://www.cirrus.com with the
the latest drivers and technical publications.


6.4 Current maintainer

In February 2000 the maintenance of this driver was assumed by Andrew
Morton <akpm@zip.com.au>

6.5 Kernel module parameters

For use in embedded environments with no cs89x0 EEPROM, the kernel boot
parameter `cs89x0_media=' has been implemented.  Usage is:

	cs89x0_media=rj45    or
	cs89x0_media=aui     or
	cs89x0_media=bnc