Index: head/share/man/man4/ed.4 =================================================================== --- head/share/man/man4/ed.4 (revision 312916) +++ head/share/man/man4/ed.4 (revision 312917) @@ -1,399 +1,399 @@ .\" .\" Copyright (c) 1994, David Greenman .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by David Greenman. .\" 4. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``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 CONTRIBUTORS 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 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $FreeBSD$ .\" .Dd February 25, 2012 .Dt ED 4 .Os .Sh NAME .Nm ed .Nd "NE-2000 and WD-80x3 Ethernet driver" .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your kernel configuration file: .Bd -ragged -offset indent .Cd "device miibus" .Cd "device ed" .Ed .Pp Alternatively, to load the driver as a module at boot time, place the following line in .Xr loader.conf 5 : .Bd -literal -offset indent if_ed_load="YES" .Ed .Sh DESCRIPTION The .Nm driver provides support for 8 and 16bit Ethernet cards that are based on the National Semiconductor DS8390 and similar NICs manufactured by other companies. The .Nm driver also supports many PC Card chips which interface via MII to a PHY. Axiom's AX88790, AX88190 and AX88190A; DLink's DL10019 and DL10022; and Tamarack's TC5299J chips all support internal or external MII/PHY combinations. Realtek's PCI and ISA RTL80x9-based cards are also supported. For these chipsets, autonegotiation and status reporting are supported. .Pp In addition to the standard port and IRQ specifications, the .Nm driver also supports a number of .Cd flags which can force 8/16bit mode, enable/disable multi-buffering, and select the default interface type (AUI/BNC, and for cards with twisted pair, AUI/10BaseT). .Pp The .Cd flags are a bit field, and are summarized as follows: .Bl -tag -width indent .It Li 0x01 Disable transceiver. On those cards which support it, this flag causes the transceiver to be disabled and the AUI connection to be used by default. .It Li 0x02 Force 8bit mode. This flag forces the card to 8bit mode regardless of how the card identifies itself. This may be needed for some clones which incorrectly identify themselves as 16bit, even though they only have an 8bit interface. This flag takes precedence over force 16bit mode. .It Li 0x04 Force 16bit mode. This flag forces the card to 16bit mode regardless of how the card identifies itself. This may be needed for some clones which incorrectly identify themselves as 8bit, even though they have a 16bit ISA interface. .It Li 0x08 Disable transmitter multi-buffering. This flag disables the use of multiple transmit buffers and may be necessary in rare cases where packets are sent out faster than a machine on the other end can handle (as evidenced by severe packet lossage). Some .No ( non- Ns Fx :-)) machines have terrible Ethernet performance and simply cannot cope with 1100K+ data rates. Use of this flag also provides one more packet worth of receiver buffering, and on 8bit cards, this may help reduce receiver lossage. .El .Pp When using a 3c503 card, the AUI connection may be selected by specifying the .Cm link2 option to .Xr ifconfig 8 (BNC is the default). .Sh HARDWARE The .Nm driver supports the following Ethernet NICs: .Pp .Bl -bullet -compact .It 3Com 3c503 Etherlink II .Pq Cd "options ED_3C503" .It AR-P500 Ethernet .It Accton EN1644 (old model), EN1646 (old model), EN2203 (old model) (110pin) (flags 0xd00000) .It Accton EN2212/EN2216/UE2216 .It Allied Telesis CentreCOM LA100-PCM_V2 .It AmbiCom 10BaseT card (8002, 8002T, 8010 and 8610) .It Bay Networks NETGEAR FA410TXC Fast Ethernet .It Belkin F5D5020 PC Card Fast Ethernet .It Billionton LM5LT-10B Ethernet/Modem PC Card .It Billionton LNT-10TB, LNT-10TN Ethernet PC Card .It Bromax iPort 10/100 Ethernet PC Card .It Bromax iPort 10 Ethernet PC Card .It Buffalo LPC2-CLT, LPC3-CLT, LPC3-CLX, LPC4-TX, LPC-CTX PC Card .It Buffalo LPC-CF-CLT CF Card .It CNet BC40 adapter .It Compex Net-A adapter .It Compex RL2000 .It Corega Ether PCC-T/EtherII PCC-T/FEther PCC-TXF/PCC-TXD PCC-T/Fether II TXD .It Corega LAPCCTXD (TC5299J) .It CyQ've ELA-010 .It DEC EtherWorks DE305 .It Danpex EN-6200P2 .It D-Link DE-660, DE-660+ .It D-Link IC-CARD/IC-CARD+ Ethernet .It ELECOM Laneed LD-CDL/TX, LD-CDF, LD-CDS, LD-10/100CD, LD-CDWA (DP83902A) .It Hawking PN652TX PC Card (AX88790) .It HP PC Lan+ 27247B and 27252A .Pq Cd "options ED_HPP" .It IBM Creditcard Ethernet I/II .It I-O DATA ET2/T-PCI .It I-O DATA PCLATE .It Kingston KNE-PC2, CIO10T, KNE-PCM/x Ethernet .It KTI ET32P2 PCI .It Linksys EC2T/PCMPC100/PCM100, PCMLM56 .It Linksys EtherFast 10/100 PC Card, Combo PCMCIA Ethernet Card (PCMPC100 V2) .It MACNICA Ethernet ME1 for JEIDA .It MELCO LGY-PCI-TR .It MELCO LPC-T/LPC2-T/LPC2-CLT/LPC2-TX/LPC3-TX/LPC3-CLX .It NDC Ethernet Instant-Link .It National Semiconductor InfoMover NE4100 .It NetGear FA-410TX .It NetVin NV5000SC .It Network Everywhere Ethernet 10BaseT PC Card .It New Media LANSurfer 10+56 Ethernet/Modem .It New Media LANSurfer .It Novell NE1000/NE2000/NE2100 .It PLANEX ENW-8300-T .It PLANEX FNW-3600-T .It Psion 10/100 LANGLOBAL Combine iT .It RealTek 8019 .It RealTek 8029 .It Relia Combo-L/M-56k PC Card .It SMC Elite 16 WD8013 .It SMC Elite Ultra .It SMC WD8003E/WD8003EBT/WD8003S/WD8003SBT/WD8003W/WD8013EBT/WD8013W and clones .It SMC EZCard PC Card, 8040-TX, 8041-TX (AX88x90), 8041-TX V.2 (TC5299J) .It Socket LP-E, ES-1000 Ethernet/Serial, LP-E CF, LP-FE CF .It Surecom EtherPerfect EP-427 .It Surecom NE-34 .It TDK 3000/3400/5670 Fast Ethernet/Modem .It TDK LAK-CD031, Grey Cell GCS2000 Ethernet Card .It TDK DFL5610WS Ethernet/Modem PC Card .It Telecom Device SuperSocket RE450T .It Toshiba LANCT00A PC Card .It VIA VT86C926 .It Winbond W89C940 .It Winbond W89C940F .El .Pp -C-Bus, ISA, PCI and PC Card devices are supported. +ISA, PCI and PC Card devices are supported. .Pp The .Nm driver does not support the following Ethernet NICs: .Pp .Bl -bullet -compact .It Mitsubishi LAN Adapter B8895 .El .Sh DIAGNOSTICS .Bl -diag .It "ed%d: failed to clear shared memory at %x - check configuration." When the card was probed at system boot time, the .Nm driver found that it could not clear the card's shared memory. This is most commonly caused by a BIOS extension ROM being configured in the same address space as the Ethernet card's shared memory. Either find the offending card and change its BIOS ROM to be at an address that does not conflict, or change the settings in .Xr device.hints 5 that the card's shared memory is mapped at a non-conflicting address. .It "ed%d: Invalid irq configuration (%d) must be 2-5 for 3c503." The IRQ number that was specified in the .Xr device.hints 5 file is not valid for the 3Com 3c503 card. The 3c503 can only be assigned to IRQs 2 through 5. .It "ed%d: Cannot find start of RAM." .It "ed%d: Cannot find any RAM, start : %d, x = %d." The probe of a Gateway card was unsuccessful in configuring the card's packet memory. This likely indicates that the card was improperly recognized as a Gateway or that the card is defective. .It "ed: packets buffered, but transmitter idle." Indicates a logic problem in the driver. Should never happen. .It "ed%d: device timeout" Indicates that an expected transmitter interrupt did not occur. Usually caused by an interrupt conflict with another card on the ISA bus. This condition could also be caused if the kernel is configured for a different IRQ channel than the one the card is actually using. If that is the case, you will have to either reconfigure the card using a DOS utility or set the jumpers on the card appropriately. .It "ed%d: NIC memory corrupt - invalid packet length %d." Indicates that a packet was received with a packet length that was either larger than the maximum size or smaller than the minimum size allowed by the IEEE 802.3 standard. Usually caused by a conflict with another card on the ISA bus, but in some cases may also indicate faulty cabling. .It "ed%d: remote transmit DMA failed to complete." This indicates that a programmed I/O transfer to an NE1000 or NE2000 style card has failed to properly complete. Usually caused by the ISA bus speed being set too fast. .It "ed%d: Invalid irq configuration (%ld) must be %s for %s" Indicates the device has a different IRQ than supported or expected. .It "ed%d: Cannot locate my ports!" The device is using a different I/O port than the driver knows about. .It "ed%d: Cannot extract MAC address" Attempts to get the MAC address failed. .It "ed%d: Missing mii!" Probing for an MII bus has failed. This indicates a coding error in the PC Card attachment, because a PHY is required for the chips that generate this error message. .El .Sh SEE ALSO .Xr altq 4 , .Xr arp 4 , .Xr miibus 4 , .Xr netintro 4 , .Xr ng_ether 4 , .Xr device.hints 5 , .Xr ifconfig 8 .Sh HISTORY The .Nm device driver first appeared in .Fx 1.0 . .Sh AUTHORS The .Nm device driver and this manual page were written by .An David Greenman . .Sh CAVEATS Early revision DS8390 chips have problems. They lock up whenever the receive ring-buffer overflows. They occasionally switch the byte order of the length field in the packet ring header (several different causes of this related to an off-by-one byte alignment) - resulting in .Qq Li "NIC memory corrupt - invalid packet length" messages. The card is reset whenever these problems occur, but otherwise there is no problem with recovering from these conditions. .Pp The NIC memory access to 3Com and Novell cards is much slower than it is on WD/SMC cards; it is less than 1MB/second on 8bit boards and less than 2MB/second on the 16bit cards. This can lead to ring-buffer overruns resulting in dropped packets during heavy network traffic. .Pp The Mitsubishi B8895 PC Card uses a DP83902, but its ASIC part is undocumented. Neither the NE2000 nor the WD83x0 drivers work with this card. .Sh BUGS The .Nm driver is a bit too aggressive about resetting the card whenever any bad packets are received. As a result, it may throw out some good packets which have been received but not yet transferred from the card to main memory. .Pp The .Nm driver is slow by today's standards. .Pp PC Card attachment supports the D-Link DMF650TX LAN/Modem card's Ethernet port only at this time. .Pp Some devices supported by .Nm do not generate the link state change events used by .Xr devd 8 to start .Xr dhclient 8 . If you have problems with .Xr dhclient 8 not starting and the device is always attached to the network it may be possible to work around this by changing .Dq Li DHCP to .Dq Li SYNCDHCP in the .Va ifconfig_ed0 entry in .Pa /etc/rc.conf . Index: head/share/man/man4/le.4 =================================================================== --- head/share/man/man4/le.4 (revision 312916) +++ head/share/man/man4/le.4 (revision 312917) @@ -1,476 +1,469 @@ .\" $NetBSD: le.4,v 1.22 2004/10/04 19:12:52 rumble Exp $ .\" .\"- .\" Copyright (c) 1992, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This software was developed by the Computer Systems Engineering group .\" at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and .\" contributed to Berkeley. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" from: Header: le.4,v 1.2 92/10/13 05:31:33 leres Exp .\" from: @(#)le.4 8.1 (Berkeley) 6/9/93 .\" $FreeBSD$ .\" .Dd January 20, 2007 .Dt LE 4 .Os .Sh NAME .Nm le .Nd "AMD Am7900 LANCE and Am79C9xx ILACC/PCnet Ethernet interface driver" .Sh SYNOPSIS To compile this driver into the kernel, place the following line in your kernel configuration file: .Bd -ragged -offset indent .Cd "device le" .Ed .Pp Alternatively, to load the driver as a module at boot time, place the following line in .Xr loader.conf 5 : .Bd -literal -offset indent if_le_load="YES" .Ed .Pp -For C-Bus non-PnP adapters, the port address and the IRQ number have to be -specified in -.Pa /boot/device.hints : -.Cd hint.le.0.at="isa" -.Cd hint.le.0.port="0x03d0" -.Cd hint.le.0.irq="6" -.Pp For ISA non-PnP adapters, the port address as well as the IRQ and the DRQ numbers have to be specified in .Pa /boot/device.hints : .Cd hint.le.0.at="isa" .Cd hint.le.0.port="0x280" .Cd hint.le.0.irq="10" .Cd hint.le.0.drq="0" .Sh DESCRIPTION The .Nm driver provides support for Ethernet adapters based on the .Tn AMD Am7990 and .Tn Am79C90 .Pq CMOS, pin-compatible Local Area Network Controller for Ethernet .Pq Tn LANCE chips. .Pp The .Nm driver also supports Ethernet adapters based on the .Tn AMD Am79C900 Integrated Local Area Communications Controller .Pq Tn ILACC as well as the .Tn Am79C9xx PCnet family of chips, which are single-chip implementations of a .Tn LANCE chip and a DMA engine. This includes a superset of the .Tn PCI bus Ethernet chips supported by the .Xr pcn 4 driver. The .Nm driver treats all of these .Tn PCI bus Ethernet chips as an .Tn AMD Am79C970 PCnet-PCI and does not support the additional features like the MII bus and burst mode of .Tn AMD Am79C971 PCnet-FAST and greater chips. Thus the .Xr pcn 4 driver should be preferred for the latter. .Pp Generally, the .Nm driver aims at supporting as many different chips on as many different platforms as possible, partially at the cost of the best performance with some of these. .Pp The .Nm driver supports reception and transmission of extended frames for .Xr vlan 4 . Selective reception of multicast Ethernet frames is provided by a 64-bit mask; multicast destination addresses are hashed to a bit entry using the Ethernet CRC function. .Sh HARDWARE .Ss C-Bus and ISA The .Nm driver supports .Tn C-Bus and .Tn ISA bus Ethernet adapters which are based on the following chips: .Pp .Bl -bullet -compact .It .Tn AMD Am7990 and Am79C90 LANCE .It .Tn AMD Am79C960 PCnet-ISA .It .Tn AMD Am79C961 PCnet-ISA+ .It .Tn AMD Am79C961A PCnet-ISA II .El .Pp This includes support for the following Ethernet adapters: .Pp C-Bus non-PnP: .Pp .Bl -bullet -compact .It .Tn Contec C-NET(98)S .El .Pp ISA non-PnP: .Pp .Bl -bullet -compact .It .Tn BICC Isolan .\" .It .\" .Tn Digital DEPCA .It .Tn Novell NE2100 .El .Pp ISA PnP: .Pp .Bl -bullet -compact .It .Tn AMD AM1500T/AM2100 .It .Tn AMD PCnet-32 .It .Tn AMD PCnet-ISA .It .Tn Allied Telesyn AT-1500 .It .Tn Boca LANCard Combo .It .Tn Cabletron E2100 Series DNI .It .Tn Cabletron E2200 Single Chip .It .Tn Melco Inc. LGY-IV .It .Tn Novell NE2100 .It .Tn Racal InterLan EtherBlaster .El .Pp The .Nm driver does not support the selection of media types and options via .Xr ifconfig 8 with .Tn C-Bus and .Tn ISA bus Ethernet adapters. .\" .Ss EISA .\" The .\" .Tn EISA .\" bus Ethernet cards supported by the .\" .Nm .\" driver are: .\" .Pp .\" .Bl -bullet -compact .\" .It .\" .Tn DEC DE422 .\" .El .\" .Ss MCA .\" The .\" .Tn MCA .\" bus Ethernet cards supported by the .\" .Nm .\" driver are: .\" .Pp .\" .Bl -bullet -compact .\" .It .\" .Tn SKNET Personal MC2 .\" .It .\" .Tn SKNET MC2+ .\" .El .Ss PCI The .Tn PCI bus Ethernet chips supported by the .Nm driver are: .Pp .Bl -bullet -compact .It .Tn AMD Am53C974/Am79C970/Am79C974 PCnet-PCI .It .Tn AMD Am79C970A PCnet-PCI II .It .Tn AMD Am79C971 PCnet-FAST .It .Tn AMD Am79C972 PCnet-FAST+ .It .Tn AMD Am79C973/Am79C975 PCnet-FAST III .It .Tn AMD Am79C976 PCnet-PRO .It .Tn AMD Am79C978 PCnet-Home .El .Pp This includes support for the following Ethernet adapters: .Pp .Bl -bullet -compact .It .Tn AcerLAN NIC P20 .It .Tn Allied Telesyn AT-2450 and AT-2700 series .It .Tn VMware emulated AMD Am79C970A PCnet-PCI II interface .El .Pp The .Nm driver supports the selection of the following media types via .Xr ifconfig 8 with .Tn PCI bus Ethernet adapters: .Bl -tag -width ".Cm 10base5/AUI" .It Cm autoselect Enable autoselection of the media type. .It Cm 10baseT/UTP Select UTP media. .It Cm 10base5/AUI Select AUI/BNC media. .El .Pp The following media option is supported with these media types: .Bl -tag -width ".Cm full-duplex" .It Cm full-duplex Select full duplex operation. .El .Pp Note that unlike the .Xr pcn 4 driver, the .Nm driver does not support selecting 100Mbps (Fast Ethernet) media types. .Ss sparc64 The .Nm driver supports the on-board .Tn LANCE interfaces found in .Tn Sun Ultra 1 machines. The .Nm driver allows the selection of the following media types via .Xr ifconfig 8 with these on-board interfaces: .Bl -tag -width ".Cm 10base5/AUI" .It Cm autoselect Enable autoselection of the media type. .It Cm 10baseT/UTP Select UTP media. .It Cm 10base5/AUI Select AUI media. .El .Pp When using autoselection, a default media type is selected for use by examining all ports for carrier. The first media type with which a carrier is detected will be selected. Additionally, if carrier is dropped on a port, the driver will switch between the possible ports until one with carrier is found. .Pp The .Nm driver also supports the following .Tn Sun SBus Ethernet add-on adapters: .Pp .Bl -bullet -compact .It .Tn SCSI HBA and Buffered Ethernet .Pq SBE/S, P/N 501-1869 .It .Tn Fast SCSI and Buffered Ethernet .Pq FSBE/S, P/N 501-2015 and 501-2981 .El .Pp The .Nm driver does not support the selection of media types and options via .Xr ifconfig 8 with .Tn SBus Ethernet add-on adapters. .Pp For further information on configuring media types and options, see .Xr ifconfig 8 . .Sh DIAGNOSTICS .Bl -diag .It "le%d: overflow" More packets came in from the Ethernet than there was space in the .Tn LANCE receive buffers. Packets were missed. .It "le%d: receive buffer error" The .Tn LANCE ran out of buffer space, packet dropped. .It "le%d: lost carrier" The Ethernet carrier disappeared during an attempt to transmit. The .Tn LANCE will finish transmitting the current packet, but will not automatically retry transmission if there is a collision. .It "le%d: excessive collisions, tdr %d" The Ethernet was extremely busy or jammed, outbound packets were dropped after 16 attempts to retransmit. .Pp TDR is the abbreviation of .Qq Time Domain Reflectometry . The optionally reported TDR value is an internal counter of the interval between the start of a transmission and the occurrence of a collision. This value can be used to determine the distance from the Ethernet tap to the point on the Ethernet cable that is shorted or open (unterminated). .It "le%d: dropping chained buffer" A packet did not fit into a single receive buffer and was dropped. Since the .Nm driver allocates buffers large enough to receive maximum sized Ethernet packets, this means some other station on the LAN transmitted a packet larger than allowed by the Ethernet standard. .It "le%d: transmit buffer error" The .Tn LANCE ran out of buffer space before finishing the transmission of a packet. If this error occurs, the driver software has a bug. .It "le%d: underflow" The .Tn LANCE ran out of buffer space before finishing the transmission of a packet. If this error occurs, the driver software has a bug. .It "le%d: controller failed to initialize" Driver failed to start the .Tn LANCE . This is potentially a hardware failure. .It "le%d: memory error" RAM failed to respond within the timeout when the .Tn LANCE wanted to read or write it. This is potentially a hardware failure. .It "le%d: receiver disabled" The receiver of the .Tn LANCE was turned off due to an error. .It "le%d: transmitter disabled" The transmitter of the .Tn LANCE was turned off due to an error. .El .Sh SEE ALSO .Xr altq 4 , .Xr arp 4 , .Xr intro 4 , .Xr netintro 4 , .Xr pcn 4 , .Xr vlan 4 , .Xr ifconfig 8 .Sh HISTORY The .Nm driver was ported from .Nx and first appeared in .Fx 6.1 . The .Nx version in turn was derived from the .Nm driver which first appeared in .Bx 4.4 . .Sh AUTHORS The .Nm driver was ported by .An Marius Strobl Aq Mt marius@FreeBSD.org . .\" .Sh BUGS .\" The Am7990 Revision C chips have a bug which causes garbage to be inserted .\" in front of the received packet occasionally. .\" The work-around is to ignore packets with an invalid destination address .\" (garbage will usually not match), by double-checking the destination .\" address of every packet in the driver. .\" This work-around can be enabled with the .\" .Dv LANCE_REVC_BUG .\" kernel option. .\" .Pp .\" When .\" .Dv LANCE_REVC_BUG .\" is enabled, the .\" .Nm .\" driver executes one or two calls to an inline Ethernet address comparison .\" function for every received packet. .\" On the .\" .Tn MC68000 .\" it is exactly eight instructions of 16 bits each. .\" There is one comparison for each unicast packet, and two comparisons for .\" each broadcast packet. .\" .Pp .\" In summary, the cost of the LANCE_REVC_BUG option is: .\" .Bl -enum -compact .\" .It .\" loss of multicast support, and .\" .It .\" eight extra .\" .Tn CPU .\" instructions per received packet, sometimes sixteen, depending on both the .\" processor, and the type of packet. .\" .El .\" .Pp .\" All sun3 systems are presumed to have this bad revision of the Am7990, .\" until proven otherwise. .\" Alas, the only way to prove what revision of the chip is in a particular .\" system is inspection of the date code on the chip package, .\" to compare against a list of what chip revisions were fabricated between .\" which dates. .\" .Pp .\" Alas, the Am7990 chip is so old that .\" .Tn AMD .\" has .\" .Qq de-archived .\" the production information about it; pending a search elsewhere, we do not .\" know how to identify the revision C chip from the date codes. Index: head/share/man/man4/man4.i386/ep.4 =================================================================== --- head/share/man/man4/man4.i386/ep.4 (revision 312916) +++ head/share/man/man4/man4.i386/ep.4 (revision 312917) @@ -1,210 +1,208 @@ .\" .\" Copyright (c) 1994 Herb Peyerl .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Herb Peyerl .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" $FreeBSD$ .\" .Dd April 1, 2011 .Dt EP 4 i386 .Os .Sh NAME .Nm ep .Nd "Ethernet driver for 3Com Etherlink III (3c5x9) interfaces" .Sh SYNOPSIS To compile this driver into the kernel, place the following line in your kernel configuration file: .Bd -ragged -offset indent .Cd "device ep" .Ed .Pp Alternatively, to load the driver as a module at boot time, place the following line in .Xr loader.conf 5 : .Bd -literal -offset indent if_ep_load="YES" .Ed .Sh DESCRIPTION The .Nm device driver supports network adapters based on the 3Com 3C5x9 Etherlink III Parallel Tasking chipset. .Pp Various models of these cards come with a different assortment of connectors: .Bl -tag -width xxxxxxxxxxxxxxxxxxxx .It AUI/DIX Standard 15 pin connector, also known as 10base5 (thick-net) .It 10Base2 BNC, also known as thin-net .It 10BaseT UTP, also known as twisted pair .El .Pp The default port to use is the port that has been selected with the setup utility. To override this, use the following media options with .Xr ifconfig 8 or in your .Pa /etc/rc.conf file. .Bl -tag -width xxxxxxxxxxxxxxxxxxxx .It 10base5/AUI Use the AUI port. .It 10base2/BNC Use the BNC port. .It 10baseT/UTP Use the UTP port. .El .Sh HARDWARE The .Nm driver supports Ethernet adapters based on the 3Com 3C5x9 Etherlink III Parallel Tasking chipset, including: .Pp .Bl -bullet -compact .It 3Com 3C1 CF .It 3Com 3C509-TP, 3C509-BNC, 3C509-Combo, 3C509-TPO, 3C509-TPC ISA .It 3Com 3C509B-TP, 3C509B-BNC, 3C509B-Combo, 3C509B-TPO, 3C509B-TPC ISA .It 3Com 3C529, 3C529-TP MCA .It 3Com 3C562/3C563 PCMCIA .It -3Com 3C569B-J-TPO, 3C569B-J-COMBO CBUS -.It 3Com 3C574, 3C574TX, 3C574-TX, 3CCFE574BT, 3CXFE574BT, 3C3FE574BT PCMCIA .It 3Com 3C579-TP, 3C579-BNC EISA .It 3Com 3C589, 3C589B, 3C589C, 3C589D, 3CXE589DT PCMCIA .It 3Com 3CCFEM556B, 3CCFEM556BI PCMCIA .It 3Com 3CXE589EC, 3CCE589EC, 3CXE589ET, 3CCE589ET PCMCIA .It 3Com Megahertz 3CCEM556, 3CXEM556, 3CCEM556B, 3CXEM556B, 3C3FEM556C PCMCIA .It 3Com OfficeConnect 3CXSH572BT, 3CCSH572BT PCMCIA .It Farallon EtherWave and EtherMac PC Card (P/n 595/895 with BLUE arrow) .El .Sh NOTES The 3c509 card has no jumpers to set the address. 3Com supplies software to set the address of the card in software. To find the card on the ISA bus, the kernel performs a complex scan operation at IO address 0x110. Beware! Avoid placing other cards at that address! .Pp Furthermore, the 3c509 should only be configured in EISA mode when installed in a computer that has actual EISA slots (and an EISA-aware BIOS). The normal driver auto-detection support is sufficient for non-EISA systems. .Pp Cards in PnP mode may conflict with other resources in the system. Ensure your BIOS is configured correctly to exclude resources used by the 3c509, especially IRQs, to avoid unpredictable behavior. .Pp Many different companies sold the 3Com PC Cards under their own private label. These cards also work. .Pp The Farallon EtherWave and EtherMac card came in two varieties. The .Nm driver supports the 595 and 895 cards. These cards have the blue arrow on the front along with a 3Com logo. The Farallon 595a cards, which have a red arrow on the front, are also called EtherWave and EtherMac. They are supported by the .Xr sn 4 driver. .Sh DIAGNOSTICS .Bl -diag .It "ep0: reset (status: %x)" The driver has encountered a FIFO underrun or overrun. The driver will reset the card and the packet will be lost. This is not fatal. .It "ep0: eeprom failed to come ready" The eeprom failed to come ready. This probably means the card is wedged. .It "ep0: 3c509 in test mode. Erase pencil mark!" This means that someone has scribbled with pencil in the test area on the card. Erase the pencil mark and reboot. (This is not a joke). .It "ep0: No I/O space?!" The driver was unable to allocate the I/O space that it thinks should be there. Look for conflicts with other devices. .It "ep0: No irq?!" The driver could not allocate the interrupt it wanted. Look for conflicts, although sharing interrupts for PC Card is normal. .It "ep0: No connectors!" The driver queried the hardware for what ethernet attachment were present, but the hardware reported none that the driver recognized. .It "ep0: Unable to get Ethernet address!" The driver was unable to read the ethernet address from the EEPROM. This is likely the result of the card being wedged. .It "ep0: if_alloc() failed" The driver was unable to allocate a ifnet structure. This may happen in extremely low memory conditions. .It "ep0: strange connector type in EEPROM: assuming AUI" The driver does not know what to do with the information the EEPROM has about connectors, so it is assuming the worst. .It "ep0: unknown ID 0xXXXXXXXX" The driver has found an ID that it believes it supports, but does not have a specific identification string to present to the user. .It "ep0: <%s> at port 0x%03x in EISA mode" The 3C509 ISA card is in EISA mode. This message appears to be purely informational. .It "ep0: <%s> at x0%03x in PnP mode" This card appears to be in Plug and Play mode. It should be probed as part of the plug and play phase of the ISA probes. .It "ep0: Invalid EEPROM checksum!" The EEPROM has a bad checksum, so the driver is ignoring the card. .It "ep0: bus_setup_intr() failed!" The driver was unable to setup the interrupt handler. This should never happen. .El .Sh SEE ALSO .Xr altq 4 , .Xr ed 4 , .Xr intro 4 , .Xr ng_ether 4 , .Xr sn 4 , .Xr vx 4 , .Xr ifconfig 8 .Sh STANDARDS are great. There is so many to choose from. Index: head/sys/dev/pci/isa_pci.c =================================================================== --- head/sys/dev/pci/isa_pci.c (revision 312916) +++ head/sys/dev/pci/isa_pci.c (revision 312917) @@ -1,245 +1,242 @@ /*- * Copyright (c) 1994,1995 Stefan Esser, Wolfgang StanglMeier * Copyright (c) 2000 Michael Smith * Copyright (c) 2000 BSDi * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``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 CONTRIBUTORS 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 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include __FBSDID("$FreeBSD$"); /* * PCI:ISA bridge support */ #include #include #include #include #include #include #include #include #include #include #include static int isab_pci_probe(device_t dev); static int isab_pci_attach(device_t dev); static struct resource * isab_pci_alloc_resource(device_t dev, device_t child, int type, int *rid, rman_res_t start, rman_res_t end, rman_res_t count, u_int flags); static int isab_pci_release_resource(device_t dev, device_t child, int type, int rid, struct resource *r); static device_method_t isab_methods[] = { /* Device interface */ DEVMETHOD(device_probe, isab_pci_probe), DEVMETHOD(device_attach, isab_pci_attach), DEVMETHOD(device_detach, bus_generic_detach), DEVMETHOD(device_shutdown, bus_generic_shutdown), DEVMETHOD(device_suspend, bus_generic_suspend), DEVMETHOD(device_resume, bus_generic_resume), /* Bus interface */ DEVMETHOD(bus_add_child, bus_generic_add_child), DEVMETHOD(bus_alloc_resource, isab_pci_alloc_resource), DEVMETHOD(bus_release_resource, isab_pci_release_resource), DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), DEVMETHOD(bus_setup_intr, bus_generic_setup_intr), DEVMETHOD(bus_teardown_intr, bus_generic_teardown_intr), DEVMETHOD_END }; struct isab_pci_resource { struct resource *ip_res; int ip_refs; }; struct isab_pci_softc { struct isab_pci_resource isab_pci_res[PCIR_MAX_BAR_0 + 1]; }; static driver_t isab_driver = { "isab", isab_methods, sizeof(struct isab_pci_softc), }; DRIVER_MODULE(isab, pci, isab_driver, isab_devclass, 0, 0); /* * XXX we need to add a quirk list here for bridges that don't correctly * report themselves. */ static int isab_pci_probe(device_t dev) { int matched = 0; /* * Try for a generic match based on class/subclass. */ if ((pci_get_class(dev) == PCIC_BRIDGE) && (pci_get_subclass(dev) == PCIS_BRIDGE_ISA)) { matched = 1; } else { /* * These are devices that we *know* are PCI:ISA bridges. * Sometimes, however, they don't report themselves as * such. Check in case one of them is pretending to be * something else. */ switch (pci_get_devid(dev)) { case 0x04848086: /* Intel 82378ZB/82378IB */ case 0x122e8086: /* Intel 82371FB */ case 0x70008086: /* Intel 82371SB */ case 0x71108086: /* Intel 82371AB */ case 0x71988086: /* Intel 82443MX */ case 0x24108086: /* Intel 82801AA (ICH) */ case 0x24208086: /* Intel 82801AB (ICH0) */ case 0x24408086: /* Intel 82801AB (ICH2) */ case 0x00061004: /* VLSI 82C593 */ case 0x05861106: /* VIA 82C586 */ case 0x05961106: /* VIA 82C596 */ case 0x06861106: /* VIA 82C686 */ case 0x153310b9: /* AcerLabs M1533 */ case 0x154310b9: /* AcerLabs M1543 */ case 0x00081039: /* SiS 85c503 */ case 0x00001078: /* Cyrix Cx5510 */ case 0x01001078: /* Cyrix Cx5530 */ case 0xc7001045: /* OPTi 82C700 (FireStar) */ - case 0x00011033: /* NEC 0001 (C-bus) */ - case 0x002c1033: /* NEC 002C (C-bus) */ - case 0x003b1033: /* NEC 003B (C-bus) */ case 0x886a1060: /* UMC UM8886 ISA */ case 0x02001166: /* ServerWorks IB6566 PCI */ if (bootverbose) printf("PCI-ISA bridge with incorrect subclass 0x%x\n", pci_get_subclass(dev)); matched = 1; break; default: break; } } if (matched) { device_set_desc(dev, "PCI-ISA bridge"); return(-10000); } return(ENXIO); } static int isab_pci_attach(device_t dev) { bus_generic_probe(dev); return (isab_attach(dev)); } static struct resource * isab_pci_alloc_resource(device_t dev, device_t child, int type, int *rid, rman_res_t start, rman_res_t end, rman_res_t count, u_int flags) { struct isab_pci_softc *sc; int bar; if (device_get_parent(child) != dev) return bus_generic_alloc_resource(dev, child, type, rid, start, end, count, flags); switch (type) { case SYS_RES_MEMORY: case SYS_RES_IOPORT: /* * For BARs, we cache the resource so that we only allocate it * from the PCI bus once. */ bar = PCI_RID2BAR(*rid); if (bar < 0 || bar > PCIR_MAX_BAR_0) return (NULL); sc = device_get_softc(dev); if (sc->isab_pci_res[bar].ip_res == NULL) sc->isab_pci_res[bar].ip_res = bus_alloc_resource(dev, type, rid, start, end, count, flags); if (sc->isab_pci_res[bar].ip_res != NULL) sc->isab_pci_res[bar].ip_refs++; return (sc->isab_pci_res[bar].ip_res); } return (BUS_ALLOC_RESOURCE(device_get_parent(dev), child, type, rid, start, end, count, flags)); } static int isab_pci_release_resource(device_t dev, device_t child, int type, int rid, struct resource *r) { struct isab_pci_softc *sc; int bar, error; if (device_get_parent(child) != dev) return bus_generic_release_resource(dev, child, type, rid, r); switch (type) { case SYS_RES_MEMORY: case SYS_RES_IOPORT: /* * For BARs, we release the resource from the PCI bus * when the last child reference goes away. */ bar = PCI_RID2BAR(rid); if (bar < 0 || bar > PCIR_MAX_BAR_0) return (EINVAL); sc = device_get_softc(dev); if (sc->isab_pci_res[bar].ip_res == NULL) return (EINVAL); KASSERT(sc->isab_pci_res[bar].ip_res == r, ("isa_pci resource mismatch")); if (sc->isab_pci_res[bar].ip_refs > 1) { sc->isab_pci_res[bar].ip_refs--; return (0); } KASSERT(sc->isab_pci_res[bar].ip_refs > 0, ("isa_pci resource reference count underflow")); error = bus_release_resource(dev, type, rid, r); if (error == 0) { sc->isab_pci_res[bar].ip_res = NULL; sc->isab_pci_res[bar].ip_refs = 0; } return (error); } return (BUS_RELEASE_RESOURCE(device_get_parent(dev), child, type, rid, r)); } Index: head/sys/modules/ata/atacbus/Makefile =================================================================== --- head/sys/modules/ata/atacbus/Makefile (revision 312916) +++ head/sys/modules/ata/atacbus/Makefile (nonexistent) @@ -1,9 +0,0 @@ -# $FreeBSD$ - -.PATH: ${.CURDIR}/../../../dev/ata - -KMOD= atacbus -SRCS= ata-cbus.c -SRCS+= ata_if.h bus_if.h device_if.h isa_if.h - -.include Property changes on: head/sys/modules/ata/atacbus/Makefile ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property