diff options
Diffstat (limited to 'share/man/man4/ti.4')
-rw-r--r-- | share/man/man4/ti.4 | 338 |
1 files changed, 338 insertions, 0 deletions
diff --git a/share/man/man4/ti.4 b/share/man/man4/ti.4 new file mode 100644 index 000000000000..ba999e237fc4 --- /dev/null +++ b/share/man/man4/ti.4 @@ -0,0 +1,338 @@ +.\" Copyright (c) 1997, 1998, 1999 +.\" Bill Paul <wpaul@ctr.columbia.edu>. 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 Bill Paul. +.\" 4. Neither the name of the author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY Bill Paul 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 Bill Paul OR THE VOICES IN HIS HEAD +.\" 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 July 16, 2005 +.Dt TI 4 +.Os +.Sh NAME +.Nm ti +.Nd "Alteon Networks Tigon I and Tigon II Gigabit 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 ti" +.Cd "options TI_PRIVATE_JUMBOS" +.Cd "options TI_JUMBO_HDRSPLIT" +.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_ti_load="YES" +.Ed +.Sh DESCRIPTION +The +.Nm +driver provides support for PCI Gigabit Ethernet adapters based on +the Alteon Networks Tigon Gigabit Ethernet controller chip. +The Tigon +contains an embedded R4000 CPU, gigabit MAC, dual DMA channels and +a PCI interface unit. +The Tigon II contains two R4000 CPUs and other +refinements. +Either chip can be used in either a 32-bit or 64-bit PCI +slot. +Communication with the chip is achieved via PCI shared memory +and bus master DMA. +The Tigon I and II support hardware multicast +address filtering, VLAN tag extraction and insertion, and jumbo +Ethernet frames sizes up to 9000 bytes. +Note that the Tigon I chipset +is no longer in active production: all new adapters should come equipped +with Tigon II chipsets. +.Pp +While the Tigon chipset supports 10, 100 and 1000Mbps speeds, support for +10 and 100Mbps speeds is only available on boards with the proper +transceivers. +Most adapters are only designed to work at 1000Mbps, +however the driver should support those NICs that work at lower speeds +as well. +.Pp +Support for jumbo frames is provided via the interface MTU setting. +Selecting an MTU larger than 1500 bytes with the +.Xr ifconfig 8 +utility configures the adapter to receive and transmit jumbo frames. +Using jumbo frames can greatly improve performance for certain tasks, +such as file transfers and data streaming. +.Pp +Header splitting support for Tigon 2 boards (this option has no effect for +the Tigon 1) can be turned on with the +.Dv TI_JUMBO_HDRSPLIT +option. +See +.Xr zero_copy 9 +for more discussion on zero copy receive and header splitting. +.Pp +The +.Nm +driver normally uses jumbo receive buffers allocated by the +.Xr sendfile 2 +buffer allocator, but can be configured to use its own private pool of +jumbo buffers that are contiguous instead of buffers from the jumbo +allocator, which are made up of multiple page sized chunks. +To turn on private jumbos, use the +.Dv TI_PRIVATE_JUMBOS +option. +.Pp +Support for vlans is also available using the +.Xr vlan 4 +mechanism. +See the +.Xr vlan 4 +man page for more details. +.Pp +The +.Nm +driver supports the following media types: +.Pp +.Bl -tag -width xxxxxxxxxxxxxxxxxxxx +.It autoselect +Enable autoselection of the media type and options. +The user can manually override +the autoselected mode by adding media options to the +.Pa /etc/rc.conf +file. +.It 10baseT/UTP +Set 10Mbps operation. +The +.Ar mediaopt +option can also be used to select either +.Ar full-duplex +or +.Ar half-duplex +modes. +.It 100baseTX +Set 100Mbps (Fast Ethernet) operation. +The +.Ar mediaopt +option can also be used to select either +.Ar full-duplex +or +.Ar half-duplex +modes. +.It 1000baseSX +Set 1000Mbps (Gigabit Ethernet) operation. +Only full +.Ar full-duplex +mode is supported at this speed. +.El +.Pp +The +.Nm +driver supports the following media options: +.Pp +.Bl -tag -width xxxxxxxxxxxxxxxxxxxx +.It full-duplex +Force full duplex operation +.It half-duplex +Force half duplex operation. +.El +.Pp +For more information on configuring this device, see +.Xr ifconfig 8 . +.Sh HARDWARE +The +.Nm +driver supports Gigabit Ethernet adapters based on the +Alteon Tigon I and II chips. +The +.Nm +driver has been tested with the following adapters: +.Pp +.Bl -bullet -compact +.It +3Com 3c985-SX Gigabit Ethernet adapter (Tigon 1) +.It +3Com 3c985B-SX Gigabit Ethernet adapter (Tigon 2) +.It +Alteon AceNIC V Gigabit Ethernet adapter (1000baseSX) +.It +Alteon AceNIC V Gigabit Ethernet adapter (1000baseT) +.It +Digital EtherWORKS 1000SX PCI Gigabit adapter +.It +Netgear GA620 Gigabit Ethernet adapter (1000baseSX) +.It +Netgear GA620T Gigabit Ethernet adapter (1000baseT) +.El +.Pp +The following adapters should also be supported but have +not yet been tested: +.Pp +.Bl -bullet -compact +.It +Asante GigaNIX1000T Gigabit Ethernet adapter +.It +Asante PCI 1000BASE-SX Gigabit Ethernet adapter +.It +Farallon PN9000SX Gigabit Ethernet adapter +.It +NEC Gigabit Ethernet +.It +Silicon Graphics PCI Gigabit Ethernet adapter +.El +.Sh IOCTLS +In addition to the standard +.Xr socket 2 +.Xr ioctl 2 +calls implemented by most network drivers, the +.Nm +driver also includes a character device interface that can be used for +additional diagnostics, configuration and debugging. +With this character +device interface, and a specially patched version of +.Xr gdb 1 , +the user can +debug firmware running on the Tigon board. +.Pp +These ioctls and their arguments are defined in the +.In sys/tiio.h +header file. +.Bl -tag -width ".Dv ALT_WRITE_TG_MEM" +.It Dv TIIOCGETSTATS +Return card statistics DMAed from the card into kernel memory approximately +every 2 seconds. +(That time interval can be changed via the +.Dv TIIOCSETPARAMS +ioctl.) +The argument is +.Vt "struct ti_stats" . +.It Dv TIIOCGETPARAMS +Get various performance-related firmware parameters that largely affect how +interrupts are coalesced. +The argument is +.Vt "struct ti_params" . +.It Dv TIIOCSETPARAMS +Set various performance-related firmware parameters that largely affect how +interrupts are coalesced. +The argument is +.Vt "struct ti_params" . +.It Dv TIIOCSETTRACE +Tell the NIC to trace the requested types of information. +The argument is +.Vt ti_trace_type . +.It Dv TIIOCGETTRACE +Dump the trace buffer from the card. +The argument is +.Vt "struct ti_trace_buf" . +.It Dv ALT_ATTACH +This ioctl is used for compatibility with Alteon's Solaris driver. +They apparently only have one character interface for debugging, so they have +to tell it which Tigon instance they want to debug. +This ioctl is a noop for +.Fx . +.It Dv ALT_READ_TG_MEM +Read the requested memory region from the Tigon board. +The argument is +.Vt "struct tg_mem" . +.It Dv ALT_WRITE_TG_MEM +Write to the requested memory region on the Tigon board. +The argument is +.Vt "struct tg_mem" . +.It Dv ALT_READ_TG_REG +Read the requested register on the Tigon board. +The argument is +.Vt "struct tg_reg" . +.It Dv ALT_WRITE_TG_REG +Write to the requested register on the Tigon board. +The argument is +.Vt "struct tg_reg" . +.El +.Sh FILES +.Bl -tag -width ".Pa /dev/ti[0-255]" -compact +.It Pa /dev/ti[0-255] +Tigon driver character interface. +.El +.Sh DIAGNOSTICS +.Bl -diag +.It "ti%d: couldn't map memory" +A fatal initialization error has occurred. +.It "ti%d: couldn't map interrupt" +A fatal initialization error has occurred. +.It "ti%d: no memory for softc struct!" +The driver failed to allocate memory for per-device instance information +during initialization. +.It "ti%d: failed to enable memory mapping!" +The driver failed to initialize PCI shared memory mapping. +This might +happen if the card is not in a bus-master slot. +.It "ti%d: no memory for jumbo buffers!" +The driver failed to allocate memory for jumbo frames during +initialization. +.It "ti%d: bios thinks we're in a 64 bit slot, but we aren't" +The BIOS has programmed the NIC as though it had been installed in +a 64-bit PCI slot, but in fact the NIC is in a 32-bit slot. +This happens +as a result of a bug in some BIOSes. +This can be worked around on the +Tigon II, but on the Tigon I initialization will fail. +.It "ti%d: board self-diagnostics failed!" +The ROMFAIL bit in the CPU state register was set after system +startup, indicating that the on-board NIC diagnostics failed. +.It "ti%d: unknown hwrev" +The driver detected a board with an unsupported hardware revision. +The +.Nm +driver supports revision 4 (Tigon 1) and revision 6 (Tigon 2) chips +and has firmware only for those devices. +.It "ti%d: watchdog timeout" +The device has stopped responding to the network, or there is a problem with +the network connection (cable). +.El +.Sh SEE ALSO +.Xr sendfile 2 , +.Xr arp 4 , +.Xr netintro 4 , +.Xr ng_ether 4 , +.Xr vlan 4 , +.Xr ifconfig 8 , +.Xr zero_copy 9 +.Sh HISTORY +The +.Nm +device driver first appeared in +.Fx 3.0 . +.Sh AUTHORS +.An -nosplit +The +.Nm +driver was written by +.An Bill Paul Aq wpaul@bsdi.com . +The header splitting firmware modifications, character +.Xr ioctl 2 +interface and debugging support were written by +.An Kenneth Merry Aq ken@FreeBSD.org . +Initial zero copy support was written by +.An Andrew Gallatin Aq gallatin@FreeBSD.org . |