Index Index for
Section 7
Index Alphabetical
listing for T
Bottom of page Bottom of
page

tu(7)

NAME

tu - Tulip Ethernet and Fast Ethernet interface

SYNOPSIS

config_driver tu

DESCRIPTION

The tu interface provides access to regular 10 Mb/s Ethernet as well as to the newer 100 Mb/s Fast Ethernet (IEEE 802.3 100BaseTX) network. In particular, the tu interface provides access to the following devices employed on various AlphaStations, AlphaServers, AlphaSBCs, and EISA and PCI Network Interface Cards (NICs): · DECchip 21040 - 10 Mb/s Ethernet only · DECchip 21041 - 10 Mb/s Ethernet only · DECchip 21140 - 10 Mb/s Ethernet or 100 Mb/s Fast Ethernet · DECchip 21142 - 10 Mb/s Ethernet or 100 Mb/s Fast Ethernet · DECchip 21143 - 10 Mb/s Ethernet or 100 Mb/s Fast Ethernet The adapter does not possess an automatic mode or media (autosensing) capabilities. Therefore, for a given interface, you select the Ethernet port and speed (and when using the twisted-pair port, whether or not it operates in half- or full-duplex mode) at the SRM console level by setting the corresponding ew*0_mode environment variable to the desired value. For example, setting ewa0_mode to twisted-pair causes the interface to use the UTP port in half-duplex mode for tu0. Refer to console level help and documentation for specific options. The following are exceptions to this rule: · For modules that use the DECchip 21040 and offer both the AUI (Thickwire) and BNC (Thinwire) ports, you use an on-board shunt jumper to select between these two ports. This jumper must be positioned to reflect the ewa*0_mode setting for proper port selection. For example, if the ew*0_mode variable selects BNC and the jumper is set for AUI, the driver uses AUI. If the port selected is Twisted-Pair, the jumper position is irrelevant. · For the DE425 EISA module, you must use the EISA Configuration Utility (V1.9 or higher) for Tru64 UNIX in addition to the ewa*0_mode setting (and the jumper setting, if applicable) to make the port selection final. The Network Mode ECU selection overrides the ew*0_mode selection. The default for Network Mode is AutoSense; the driver does not support this mode. You must specify the mode. Alternatively, you can also select a port at operating system level by using the lan_config command or the ifconfig command. The latter command provides a subset of the lan_config command's capabilities. Both commands override the selection done at SRM console or ECU level, and enable you to quickly test different modes, media, and speeds without needing to to reboot the system. See the "Examples" section for a list of commands. If you want to preserve your lan_config or ifconfig command information without having to modify the ew*0_mode SRM console variables, edit the /etc/inet.local file and include the appropriate commands. This information also remains the same through system version updates. The DE500-AA and DE500-BA adapters offer the IEEE 802.3u autonegotiation feature. This is a hardware mechanism for determining the speed and medium to use over a given connection. To enable this feature, set the ew*0_mode variable to auto. As a rule, when using autonegotiating switches or repeaters, you must use autonegotiating adapters. It is difficult (and may not be possible) to get a non-autonegotiating adapter to work with an autonegotiating switch or repeater. Similarly, it is difficult to get an autonegotiating adapter to work with a non-autonegotiating switch or repeater. The host's Internet address is specified at boot time with an SIOCSIFADDR ioctl (executed by the ifconfig command). The tu interface employs the address resolution protocol described in arp(7) to map dynamically between Internet and Ethernet addresses on the local network. You can use the SIOCSPHYSADDR ioctl to change the physical address of the interface; use the ifreq structure. You can also use the SIOCRPHYSADDR ioctl to read the physical address of the interface. See the EXAMPLES section. You can use the SIOCADDMULTI and SIOCDELMULTI ioctls to add or delete multicast addresses. The tu interface uses perfect address filtering if 14 or fewer multicast addresses are active. Beyond 14, the interface switches over to using an imperfect hash filtering mechanism. You can use the SIOCRDCTRS and SIOCRDZCTRS ioctls to read and to read and clear, respectively, the Ethernet driver counters. The argument to these two ioctls is a pointer to a counter structure, ctrreq, found in <net/if.h>. You can use the SIOCENABLBACK and SIOCDISABLBACK ioctls to enable and disable the interface loopback mode, respectively.

