FE(4)

명칭
fe - 후지쯔 MB86960A/MB86965A 를 베이스로 한 이더넷(ethernet) 어댑터

서식
device fe0 at isa? port 0x300 net irq ?

해설
fe (은)는, 후지쯔 MB86960A, MB86965A 또는 그 외의 호환 칩을 베이스로 했다 이더넷(ethernet) 어댑터를 위한 네트워크 디바이스 드라이버입니다.

이 드라이버는, 어댑터의 하드웨어가 대응하고 있으면, I/O 포트 주소와 IRQ 의 설정을 자동적으로 행합니다.

이 드라이버는 프로그램 I/O 데이터 전송 기술을 사용하고 있어, 그런대로의 퍼포먼스를 얻을 수 있습니다. 어댑터가 비록 가지고 있었다고 해도, 공유 메모리는 사용하지 않습니다.

이 드라이버는 현재로서는, ISA 용의 후지쯔 FMV-180 시리즈, ISA 용의 얼라이드 텔레시스 AT1700 시리즈와 RE2000 시리즈, 후지쯔 MBH10302 PC 카드로 대응하고 있습니다.

  파라미터
커널 설정 파일에 대해, 2 개의 파라미터 port (와)과 irq 에는, 어댑터의 하드웨어 설정을 반영한 값을 지정할 필요가 있습니다. 이제(벌써) 1 개(살) 옵션으로서 flags 파라미터가 있어, 부가적인 설정을 행할 수가 있습니다. 그 외의 device 문에 있어서의 파라미터는 서식에 쓰여져 있는 대로 쓸 필요가 있습니다.

port 파라미터는, 어댑터의 베이스 I/O 포트 주소를 지정합니다. 이 값은 어댑터의 하드웨어 설정과 합치하고 있을 필요가 있습니다. port (은)는, “”? (으)로 해, 지정하지 않고 남겨 둘 수도 있습니다. 그 경우, 드라이버는 I/O 주소에 관한 하드웨어 설정의 검출을 자동적으로 시도합니다. 이 기능은 어댑터 하드웨어에 따라서는 움직이지 않을지도 모릅니다.

irq 파라미터는, 어댑터가 사용하는 IRQ 번호를 지정합니다. 이 값은 어댑터의 하드웨어 설정과 합치하고 있을 필요가 있습니다. irq (은)는, “”? (으)로 해, 지정하지 않고 남겨 둘 수도 있습니다. 그 경우, 드라이버는 IRQ 에 관한 하드웨어 설정의 검출을 자동적으로 시도합니다. 이 기능은 어댑터 하드웨어에 따라서는 움직이지 않을지도 모릅니다.

flags (은)는, 여러가지 디바이스 설정의 편성으로부터 되는 수치입니다. 현재의 버젼에서는 이하의 flags 가 정의되고 있습니다. 2 개(살) 이상의 설정을 디바이스로 설정하려면 , 각각의 flag 치를 수치로 가산해 주세요. 이하로 지정되어 있지 않은 flag 비트는 예약되고 있어 0 으로 하지 않으면 되지 않습니다. 실제로는, 각각의 비트는 단지 무시되는지, 테스트용이나 드라이버의 문서화되어 있지 않은 기능을 제어하기 위해서 사용됩니다. 문서화되어 있지 않은 기능에 대해서는, 프로그램의 소스를 참조해 주세요.

0x007F
    이러한 flag 비트는, flags 의 0x0080 비트가 설정되어 있을 때에, MB86960A/MB86965A 칩의 DLCR6 레지스터를 초기화하기 위해서 사용됩니다. DLCR6 덧쓰기 기능에 관한 자세한 것은 이하를 참조해 주세요. 장래의 버젼에 있어서의 드라이버의 호환성을 보관 유지하기 위해서, 0x0080 비트가 세트되어 있지 않은 경우 이외, 0x007F flag 비트는 0 으로 해 두어 주세요.

