tu - Tulip Ethernet and Fast Ethernet interface
config_driver tu
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.
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. The
tu driver failed to add a multicast address: reached hardware
limit (possible only on DECchip 21140 based products).
The tu driver's attempt to allocate a DMA mapping
resource failed. The tu driver's attempt to map a transmit
packet buffer failed. The tu driver's attempt to
allocate and/or load a DMA buffer failed. The tu driver's
computation of the Ethernet checksum did not match the
stored value (possible only on DECchip 21040 based products).
The tu driver read zeroes for the Ethernet ID.
The tu driver failed to locate a standard pattern in the
Ethernet ROM (possible only on DECchip 21040 based products).
The tu driver failed to acquire a buffer for setting
up address filters. The tu driver failed to map the
buffer used for setting up address filters. The tu driver
failed to read the serial ROM device (possible only on
DECchip 21041 and DECchip 21140 based products). The tu
driver failed to initialize the interface. The tu driver
failed to register its interrupt handler. The tu driver
failed to add a multicast address: limit reached. The tu
driver failed to allocate a buffer for creating the
receive ring. The tu driver failed to allocate a buffer
for creating the transmit ring. The tu driver failed to
allocate one or more mbufs for posting receives. The tu
driver was configured for a medium that the adapter does
not support. The tu device reported a PCI master abort
error. The tu device reported a PCI parity error: the
interface is reset in this case. The tu device reported a
PCI target abort error. The tu driver timed out while
reading the Ethernet ID (possible only on DECchip 21040
based products). The tu driver found the transmit ring to
be inconsistent: the interface is reset in this case.
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 To set the tu0 interface for 10 MB/s, fullduplex
operation over twisted-pair, enter: # ifconfig tu0
speed 20 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 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 To set the tu0
interface for 100 Mb/s, half-duplex operation over
twisted-pair, enter: # ifconfig tu0 speed 100 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); }
Commands: ifconfig(8), lan_config(8)
Networkinformation: arp(7), inet(7), netintro(7)
SubsystemAttributes: sys_attrs_tu(5)
tu(7)
[ Back ] |