diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
commit | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch) | |
tree | 0bba044c4ce775e45a88a51686b5d9f90697ea9d /Documentation/networking/cs89x0.txt |
Linux-2.6.12-rc2v2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.
Let it rip!
Diffstat (limited to 'Documentation/networking/cs89x0.txt')
-rw-r--r-- | Documentation/networking/cs89x0.txt | 703 |
1 files changed, 703 insertions, 0 deletions
diff --git a/Documentation/networking/cs89x0.txt b/Documentation/networking/cs89x0.txt new file mode 100644 index 000000000000..188beb7d6a17 --- /dev/null +++ b/Documentation/networking/cs89x0.txt | |||
@@ -0,0 +1,703 @@ | |||
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 medai=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 | topartially 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 can not 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 Adpater | ||
624 | A000-C7FF VGA Graphics Adpater | ||
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 | the 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 | |||