0x0080
    이 flag 는, MB86960A/MB86965A 칩의 DLCR6 레지스터에 대한다 디폴트 설정을 flag 치의 저위 7 bit 를 이용해 덧쓰기합니다. 이 flag 는 문제 해결용의 것이며, 어댑터 하드웨어에 관한 지식이 있는 사람만이 사용해 주세요. DLCR6 설정에 관한 상세한 정보는, 후지쯔의 메뉴얼을 참조해 주세요.

옵션
fe 드라이버는 커널 설정 파일에 대해, “option” 문장으로 지정할 수 있는 몇개의 사적인 옵션을 가지고 있습니다. 이하에 사적 옵션을 리스트 합니다. 드라이버는 이외에도 문서화되어 있지 않은 옵션을 받아들입니다. 그러한 이름에는 모두 FE_ 그렇다고 하는 고정된 접두사를 붙일 수 있고 있습니다. 문서화되어 있지 않은 옵션에 대해서는, 프로그램의 소스를 참조해 주세요.

FE_DEBUG=level
    이 옵션은, 디바이스와 (또는) 드라이버의 데밧깅레벨을 제어하는 수치를 받습니다. FE_DEBUG 여기에 리스트되어 있지 않은 값에 옵션을 설정하면(자), 문서화되어 있지 않은 동작을 일으킬지도 모릅니다. 이 옵션에 관한 디폴트의 설정치는 1 입니다.

    •   FE_DEBUG=0 (을)를 설정하면(자), 정당성의 확인을 포함한 많은 디버그용 코드가, 드라이버의 오브젝트 코드로부터 제외해집니다. 이 설정은 가장 빠르고 작은 오브젝트 코드를 생성합니다. 이 설정이어도, 몇개의 비상시 메세지는 기록됩니다.

    •   FE_DEBUG=1 (을)를 설정하면(자), 최저한의 디버그용 코드가 포함되어 최소량의 메세지가 기록됩니다. 이 설정에서는 치명적인 에러 메세지만이 기록됩니다.

    •   FE_DEBUG=2 (을)를 설정하면(자), 표준적인 디버그용 코드가 포함되어 중간량의 메세지가 기록됩니다. 이 설정에서는 분별없게 않은 이벤트나 수상한 상태에서의 메세지가 기록됩니다.

    •   FE_DEBUG=3 (을)를 설정하면(자), 모든 디버그용 코드가 포함되어 최대량의 메세지가 기록됩니다. 이 설정에서는 통상 동작의 보고나 레지스터치의 덤프등의 장황한 메세지가 기록됩니다.

하드웨어 모델에 특유의 기능
fe 드라이버에는, 어댑터의 하드웨어 모델에 특유의 기능이나 제한이 몇개인가 있습니다. 이하는 그러한 성질의 개략입니다.

  후지쯔 FMV-180 시리즈 어댑터
이러한 어댑터에서는, IRQ 와 I/O 포트 주소의 양쪽 모두가 자동적으로 검출 가능합니다.

FMV-180 시리즈에서는 fe 의 자동 I/O 포트 주소 검출 기능은 대부분의 경우 상태 좋게 움직입니다. 만약 시스템에 2 개 이상의 FMV-180 가 있었다고 해도, 분명하게 움직입니다. 그러나, 그 이외의 어댑터와의 편성은, 드라이버를 혼란시킬지도 알려지지 않습니다. 하드웨어 검출로 무엇인가 곤란을 느꼈을 때는, port ? (을)를 사용하지 않는 것을 추천합니다.

FMV-180 시리즈에서는 fe 의 자동 IRQ 검출 기능은 확실히 움직입니다. FMV-180 에는 항상 irq ? (을)를 사용하는 것을 추천합니다. IRQ 의 하드웨어 설정은, 커널 설정 파일에 대해 IRQ 치가 지정되어 있었다고 해도, 어댑터의 EEPROM 설정으로부터 읽힙니다. 드라이버는 커널 설정 파일로 지정된 IRQ 가 EEPROM 에 보존된 값과 차이가 났을 경우, 경고 메세지를 생성해, 설정 파일로 지정된 값을 사용합니다 (이 행동은 전회의 릴리스보다 변경이 되어 있습니다).

  얼라이드 텔레시스 AT1700 시리즈와 RE2000 시리즈 어댑터
