19555e59aSBill Paul.\" Copyright (c) 1997, 1998, 1999 29555e59aSBill Paul.\" Bill Paul <wpaul@ee.columbia.edu>. All rights reserved. 39555e59aSBill Paul.\" 49555e59aSBill Paul.\" Redistribution and use in source and binary forms, with or without 59555e59aSBill Paul.\" modification, are permitted provided that the following conditions 69555e59aSBill Paul.\" are met: 79555e59aSBill Paul.\" 1. Redistributions of source code must retain the above copyright 89555e59aSBill Paul.\" notice, this list of conditions and the following disclaimer. 99555e59aSBill Paul.\" 2. Redistributions in binary form must reproduce the above copyright 109555e59aSBill Paul.\" notice, this list of conditions and the following disclaimer in the 119555e59aSBill Paul.\" documentation and/or other materials provided with the distribution. 129555e59aSBill Paul.\" 3. All advertising materials mentioning features or use of this software 139555e59aSBill Paul.\" must display the following acknowledgement: 149555e59aSBill Paul.\" This product includes software developed by Bill Paul. 159555e59aSBill Paul.\" 4. Neither the name of the author nor the names of any co-contributors 169555e59aSBill Paul.\" may be used to endorse or promote products derived from this software 179555e59aSBill Paul.\" without specific prior written permission. 189555e59aSBill Paul.\" 199555e59aSBill Paul.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND 209555e59aSBill Paul.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 219555e59aSBill Paul.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 229555e59aSBill Paul.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD 239555e59aSBill Paul.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 249555e59aSBill Paul.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 259555e59aSBill Paul.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 269555e59aSBill Paul.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 279555e59aSBill Paul.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 289555e59aSBill Paul.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 299555e59aSBill Paul.\" THE POSSIBILITY OF SUCH DAMAGE. 309555e59aSBill Paul.\" 31f0092b8fSPyun YongHyeon.Dd September 2, 2010 32474fc32bSAlexey Zelkin.Dt SIS 4 33e6a801c1SBill Paul.Os 349555e59aSBill Paul.Sh NAME 359555e59aSBill Paul.Nm sis 36b5743d74SDavid E. O'Brien.Nd "SiS 900, SiS 7016 and NS DP83815/DP83816 Fast Ethernet device driver" 379555e59aSBill Paul.Sh SYNOPSIS 3816d78bb8STom RhodesTo compile this driver into the kernel, 3916d78bb8STom Rhodesplace the following lines in your 4090296834STom Rhodeskernel configuration file: 4186e3186eSTom Rhodes.Bd -ragged -offset indent 42b9781e20SJeroen Ruigrok van der Werven.Cd "device miibus" 43b9781e20SJeroen Ruigrok van der Werven.Cd "device sis" 4486e3186eSTom Rhodes.Ed 4586e3186eSTom Rhodes.Pp 4616d78bb8STom RhodesAlternatively, to load the driver as a 4716d78bb8STom Rhodesmodule at boot time, place the following line in 4886e3186eSTom Rhodes.Xr loader.conf 5 : 4986e3186eSTom Rhodes.Bd -literal -offset indent 5086e3186eSTom Rhodesif_sis_load="YES" 5186e3186eSTom Rhodes.Ed 529555e59aSBill Paul.Sh DESCRIPTION 539555e59aSBill PaulThe 549555e59aSBill Paul.Nm 55f3389dd8SBruce A. Mahdriver provides support for PCI Ethernet adapters and embedded 569555e59aSBill Paulcontrollers based on the Silicon Integrated Systems SiS 900 570cfd01daSChristian Bruefferand SiS 7016 Fast Ethernet controller chips. 5843263d5dSBruce A. Mah.Pp 5943263d5dSBruce A. MahThis driver also supports 60b5743d74SDavid E. O'Brienadapters based on the National Semiconductor DP83815 (MacPhyter) and DP83816 610cfd01daSChristian BruefferPCI Ethernet controller chip. 629555e59aSBill Paul.Pp 63f3389dd8SBruce A. MahThe SiS 900 is a 100Mbps Ethernet MAC and MII-compliant transceiver 646d249eeeSSheldon Hearnin a single package. 656d249eeeSSheldon HearnIt uses a bus master DMA and a scatter/gather 666d249eeeSSheldon Hearndescriptor scheme. 676d249eeeSSheldon HearnThe SiS 7016 is similar to the SiS 900 except 689555e59aSBill Paulthat it has no internal PHY, requiring instead an external transceiver 699555e59aSBill Paulto be attached to its MII interface. 709555e59aSBill PaulThe SiS 900 and SiS 7016 both have a 128-bit multicast hash filter 719555e59aSBill Pauland a single perfect filter entry for the station address. 729555e59aSBill Paul.Pp 73f3389dd8SBruce A. MahThe NS DP83815 is also a 100Mbps Ethernet MAC with integrated PHY. 7495674596SBill PaulThe NatSemi chip and the SiS 900 share many of the same features and 7595674596SBill Paula fairly similar programming interface, hence both chips are supported 7695674596SBill Paulby the same driver. 7795674596SBill Paul.Pp 789555e59aSBill PaulThe 799555e59aSBill Paul.Nm 809555e59aSBill Pauldriver supports the following media types: 81e6a801c1SBill Paul.Bl -tag -width 10baseTXUTP 829555e59aSBill Paul.It autoselect 839555e59aSBill PaulEnable autoselection of the media type and options. 849555e59aSBill PaulThe user can manually override 85e6a801c1SBill Paulthe autoselected mode by adding media options to 86e6a801c1SBill Paul.Xr rc.conf 5 . 879555e59aSBill Paul.It 10baseT/UTP 886d249eeeSSheldon HearnSet 10Mbps operation. 896d249eeeSSheldon HearnThe 90e6a801c1SBill Paul.Xr ifconfig 8 91e6a801c1SBill Paul.Cm mediaopt 929555e59aSBill Pauloption can also be used to select either 93e6a801c1SBill Paul.Sq full-duplex 949555e59aSBill Paulor 95e6a801c1SBill Paul.Sq half-duplex 96e6a801c1SBill Paulmodes. 979555e59aSBill Paul.It 100baseTX 98f3389dd8SBruce A. MahSet 100Mbps (Fast Ethernet) operation. 996d249eeeSSheldon HearnThe 100e6a801c1SBill Paul.Xr ifconfig 8 101e6a801c1SBill Paul.Cm mediaopt 1029555e59aSBill Pauloption can also be used to select either 103e6a801c1SBill Paul.Sq full-duplex 1049555e59aSBill Paulor 105e6a801c1SBill Paul.Sq half-duplex 1069555e59aSBill Paulmodes. 1079555e59aSBill Paul.El 1089555e59aSBill Paul.Pp 1099555e59aSBill PaulThe 1109555e59aSBill Paul.Nm 1119555e59aSBill Pauldriver supports the following media options: 112e6a801c1SBill Paul.Bl -tag -width full-duplex 1139555e59aSBill Paul.It full-duplex 11450d922a0SGlen BarberForce full duplex operation. 1159555e59aSBill Paul.It half-duplex 1169555e59aSBill PaulForce half duplex operation. 1179555e59aSBill Paul.El 1189555e59aSBill Paul.Pp 1199555e59aSBill PaulFor more information on configuring this device, see 1209555e59aSBill Paul.Xr ifconfig 8 . 1210cfd01daSChristian Brueffer.Sh HARDWARE 1220cfd01daSChristian BruefferThe 1230cfd01daSChristian Brueffer.Nm 1240cfd01daSChristian Bruefferdriver supports Silicon Integrated Systems SiS 900 and SiS 7016 based 1250cfd01daSChristian BruefferFast Ethernet adapters and embedded controllers, as well as Fast Ethernet 126b5743d74SDavid E. O'Brienadapters based on the National Semiconductor DP83815 (MacPhyter) and DP83816 127b5743d74SDavid E. O'Brienchips. 1280cfd01daSChristian BruefferSupported adapters include: 1290cfd01daSChristian Brueffer.Pp 1300cfd01daSChristian Brueffer.Bl -bullet -compact 1310cfd01daSChristian Brueffer.It 1320cfd01daSChristian Brueffer@Nifty FNECHARD IFC USUP-TX 1330cfd01daSChristian Brueffer.It 1340cfd01daSChristian BruefferMELCO LGY-PCI-TXC 1350cfd01daSChristian Brueffer.It 1360cfd01daSChristian BruefferNetgear FA311-TX (DP83815) 1370cfd01daSChristian Brueffer.It 1380cfd01daSChristian BruefferNetgear FA312-TX (DP83815) 1390cfd01daSChristian Brueffer.It 1400cfd01daSChristian BruefferSiS 630, 635, and 735 motherboard chipsets 141b5743d74SDavid E. O'Brien.It 142f5789eb3SChristian BruefferSoekris Engineering net45xx, net48xx, lan1621, and lan1641 1430cfd01daSChristian Brueffer.El 144f0092b8fSPyun YongHyeon.Sh SYSCTL VARIABLES 145f0092b8fSPyun YongHyeonThe following variable is available as both 146f0092b8fSPyun YongHyeon.Xr sysctl 8 147f0092b8fSPyun YongHyeonvariable and 148f0092b8fSPyun YongHyeon.Xr loader 8 149f0092b8fSPyun YongHyeontunable: 150f0092b8fSPyun YongHyeon.Bl -tag -width indent 151f0092b8fSPyun YongHyeon.It Va dev.sis.%unit.manual_pad 152f0092b8fSPyun YongHyeonThis variable controls how to pad short frames for DP83815/DP83816 153f0092b8fSPyun YongHyeoncontrollers on the specified device. 154f0092b8fSPyun YongHyeonDP83815/DP83816 controllers are known to pad 0xFF for short frames 155f0092b8fSPyun YongHyeonwhich is violation of RFC 1042. 156629cb67fSPyun YongHyeonSet this variable to a non-zero value to let driver manually pad 157629cb67fSPyun YongHyeoneach short frame with zeros at the cost of extra CPU cycles. 158629cb67fSPyun YongHyeonThe default value is 0 to let hardware perform automatic padding. 159f0092b8fSPyun YongHyeon.El 1609555e59aSBill Paul.Sh DIAGNOSTICS 1619555e59aSBill Paul.Bl -diag 1629555e59aSBill Paul.It "sis%d: couldn't map ports/memory" 1639555e59aSBill PaulA fatal initialization error has occurred. 1649555e59aSBill Paul.It "sis%d: couldn't map interrupt" 1659555e59aSBill PaulA fatal initialization error has occurred. 1669555e59aSBill Paul.It "sis%d: watchdog timeout" 1679555e59aSBill PaulThe device has stopped responding to the network, or there is a problem with 1685203edcdSRuslan Ermilovthe network connection (e.g.\& a cable fault). 1699555e59aSBill Paul.It "sis%d: no memory for rx list" 1709555e59aSBill PaulThe driver failed to allocate an mbuf for the receiver ring. 1719555e59aSBill Paul.It "sis%d: no memory for tx list" 1729555e59aSBill PaulThe driver failed to allocate an mbuf for the transmitter ring when 173c48524c2SMike Pritchardallocating a pad buffer or collapsing an mbuf chain into a cluster. 1749555e59aSBill Paul.It "sis%d: chip is in D3 power state -- setting to D0" 1759555e59aSBill PaulThis message applies only to adapters which support power 1766d249eeeSSheldon Hearnmanagement. 177e6a801c1SBill PaulSome operating systems place the controller in low power 1789555e59aSBill Paulmode when shutting down, and some PCI BIOSes fail to bring the chip 1796d249eeeSSheldon Hearnout of this state before configuring it. 1806d249eeeSSheldon HearnThe controller loses all of 1819555e59aSBill Paulits PCI configuration in the D3 state, so if the BIOS does not set 182e6a801c1SBill Paulit back to full power mode in time, it will not be able to configure it 1836d249eeeSSheldon Hearncorrectly. 1846d249eeeSSheldon HearnThe driver tries to detect this condition and bring 1859555e59aSBill Paulthe adapter back to the D0 (full power) state, but this may not be 1866d249eeeSSheldon Hearnenough to return the driver to a fully operational condition. 1876d249eeeSSheldon HearnIf 1889555e59aSBill Paulyou see this message at boot time and the driver fails to attach 189e6a801c1SBill Paulthe device as a network interface, you will have to perform a 1909555e59aSBill Paulwarm boot to have the device properly configured. 1919555e59aSBill Paul.Pp 1929555e59aSBill PaulNote that this condition only occurs when warm booting from another 193e6a801c1SBill Pauloperating system. 194e6a801c1SBill PaulIf you power down your system prior to booting 1959555e59aSBill Paul.Fx , 1969555e59aSBill Paulthe card should be configured correctly. 1979555e59aSBill Paul.El 1989555e59aSBill Paul.Sh SEE ALSO 199a25ecdffSChristian Brueffer.Xr altq 4 , 2009555e59aSBill Paul.Xr arp 4 , 201071d726dSTom Rhodes.Xr miibus 4 , 2029555e59aSBill Paul.Xr netintro 4 , 20395d7878cSArchie Cobbs.Xr ng_ether 4 , 204a6c410e7SChristian Brueffer.Xr polling 4 , 205f0092b8fSPyun YongHyeon.Xr vlan 4 , 20695d7878cSArchie Cobbs.Xr ifconfig 8 2079555e59aSBill Paul.Rs 2089555e59aSBill Paul.%T SiS 900 and SiS 7016 datasheets 209*8799e12eSWolfram Schneider.%U https://www.sis.com.tw 2109555e59aSBill Paul.Re 21195674596SBill Paul.Rs 21295674596SBill Paul.%T NatSemi DP83815 datasheet 21395674596SBill Paul.Re 2149555e59aSBill Paul.Sh HISTORY 2159555e59aSBill PaulThe 2169555e59aSBill Paul.Nm 2179555e59aSBill Pauldevice driver first appeared in 2189555e59aSBill Paul.Fx 3.0 . 2199555e59aSBill Paul.Sh AUTHORS 2209555e59aSBill PaulThe 2219555e59aSBill Paul.Nm 2229555e59aSBill Pauldriver was written by 2236c899950SBaptiste Daroussin.An Bill Paul Aq Mt wpaul@ee.columbia.edu . 224