ERRORS

The following diagnostic error messages contain relevant information provided by the tu interface, and are printed on the console. Each message begins with the adapter identification, including the number of the adapter. address filter table is full The tu driver failed to add a multicast address: reached hardware limit (possible only on DECchip 21140 based products). dma mapping [alloc] error The tu driver's attempt to allocate a DMA mapping resource failed. dma mapping error on xmt; packet dropped The tu driver's attempt to map a transmit packet buffer failed. dma mapping [alloc-load] failure The tu driver's attempt to allocate and/or load a DMA buffer failed. Ethernet address checksum error The tu driver's computation of the Ethernet checksum did not match the stored value (possible only on DECchip 21040 based products). Ethernet address contains all zeroes The tu driver read zeroes for the Ethernet ID. Ethernet address pattern not found The tu driver failed to locate a standard pattern in the Ethernet ROM (possible only on DECchip 21040 based products). failed to get a setup buffer The tu driver failed to acquire a buffer for setting up address filters. failed to map setup buffer The tu driver failed to map the buffer used for setting up address filters. failed to read SROM Id The tu driver failed to read the serial ROM device (possible only on DECchip 21041 and DECchip 21140 based products). initialization failed The tu driver failed to initialize the interface. interrupt handler add failed The tu driver failed to register its interrupt handler. multicast limit The tu driver failed to add a multicast address: limit reached. no buffer for receive ring The tu driver failed to allocate a buffer for creating the receive ring. no buffer for transmit ring The tu driver failed to allocate a buffer for creating the transmit ring. no receive mbufs The tu driver failed to allocate one or more mbufs for posting receives. no SROM info for selected media The tu driver was configured for a medium that the adapter does not support. system error: master abort The tu device reported a PCI master abort error. system error: parity error The tu device reported a PCI parity error: the interface is reset in this case. system error: target abort The tu device reported a PCI target abort error. timed out reading Ethernet ID The tu driver timed out while reading the Ethernet ID (possible only on DECchip 21040 based products). tuintr: transmit ring inconsistent The tu driver found the transmit ring to be inconsistent: the interface is reset in this case.

EXAMPLES

1. To set the tu0 interface for 10 Mb/s, half-duplex operation over ThinWire, enter: # lan_config -i tu0 -s 10 -x 0 -a 0 -m bnc 2. To set the tu0 interface for 10 MB/s, full-duplex operation over twisted-pair, enter: # ifconfig tu0 speed 20 3. To set the tu0 interface for 10 Mb/s, full-duplex operation over twisted-pair, enter: # lan_config -i tu0 -s 10 -x 1 -a 0 -m utp 4. To set the tu0 interface for 100 Mb/s, half-duplex operation over fiber optic cable, enter: # lan_config -i tu0 -s 100 -x 0 -a 0 -m fiber 5. To set the tu0 interface for 100 Mb/s, half-duplex operation over twisted-pair, enter: # ifconfig tu0 speed 100 6. To set the tu0 interface for 100 Mb/s, full-duplex operation over twisted-pair with autonegotiation, enter: # lan_config -i tu0 -s 100 -x 1 -a 1 -m utp To obtain the physical address of the adapter, use the SIOCRPHYSADDR ioctl as in the following program example: #include <stdio.h> /* standard I/O */ #include <errno.h> /* error numbers */ #include <sys/socket.h> /* socket definitions */ #include <sys/ioctl.h> /* ioctls */ #include <net/if.h> /* generic interface structures */ main() { int s,i; struct ifdevea devea; /* Get a socket */ s = socket(AF_INET,SOCK_DGRAM,0); if (s < 0) { perror("socket"); exit(1); } strcpy(devea.ifr_name,"tu0"); if (ioctl(s,SIOCRPHYSADDR,&devea) < 0) { perror(&devea.ifr_name[0]); exit(1); } printf("Address is "); for (i = 0; i < 6; i++) printf("%X ", devea.default_pa[i] & 0xff); printf("\n"); close(s); }

SEE ALSO

Commands: ifconfig(8), lan_config(8) Networkinformation: arp(7), inet(7), netintro(7) SubsystemAttributes: sys_attrs_tu(5)

Index Index for
Section 7
Index Alphabetical
listing for T
Top of page Top of
page