얼라이드 텔레시스 AT1700 시리즈와 RE2000 시리즈에서는, 자동 I/O 포트 주소 검출 기능은 움직입니다만, FMV-180 시리즈보다는 확실도가 떨어집니다. 얼라이드 텔레시스의 어댑터로 이 기능을 사용하는 것은 추천할 수 없습니다.

자동 IRQ 검출도 제한 다하고입니다만 가능합니다. fe 드라이버는 설정 파일로 “irq”? 하지만 설정되어 있었을 경우, 보드의 EEPROM 설정보다 IRQ 설정을 얻으려고 합니다. 불행한 일로, AT1700 시리즈와 RE2000 시리즈에는 2 종류의 모델이 있는 것처럼 생각됩니다; 어느 타입은 IRQ 를 3/4/5/9 로부터 선택 가능해, 이제(벌써) 다른 한쪽은 10/11/12/15 으로부터 선택 가능합니다. 이러한 모델의 식별 방법은, 잘 알려져 있지 않습니다. 이 때문에, 얼라이드 텔레시스의 어댑터에서의 자동 IRQ 검출은 확실하지 않은 것 같습니다. 무엇인가 트러블이 일어났을 때는, 정확한 IRQ 번호를 지정해 주세요.

AT17000 시리즈와 RE2000 시리즈의 차이나, 이러한 시리즈내에서의 마이나모델의 분별 젓가락이라고 없습니다.

  후지쯔 MBH10302 PC 카드
fe 드라이버는 후지쯔 MBH10302 와 호환 PC 카드를 서포트하고 있습니다. 동작에는 PC 카드 (PCMCIA) 서포트 패키지가 필요합니다.

관련 항목
netstat(1), crd(4), ed(4), netintro(4), ifconfig(8), pccardd(8)

버그
이하는, 기존의 큰 버그입니다:

fe 드라이버에 의해 유지되고 있는 collision수의 통계는 정확하지는 않습니다; netstat(1) 의 옵션은 실제의 collision수부터 약간 적은 값을 나타냅니다.

생각했던 것보다도 많은 mbuf 클러스터가 소비됩니다. 패킷 수신 routine가, mbuf 클러스터의 할당 포리시에, 원 자리 (와)과 위반하고 있기 때문입니다. 불필요하게 할당할 수 있었던 클러스터는 짧은 생존 기간에 해방되기 (위해)때문에, 긴 안목으로 보면 카네르메모리 소비량에는 영향을 주지 않습니다.

XNS 와 IPX 에의 서포트가 드라이버에는 포함되어 있습니다만, 한번도 테스트는 되지 않고, 많은 버그가 있을 것입니다.

저자, 저작권, 면책조항

fe 드라이버는 David Greenman 하지만 썼다 ed 드라이버를 모범으로서 M. Sekiguchi <seki@sysrap.cs.fujitsu.co.jp> 하지만 독자적으로 작성해 기증했습니다. fe 에 있어서의 PC 카드 서포트는 Hidetoshi Kimura <h-kimura@tokyo.se.fujitsu.co.jp> 하지만 썼습니다. 이 메뉴얼 페이지는 M. Sekiguchi 하지만 썼습니다.

All Rights Reserved, Copyright (C) Fujitsu Limited 1995

This document and the associated software may be used, modified, copied, distributed, and sold, in both source and binary form provided that the above copyright, these terms and the following disclaimer are retained. The name of the author and/or the contributor may not be used to endorse or promote products derived from this document and the associated software without specific prior written permission.

THIS DOCUMENT AND THE ASSOCIATED SOFTWARE IS PROVIDED BY THE AUTHOR AND THE CONTRIBUTOR “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR THE CONTRIBUTOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENT AND THE ASSOCIATED SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

역사
fe 드라이버는 FreeBSD 2.0.5 (으)로부터 등장했습니다.