PN(4)

명칭
pn - Lite-On 82c168/82c169 PNIC 퍼스트 이더넷(ethernet) 디바이스 드라이버

서식
device pn0

해설
pn 드라이버는 Lite-On 82 c168, 82c169 퍼스트 이더넷(ethernet) 콘트롤러 칩을 사용한 PCI 이더넷(ethernet) 어댑터 및 짜넣어 콘트롤러를 서포트합니다. 이러한 안에는, LinkSys LNE100TX, Bay Networks Netgear FA310TX 리버젼 D1, Matrox Networks FastNIC 10/100, 또 D-Link 나 Trendware 를 시작으로 하는, 몇개의 퍼스트 이더넷(ethernet) 카드가 포함됩니다.

bus master DMA 를 사용하는 Lite-On 칩은, DEC 의 'tulip'와 닮은 동작을 하도록(듯이) 설계되고 있습니다. 이전 DEC 21x4x 디바이스를 사용해 설계하고 있던 많은 vender가 현재는 PNIC 를 대신에 사용하고 있습니다. 이 칩은 내장 트랜시버와 MII 버스 경유의 외부 트랜시버의 양쪽 모두를 서포트하고 있습니다. Lite-On 칩은 EEPROM 나 MII 액세스가 추가되었습니다만, DEC 21x4x 콘트롤러와 레지스터 호환이도록(듯이) 설계되고 있습니다. PNIC 콘트롤러는 10 Mbps, 100Mbps 의 각각으로 전이중, 반이중의 쌍방을 서포트합니다.

pn 드라이버는 이하의 미디어 타입을 서포트합니다.

autoselect
    미디어 타입과 옵션의 자동 선택을 허가합니다. 유저는 /etc/rc.conf 파일에 미디어 옵션을 추가하는 것으로써, 수동으로 자동 선택된 모드를 변경할 수가 있습니다.

10baseT/UTP
    10Mbps 동작으로 설정합니다. 게다가 mediaopt 옵션은 full-duplex (와)과 half-duplex 의 모드를 설정하는데 사용할 수 있습니다.

100baseTX
    100Mbps (퍼스트 이더넷(ethernet)) 동작으로 설정합니다. mediaopt 또 옵션은, full-duplex 혹은 half-duplex 모드로 동작하도록(듯이) 설정할 수도 있습니다.

pn 드라이버는 이하의 미디어 옵션을 서포트합니다.

full-duplex
    강제적으로 반이중 모드에서의 동작으로 합니다.

half-duplex
    강제적으로 반이중 모드에서의 동작으로 합니다.

미디어 타입 100baseTX 는, 어댑터에 의해 서포트되고 있는 경우에게만 사용 가능하다고 하는 것에 주의해 주세요. 이 디바이스의 설정에 관한보다 정보에 대해서는, ifconfig(8) 도 참조해 주세요.

진단

pn%d: couldn't map memory 치명적인 초기화 에러가 발생했습니다.

pn%d: couldn't map interrupt 치명적인 초기화 에러가 발생했습니다.

pn%d: watchdog timeout 디바이스가 네트워크에의 응답을 정지했는지, 네트워크에의 접속 (케이블)에 문제가 있습니다.

pn%d: no memory for rx list 드라이버가 수신 소환을 위한 메모리밧파를 확보할 수 없었습니다.

pn%d: no memory for tx list 드라이버가, 송신을 위한 버퍼를 확보할 수 없었는지, 송신 버퍼의 메모리체가 망가졌습니다.

pn%d: chip is in D3 power state -- setting to D0 이 메세지는 파워 매니지먼트를 서포트한 카드에서만 발생합니다. operating system에 따라서는, 셧다운 시에 콘트롤러를 전력 절약 모드로 하는 것이 있어, PCI BIOS 에 따라서는, 칩의 설정을 하기 전에 이 모드로부터 칩을 되돌릴 수가 없습니다. 콘트롤러는 D3 상태로 모든 PCI 배치를 잃기 (위해)때문에, BIOS 가 그 때에 풀 파워 모드에 세트 할 수가 없으면 올바른 설정을 실시할 수 없습니다. 드라이버는 이 상황을 검출해 D0 (풀 파워) 상태에 가지고 가려고 합니다만, 이것으로는 드라이버를 통상의 작동 상태에 복귀시킬 수 없을 것입니다. 만약 이 메세지가 기동시에 표시되어, 드라이버가 디바이스를 네트워크 인터페이스로서 인식하는 것이 할 수 없으면, 디바이스가 올바르게 설정되도록(듯이) 두번째의 재기동을 실시할 필요가 있습니다.

이 상황은 다른 OS 를 사용하고 있어 재기동했다 (warm booting) 때에만 발생하는 것에 주의해 주세요. 만약 전원을 끄고 나서, 최초로 FreeBSD (을)를 기동하면, 카드는 올바르게 설정되겠지요.

관련 항목
arp(4), netintro(4), ifconfig(8)

역사
pn 디바이스 드라이버는 FreeBSD 3.0 그리고 처음 등장했습니다.

저자
pn 드라이버는 Bill Paul <wpaul@ctr.columbia.edu> 에 의해 개발되었습니다.

버그
pn 드라이버는 현재로서는, MII 버스 경유의 PNIC 콘트롤러에 접속되고 있는 외부 트랜시버를 가진다 카드 밖에 서포트하고 있지 않습니다. 이것은 저자가 내장 트랜시버를 테스트하기 위한 보드를 입수할 수 없었기 때문에입니다. 현재 나돌고 있는 PNIC 의 실장의 대부분은 외부 PHY 를 사용하고 있어, 따라서 이것은 심각한 문제는 아닐 것입니다. 하드웨어를 입수할 수 있게 되면, 내장 트랜시버를 서포트하는 코드가 추가될지도 모릅니다.