요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
.. SPDX-License-Identifier: GPL-2.0
================================================
Cirrus Logic LAN CS8900/CS8920 Ethernet Adapters
================================================
.. 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.
Still, this is too outdated! A major cleanup is needed here.
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.
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
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. 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. 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. 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
to partially 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. Compiling the Driver
=======================
The cs89x0 driver can be compiled directly into the kernel or compiled into
a loadable device driver module.
Just use the standard way to configure the driver and compile the Kernel.
4.1. 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.
5. 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 cannot 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 Adapter
A000-C7FF VGA Graphics Adapter
B000-BFFF Mono Graphics Adapter
B800-BFFF Color Graphics Adapter
E000-FFFF AT BIOS
6. 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
latest drivers and technical publications.
6.4. Current maintainer
-----------------------
In February 2000 the maintenance of this driver was assumed by Andrew
Morton.
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
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
문서 상태와 목차
1-58Cirrus Logic LAN CS8900/CS8920 이더넷 어댑터
참고: 이 문서는 Cirrus Logic이 커널 2.2.5용으로 기여했고 Andrew Morton이 2.3.48에 맞게 갱신했습니다.
그럼에도 내용이 지나치게 오래되었습니다. 이 문서는 대대적인 정리가 필요합니다.
아래에서 설명하듯 Cirrus 웹사이트에서도 이 드라이버 사본을 제공합니다. 일반적으로는 사용 중인 Linux 배포판에 포함된 드라이버 버전을 사용해야 합니다.
Linux 네트워크 인터페이스 드라이버 버전 2.00, 커널 2.3.48
목차
- 1.0 Cirrus Logic LAN CS8900/CS8920 이더넷 어댑터
- 1.1 제품 개요
- 1.2 드라이버 설명, 드라이버 이름과 배포 파일
- 1.3 시스템 요구 사항
- 1.4 라이선스 정보
- 2.0 어댑터 설치와 구성
- 2.1 CS8900 기반 어댑터 구성
- 2.2 CS8920 기반 어댑터 구성
- 3.0 모듈로 드라이버 적재
- 4.0 드라이버 컴파일과 Rx DMA 지원
- 5.0 시험과 문제 해결
- 5.1 알려진 결함과 제한
- 5.2 어댑터 시험, 진단 자체 시험과 네트워크 시험
- 5.3 어댑터 LED 사용
- 5.4 I/O 충돌 해결
- 6.0 기술 지원, 최신 드라이버, 관리자와 커널 매개변수
.. SPDX-License-Identifier: GPL-2.0
================================================
Cirrus Logic LAN CS8900/CS8920 Ethernet Adapters
================================================
.. 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.
Still, this is too outdated! A major cleanup is needed here.
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.
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
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
제품 개요, 드라이버, 요구 사항과 라이선스
59-1501. Cirrus Logic LAN CS8900/CS8920 이더넷 어댑터
1.1 제품 개요
Cirrus Logic의 CS8900 기반 ISA 이더넷 어댑터는 IEEE 802.3 표준을 따릅니다. ISA 버스 컴퓨터의 10Mbps 이더넷 네트워크에서 반이중 또는 전이중으로 동작합니다. 16비트 ISA 또는 EISA 버스 확장 슬롯용이며, 10BaseT 전용 구성과 10BaseT·10Base2·AUI를 함께 갖춘 3매체 구성이 있습니다. AUI는 10Base-5 또는 광 네트워크에 사용합니다.
CS8920 기반 어댑터는 CS8900 기반 어댑터와 비슷하지만 Plug and Play(`PnP`) 지원과 Wakeup Frame 인식 기능이 추가되었습니다. 따라서 두 어댑터의 구성 절차에는 차이가 있습니다. 자세한 구성법은 어댑터 구성 절을 참조하십시오.
1.2 드라이버 설명
Linux용 CS8900/CS8920 이더넷 어댑터 드라이버는 Linux 커널 2.3.48 이상을 지원합니다. 커널에 직접 포함해 컴파일하거나 실행 중 장치 드라이버 모듈로 적재할 수 있습니다.
1.2.1 드라이버 이름: `cs89x0`
1.2.2 드라이버 아카이브의 파일
Cirrus 웹사이트의 드라이버에는 다음 파일이 들어 있습니다.
| 파일 | 설명 |
|---|---|
| readme.txt | 이 문서 |
| build | cs89x0.c를 컴파일하는 배치 파일 |
| cs89x0.c | 드라이버 C 코드 |
| cs89x0.h | 드라이버 헤더 파일 |
| cs89x0.o | 커널 2.2.5용 사전 컴파일 모듈 |
| config/Config.in | cs89x0 드라이버를 커널에 포함하는 예제 파일 |
| config/Makefile | cs89x0 드라이버를 커널에 포함하는 예제 파일 |
| config/Space.c | cs89x0 드라이버를 커널에 포함하는 예제 파일 |
1.3 시스템 요구 사항
다음 하드웨어가 필요합니다.
- Cirrus Logic LAN CS8900/20 기반 이더넷 ISA 어댑터
- 80386 이상의 프로세서를 탑재한 IBM PC 또는 호환 PC
- 210h에서 370h 사이에서 연속된 I/O 공간 16바이트
- 사용 가능한 IRQ 하나: CS8900은 5·10·11·12, CS8920은 3~7·9~15
- 네트워크 토폴로지에 맞는 케이블과 AUI 또는 10BASE-2용 커넥터
다음 소프트웨어가 필요합니다.
- Linux 커널 2.3.48 이상
- DOS 기반 CS8900/20 Setup Utility
- 커널에 포함해 컴파일할 경우 해당 커널의 Linux 소스
- 커널 또는 모듈을 컴파일할 경우 GNU 도구 모음 gcc와 make 2.6 이상
1.4 라이선스 정보
이 프로그램은 자유 소프트웨어입니다. Free Software Foundation이 공표한 GNU General Public License 버전 1의 조건에 따라 재배포하거나 수정할 수 있습니다.
이 프로그램은 유용하기를 바라며 배포하지만 어떠한 보증도 제공하지 않습니다. 상품성 또는 특정 목적 적합성에 대한 묵시적 보증도 없습니다. 자세한 내용은 GNU General Public License를 참조하십시오.
GNU General Public License 전문은 Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA에 요청할 수 있습니다.
1. 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.
어댑터 설치와 EEPROM 구성
151-2142. 어댑터 설치와 구성
CS8900과 CS8920 기반 어댑터는 보드 내 EEPROM에 저장된 매개변수로 구성할 수 있습니다. EEPROM의 어댑터 구성을 바꾸려면 DOS 기반 CS8900/20 Setup Utility를 사용해야 합니다.
드라이버를 모듈로 적재할 때 명령줄에서 여러 구성 매개변수를 지정할 수 있습니다. 이 값은 EEPROM 설정을 덮어쓰거나 EEPROM을 쓰지 않는 인터페이스를 구성할 때 사용합니다. CS8920 기반 어댑터에는 EEPROM이 반드시 필요합니다. 3.0절을 참조하십시오.
CS8900/20 Setup Utility는 DOS 응용 프로그램입니다. 대상 Linux 시스템에 설치하기 전에 DOS 시스템에서 어댑터를 설치하고 이 도구로 구성해야 합니다. CS8900 기반 어댑터의 기본 구성을 그대로 쓸 수 있다면 이 과정은 필요하지 않습니다.
2.1 CS8900 기반 어댑터 구성
Cirrus Logic이 출하한 CS8900 기반 어댑터의 기본 설정은 다음과 같습니다.
| 항목 | 기본값 |
|---|---|
| 동작 모드 | Memory Mode |
| IRQ | 10 |
| 기본 I/O 주소 | 300 |
| 메모리 기본 주소 | D0000 |
| 최적화 | DOS Client |
| 전송 모드 | 반이중 |
| BootProm | 없음 |
| 매체 유형 | 3매체 카드는 자동 감지, 10BASE-T 전용 카드는 10BASE-T |
다른 어댑터와 충돌할 때만 기본 설정을 바꾸는 것이 좋습니다. 어댑터 구성을 변경하려면 CS8900/20 Setup Utility를 실행합니다.
2.2 CS8920 기반 어댑터 구성
Cirrus Logic은 CS8920 기반 어댑터를 PnP가 활성화된 상태로 출하했습니다. 그러나 `cs89x0` 드라이버는 PnP를 지원하지 않습니다. 대상 Linux 시스템에 설치하기 전에 DOS PC에서 CS8900/20 Setup Utility를 실행해 PnP를 끄고 어댑터를 구성해야 합니다. 이 작업을 하지 않으면 어댑터는 비활성 상태로 남고 드라이버가 통신할 수 없습니다.
CS8920 기반 어댑터 중요 경고
- CS8920 기반 어댑터는 기본적으로 Plug and Play가 활성화되어 있습니다.
- `cs89x0` 드라이버는 PnP를 지원하지 않습니다.
- CS8900/20 Setup Utility를 실행해 PnP 지원을 끄고 어댑터를 활성화해야 합니다.
2. 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. *
****************************************************************
모듈 적재, 구성 옵션과 DMA
215-3513. 모듈로 드라이버 적재
드라이버를 적재 가능한 모듈로 컴파일했다면 `modprobe` 명령으로 적재할 수 있습니다. 적재 명령의 인자로 많은 어댑터 구성 매개변수를 지정할 수 있습니다. 이를 통해 EEPROM 설정을 덮어쓰거나 EEPROM이 없는 인터페이스를 구성할 수 있습니다.
예
insmod cs89x0.o io=0x200 irq=0xA media=aui
이 예는 모듈을 적재하면서 어댑터의 기본 I/O 포트 주소를 200h, 인터럽트를 10으로 설정하고 AUI 매체 연결을 사용합니다. 명령줄에서 사용할 수 있는 구성 옵션은 다음과 같습니다.
| 옵션 | 설명 |
|---|---|
| io=### | I/O 주소 지정, 200h~360h |
| irq=## | 인터럽트 레벨 지정 |
| use_dma=1 | DMA 활성화 |
| dma=# | DMA 채널 지정, 드라이버는 수신 DMA만 지원 |
| dmasize=16 또는 64 | DMA 크기 16KB 또는 64KB, 기본값 16 |
| media=rj45 | RJ45 매체 지정 |
| media=bnc | BNC 매체 지정 |
| media=aui | AUI 매체 지정 |
| media=auto | 매체 자동 감지 |
| duplex=full | 전이중 강제 |
| duplex=half | 반이중 강제 |
| duplex=auto | 이중 모드 자동 협상, CS8920만 지원 |
| debug=# | 디버그 수준, 디버깅을 포함해 컴파일했을 때만 사용 가능 |
참고 a
EEPROM이 있으면 명령줄에서 지정한 매개변수가 EEPROM의 해당 구성 값을 덮어씁니다.
참고 b
`io` 매개변수는 명령줄에서 반드시 지정해야 합니다.
참고 c
드라이버의 하드웨어 탐색 루틴은 해당 주소에 `cs89x0` 카드가 있음을 확인할 때까지 I/O 공간에 쓰지 않도록 설계되었습니다. 이 동작은 장치 탐색에 문제를 일으킬 수 있습니다. 이를 피하려면 `io=` 모듈 매개변수에 1을 더합니다. 실제 I/O 주소는 바뀌지 않으며, 카드를 식별하기 전에 하드웨어를 부분적으로 초기화하라는 플래그입니다. 지정한 주소에 `cs89x0` 카드가 있다는 확신이 없으면 위험할 수 있습니다.
예를 들어 I/O 기본 주소 0x300의 어댑터를 찾으려면 `io=0x301`을 지정합니다.
참고 d
`duplex=auto` 매개변수는 CS8920에서만 지원됩니다.
참고 e
EEPROM이 없을 때 필요한 최소 명령줄 구성은 다음과 같습니다.
- `io`
- `irq`
- 매체 유형, 자동 감지 불가
참고 f
다음 추가 값은 EEPROM과 명령줄 인자가 없을 때 쓰는 CS89XX 기본값입니다.
- DMA Burst 활성화
- IOCHRDY Enabled 활성화
- UseSA 활성화
- 명령줄에서 지정하지 않으면 CS8900은 반이중
- 명령줄에서 지정하지 않으면 CS8920은 자동 협상
- 그 밖의 구성 매개변수는 reset 기본값 사용
- `dma_mode = 0`
참고 g
`ifconfig`로 어댑터의 이더넷 주소를 설정할 수 있습니다.
참고 h
많은 Linux 배포판은 `modprobe`로 모듈을 적재합니다. 이 프로그램은 `/etc/conf.modules` 파일에서 구성 정보를 읽어 드라이버 모듈을 적재할 때 전달합니다. 앞에서 설명한 모든 구성 옵션을 이 파일에 넣을 수 있습니다.
예
> cat /etc/conf.modules
...
alias eth0 cs89x0
options cs89x0 io=0x0200 dma=5 use_dma=1
...
이 예는 이 시스템의 이더넷 드라이버로 `cs89x0`을 사용하도록 모듈 시스템에 알리고, `modprobe`가 드라이버를 적재할 때 `io`, `dma`, `use_dma` 인자를 전달하게 합니다.
참고 i
Cirrus는 `cs89x0`에서 ISA DMA 채널 5, 6, 7을 사용하도록 권장합니다. 다른 DMA 채널은 작동하지 않을 가능성이 큽니다.
참고 j
`cs89x0`은 수신에만 DMA를 지원합니다. DMA 모드는 훨씬 효율적입니다. 400MHz Celeron 시스템에 큰 ping 패킷을 가득 보내면 비DMA 모드는 CPU 용량의 82%를 사용하지만 DMA를 사용하면 45%로 줄어듭니다.
참고 k
Linux 커널에 내장 PnP 지원을 포함해 컴파일했다면 다음 명령으로 `cs89x0` 카드 정보를 확인할 수 있습니다.
cat /proc/isapnp
참고 l
DMA 동작 중 불규칙한 동작이나 네트워크 데이터 손상이 발생하면 PC BIOS에서 EISA 버스 클록을 낮추십시오.
참고 m
`cs89x0` 드라이버를 모듈이 아니라 커널에 직접 포함하면 ISA 버스 탐색으로 I/O 주소를 자동 결정합니다. IRQ 번호, 매체 옵션 등은 카드 EEPROM에서 결정합니다.
참고 n
`cs89x0` 드라이버를 커널에 직접 포함했을 때는 `cs89x0_dma=N` 부팅 옵션으로 DMA 모드를 선택할 수 있습니다. `N`은 원하는 DMA 채널 5, 6, 7 중 하나입니다.
LILO 명령줄에서 커널 부팅 옵션을 전달하는 예
LILO boot: linux cs89x0_dma=5
`/etc/lilo.conf`에 넣는 예
image=/boot/bzImage-2.3.48
append="cs89x0_dma=5"
label=linux
root=/dev/hda5
read-only
이 모드에서 DMA 수신 버퍼 크기는 16KB로 고정되며 64KB 모드는 사용할 수 없습니다.
3. 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
to partially 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).
드라이버 컴파일과 진단 시작
352-4094. 드라이버 컴파일
`cs89x0` 드라이버는 커널에 직접 포함하거나 적재 가능한 장치 드라이버 모듈로 컴파일할 수 있습니다.
표준 방식으로 드라이버를 구성하고 커널을 컴파일하면 됩니다.
4.1 수신 DMA 지원을 포함한 드라이버 컴파일
2.3 커널 계열에서는 DMA를 컴파일 시점에 선택하는 기능이 제거되었습니다. DMA 지원은 이제 드라이버에 항상 포함되며 `use_dma=1` 모듈 옵션으로 활성화합니다.
5. 시험과 문제 해결
5.1 알려진 결함과 제한
알려진 결함, 드라이버 제한과 우회 방법은 이 아카이브에 포함된 `RELEASE.TXT` 파일을 참조하십시오.
5.2 어댑터 시험
어댑터를 설치하고 구성한 뒤 CS8900/20 Setup Utility의 진단 옵션으로 어댑터 기능과 네트워크 연결을 시험할 수 있습니다. `Self Test`는 지정한 하드웨어 구성에서 어댑터 기능을 시험합니다. `Network Test`는 이더넷을 통해 다른 PC의 CS8900/20 기반 어댑터와 통신할 수 있는지 시험합니다. 상대 PC에서도 CS8900/20 Setup Utility를 실행해야 합니다.
주의: Setup Utility의 진단 기능은 DOS 전용 운영체제 환경에서 실행하도록 설계되었습니다. Windows 95, Windows NT, OS/2 또는 다른 운영체제의 DOS 세션이나 명령 프롬프트에서 실행하지 마십시오.
CS8900/20 어댑터 진단 시험 실행 절차
- 1. PC를 DOS로 부팅하고 CS8900/20 Setup Utility를 시작합니다.
- 2. 현재 어댑터 구성이 표시되면 Enter를 눌러 주 메뉴로 이동합니다.
- 4. 주 메뉴에서 `Diagnostics`(`ALT-G`)를 선택합니다. 원문의 단계 번호도 2 다음에 4로 이어집니다.
- `Self-Test`를 선택하면 어댑터 기본 기능을 시험합니다.
- `Network Test`를 선택하면 네트워크 연결과 케이블을 시험합니다.
4. Compiling the Driver
=======================
The cs89x0 driver can be compiled directly into the kernel or compiled into
a loadable device driver module.
Just use the standard way to configure the driver and compile the Kernel.
4.1. 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.
5. 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.
진단 자체 시험
410-4615.2.1 진단 자체 시험
진단 자체 시험은 어댑터의 기본 기능과 하드웨어 구성에서 지정한 시스템 자원을 사용해 ISA 버스로 통신할 수 있는지를 확인합니다. 다음 시험을 수행합니다.
I/O 레지스터 읽기/쓰기 시험
CS8900/20에 I/O 모드로 접근할 수 있고 기본 I/O 주소가 올바른지 확인합니다.
공유 메모리 시험
CS8900/20에 메모리 모드로 접근할 수 있고 지정된 메모리 주소 범위가 시스템의 다른 장치와 충돌하지 않는지 확인합니다.
인터럽트 시험
지정한 IRQ 신호와 충돌이 없는지 확인합니다.
EEPROM 시험
EEPROM을 읽을 수 있는지 확인합니다.
칩 RAM 시험
CS8900/20 내부의 4KB 메모리가 정상적으로 작동하는지 확인합니다.
내부 루프백 시험
어댑터의 송신기와 수신기가 정상적으로 동작하는지 확인합니다. 이 시험이 실패하면 어댑터 케이블이 네트워크에 연결되어 있는지 확인하십시오. 예를 들어 LED 동작을 살펴봅니다.
부트 PROM 시험
부트 PROM이 있고 읽을 수 있는지 확인합니다. 실패하면 하드웨어 문제 또는 부트 PROM 주소 할당 충돌로 읽지 못한 것입니다. 이 시험은 어댑터가 부트 PROM 옵션을 사용하도록 구성된 경우에만 적용됩니다.
시험 항목이 실패하면 ISA 버스의 다른 장치와 시스템 자원이 충돌할 가능성이 있습니다. `Manual Setup`에서 실패한 자원에 다른 값을 선택해 어댑터를 다시 구성하십시오.
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.
진단 네트워크 시험
462-5015.2.2 진단 네트워크 시험
진단 네트워크 시험은 같은 네트워크의 서로 다른 PC에 설치된 두 CS8900/20 어댑터 사이에서 데이터를 전송해 네트워크 연결이 작동하는지 확인합니다. 라우터를 사이에 둔 두 노드에서는 이 시험을 실행하지 않아야 합니다.
두 PC 모두 CS8900/20 기반 어댑터를 설치하고 CS8900/20 Setup Utility를 실행해야 합니다. 한 PC는 Responder로, 다른 PC는 Initiator로 구성합니다. Initiator를 시작하면 Responder에 데이터 프레임을 보내고 Responder는 프레임을 되돌려 보냅니다.
Initiator 화면에는 수신·송신한 전체 프레임 수와 정상 또는 오류로 처리된 프레임 수가 표시됩니다. 사용자는 어느 PC에서든 언제든 시험을 종료할 수 있습니다.
진단 네트워크 시험 설정 절차
- 1. CS8900/20 기반 어댑터와 정상 네트워크 연결을 갖춘 PC를 Responder로 선택합니다. Setup Utility에서 `Diagnostics -> Network Test -> Responder`를 선택하고 Enter를 눌러 시작합니다.
- 2. 시험하려는 CS8900/20 기반 어댑터가 있는 PC로 돌아가 Setup Utility를 시작합니다.
- 3. 주 메뉴에서 `Diagnostic -> Network Test -> Initiator`를 선택하고 Enter를 눌러 시험을 시작합니다.
Responder는 계속 실행한 채 Initiator 시험만 중지할 수 있습니다. 따라서 Responder를 다시 시작하지 않고 다른 PC로 이동해 각 PC에서 Initiator를 시작하며 추가 어댑터를 시험할 수 있습니다.
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.
LED 해석과 I/O 충돌 해결
502-5715.3 어댑터 LED 사용
2매체 및 3매체 어댑터에는 보드 뒤쪽 10Base-T 커넥터 근처에 외부에서 볼 수 있는 LED 두 개가 있습니다.
Link Integrity LED: 녹색 LED가 계속 켜져 있으면 10Base-T 연결이 유효합니다. 이 표시는 10Base-T에만 적용되며 10Base-2나 AUI 연결에서는 녹색 LED에 의미가 없습니다.
TX/RX LED: 어댑터가 데이터를 송신하거나 수신할 때마다 노란색 LED가 잠깐 켜집니다. 일반적인 네트워크에서는 깜박이는 것처럼 보입니다.
5.4 I/O 충돌 해결
둘 이상의 어댑터가 같은 ISA 자원, 즉 I/O 주소, 메모리 주소 또는 IRQ를 사용할 때 I/O 충돌이 발생합니다. CS8900/20 기반 어댑터를 설치하거나 구성한 뒤 다음 네 가지 증상으로 충돌을 발견할 수 있습니다.
- 시스템이 정상적으로 부팅되지 않거나 전혀 부팅되지 않습니다.
- 드라이버가 어댑터와 통신하지 못하고 `Adapter not found` 오류를 보고합니다.
- 네트워크에 연결할 수 없거나 드라이버가 적재되지 않습니다.
- 메모리 모드로 구성했지만 드라이버 적재 시 I/O 모드를 사용한다고 보고하면 메모리 주소 충돌을 뜻합니다.
I/O 충돌이 발생하면 CS8900/20 Setup Utility를 실행해 진단 자체 시험을 수행합니다. 일반적으로 충돌한 ISA 자원이 시험에서 실패합니다. 실패한 자원에 다른 값을 선택해 어댑터를 다시 구성한 뒤 진단을 다시 실행해 다른 충돌이 없는지 확인합니다.
PC가 부팅되지 않는 경우처럼 대상 시스템에서 설정할 수 없다면 어댑터를 제거해 다른 PC에 설치한 뒤 Setup Utility로 다시 구성해야 할 수 있습니다. 대상 시스템에 다시 설치한 뒤 드라이버를 적재하기 전에 자체 시험으로 새 구성이 충돌하지 않는지 확인합니다.
어댑터를 수동 구성할 때는 다음 표의 일반적인 ISA 시스템 자원 사용 현황을 고려하십시오.
| I/O 주소 | 일반 장치 | IRQ | 일반 장치 |
|---|---|---|---|
| 200-20F | 게임 I/O 어댑터 | 3 | COM2, 버스 마우스 |
| 230-23F | 버스 마우스 | 4 | COM1 |
| 270-27F | LPT3, 세 번째 병렬 포트 | 5 | LPT2 |
| 2F0-2FF | COM2, 두 번째 직렬 포트 | 6 | 플로피 디스크 컨트롤러 |
| 320-32F | 고정 디스크 컨트롤러 | 7 | LPT1 |
| 8 | 실시간 시계 | ||
| 9 | EGA/VGA 디스플레이 어댑터 | ||
| 12 | PS/2 마우스 | ||
| 13 | 수학 보조 프로세서 | ||
| 14 | 하드 디스크 컨트롤러 |
| 메모리 주소 | 일반 장치 |
|---|---|
| A000-BFFF | EGA 그래픽 어댑터 |
| A000-C7FF | VGA 그래픽 어댑터 |
| B000-BFFF | 모노 그래픽 어댑터 |
| B800-BFFF | 컬러 그래픽 어댑터 |
| E000-FFFF | AT BIOS |
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 cannot 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 Adapter
A000-C7FF VGA Graphics Adapter
B000-BFFF Mono Graphics Adapter
B800-BFFF Color Graphics Adapter
E000-FFFF AT BIOS
기술 지원, 관리자와 커널 매개변수
572-6476. 기술 지원
6.1 Cirrus Logic 기술 지원에 문의
Cirrus Logic CS89XX Technical Application Support 연락처
| 수단 | 연락처 |
|---|---|
| 전화, 미국·캐나다 | (800) 888-5016 |
| 전화, 미국·캐나다 외 | (512) 442-7555 |
| 팩스 | (512) 912-3871 |
| 이메일 | ethernet@crystal.cirrus.com |
| 웹 | http://www.cirrus.com |
6.2 기술 지원에 문의하기 전에 필요한 정보
Cirrus Logic에 기술 지원을 요청하기 전에 다음 정보를 가능한 한 많이 준비하십시오.
1. 어댑터 유형: CRD8900, CDB8900, CDB8920 등
2. 어댑터 구성
- I/O Base, Memory Base, I/O 또는 메모리 모드 활성화 여부, IRQ, DMA 채널
- PnP 활성화 여부, CS8920 기반 어댑터에만 해당
- 매체 자동 감지 또는 특정 매체 유형으로 구성했는지와 해당 유형
3. PC 시스템 구성
- PnP 시스템 여부
- BIOS 제조사와 버전
- 시스템 제조사와 모델
- CPU 유형과 속도
- 시스템 RAM
- SCSI 어댑터
4. 소프트웨어
- CS89XX 드라이버와 버전
- 네트워크 운영체제와 버전
- 시스템 OS 버전
- 모든 프로토콜 지원 파일의 버전
5. 화면에 표시된 모든 오류 메시지
6.3 최신 드라이버 버전 받기
Cirrus Logic 웹사이트에서 최신 CS89XX 드라이버와 지원 소프트웨어를 받을 수 있습니다. `ethernet@crystal.cirrus.com`으로 기술 지원에 연락해 자동 소프트웨어 업데이트 알림 등록을 요청할 수도 있습니다.
Cirrus Logic은 `http://www.cirrus.com`에서 최신 드라이버와 기술 문서를 제공합니다.
6.4 현재 관리자
2000년 2월부터 Andrew Morton이 이 드라이버의 관리를 맡았습니다.
6.5 커널 모듈 매개변수
`cs89x0` EEPROM이 없는 임베디드 환경을 위해 `cs89x0_media=` 커널 부팅 매개변수가 구현되었습니다. 사용법은 다음과 같습니다.
cs89x0_media=rj45 or
cs89x0_media=aui or
cs89x0_media=bnc
6. 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
latest drivers and technical publications.
6.4. Current maintainer
-----------------------
In February 2000 the maintenance of this driver was assumed by Andrew
Morton.
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
요약·해설
cs89x0.rst:1-647이 문서는 커널 2.2.5와 2.3.48 시기의 ISA 어댑터 운영 절차를 담고 있으며 원문도 스스로 매우 오래되어 대대적인 정리가 필요하다고 경고합니다. 오늘날 시스템의 설치 지침으로 보기보다 CS8900/CS8920 하드웨어와 구형 Linux 드라이버의 역사적 동작을 이해하는 자료로 읽어야 합니다.
문서가 전제로 하는 시대와 사용 원칙입니다.
CS8900과 CS8920의 핵심 차이입니다.
EEPROM 변경은 DOS 도구를 거치며 모듈 인자로 일부 값을 덮어쓸 수 있습니다.
드라이버가 PnP를 지원하지 않으므로 설치 전에 비활성화해야 합니다.
EEPROM 설정을 대체하거나 보완하는 핵심 인자입니다.
`io` 값에 1을 더하는 방식은 실제 주소 변경이 아니라 조기 부분 초기화 요청입니다.
모듈과 커널 내장 방식의 DMA 설정 차이입니다.
400MHz Celeron에서 큰 ping 패킷으로 측정한 역사적 수치입니다.
Setup Utility의 진단 기능은 DOS 전용 환경에서 실행합니다.
어댑터와 ISA 자원의 주요 고장 지점을 나누어 확인합니다.
같은 네트워크의 두 PC가 프레임을 왕복해 연결을 검증합니다.
두 LED는 링크와 트래픽을 구분해 보여 줍니다.
자체 시험에서 실패한 주소나 IRQ를 다른 값으로 바꾸고 다시 검증합니다.
현대 시스템에서 참고할 가치와 직접 적용 범위를 구분합니다.