PN(4)                     OpenBSD Programmer's Manual                    PN(4)

NAME
     pn - Lite-On 82c168/82c169 PNIC fast ethernet device driver

SYNOPSIS
     pn* at pci? dev ? function ?

DESCRIPTION
     The pn driver provides support for PCI ethernet adapters and embedded
     controllers based on the Lite-On 82c168 and 82c169 fast ethernet con-
     troller chips. This includes the LinkSys LNE100TX, the Bay Networks Net-
     gear FA310TX revision D1, the Matrox Networks FastNIC 10/100, the
     Kingston KNE110TX (EtherRx VP), and various other commodity fast ethernet
     cards.

     The Lite-On chips use bus master DMA and are designed to be DEC 'tulip'
     workalikes. Many vendors that formerly based their designs around the DEC
     21x4x devices are now using the PNIC instead. The chips support both an
     internal transceiver and external transceivers via an MII bus. The Lite-
     On parts are advertised as being register compatible with the DEC 21x4x
     controllers; however, there are some differences in the way the EEPROM
     and MII access is done. The PNIC controllers support both 10 and 100Mbps
     speeds in either full or half duplex.

     The pn driver supports the following media types:

     autoselect            Enable autoselection of the media type and options.
                           The user can manually override the autoselected
                           mode by adding media options to the appropriate
                           /etc/hostname.pnX file.

     10baseT/UTP           Set 10Mbps operation. The mediaopt option can also
                           be used to select either full-duplex or half-duplex
                           modes.

     100baseTX             Set 100Mbps (fast ethernet) operation. The mediaopt
                           option can also be used to select either full-
                           duplex or half-duplex modes.

     The pn driver supports the following media options:

     full-duplex           Force full duplex operation

     half-duplex           Force half duplex operation.

     Note that the 100baseTX media type is only available if supported by the
     adapter.  For more information on configuring this device, see
     ifconfig(8).

DIAGNOSTICS
     pn%d: couldn't map memory  A fatal initialization error has occurred.

     pn%d: couldn't map interrupt  A fatal initialization error has occurred.

     pn%d: watchdog timeout  The device has stopped responding to the network,
     or there is a problem with the network connection (cable).

     pn%d: no memory for rx list  The driver failed to allocate an mbuf for
     the receiver ring.

     pn%d: no memory for tx list  The driver failed to allocate an mbuf for
     the transmitter ring when allocating a pad buffer or collapsing an mbuf


     chain into a cluster.

     pn%d: chip is in D3 power state -- setting to D0  This message applies
     only to adapters which support power management. Some operating systems
     place the controller in low power mode when shutting down, and some PCI
     BIOSes fail to bring the chip out of this state before configuring it.
     The controller loses all of its PCI configuration in the D3 state, so if
     the BIOS does not set it back to full power mode in time, it won't be
     able to configure it correctly. The driver tries to detect this condition
     and bring the adapter back to the D0 (full power) state, but this may not
     be enough to return the driver to a fully operational condition. If you
     see this message at boot time and the driver fails to attach the device
     as a network interface, you will have to perform second warm boot to have
     the device properly configured.

     Note that this condition only occurs when warm booting from another oper-
     ating system. If you power down your system prior to booting OpenBSD, the
     card should be configured correctly.

SEE ALSO
     arp(4),  netintro(4),  ifconfig(8)

HISTORY
     The pn device driver first appeared in FreeBSD 3.0. OpenBSD support first
     appeared in OpenBSD 2.5.

AUTHOR
     The pn driver was written by Bill Paul <wpaul@ctr.columbia.edu>.

BUGS
     The internal NWAY support on the 82c168 chips is horribly broken, which
     means that autoselection will not work, except maybe for half-duplex
     10Mbps links. In order to use other modes (e.g. 100Mbps) it will be nec-
     essary to use ifconfig(8) to set the interface manually. Autoselection
     for 82c169 boards using MII transceivers should work correctly.

OpenBSD 2.6                    November 7, 1998                              2
