*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> ethernet (7)              


ETHERNET(7)							   ETHERNET(7)

NAME    [Toc]    [Back]

     ethernet -	Ethernet controllers

DESCRIPTION    [Toc]    [Back]

     IRIX supports local-area networking with Ethernet.	 The Ethernet protocol
     is	supported with a hardware controller and a kernel driver.  Though the
     controllers are different among the various hardware platforms, their
     drivers provide the same programming interface to networking routines.

     Most ethernet controllers are named using the following convention:  the
     prefix is `e' and the suffix ('N')	is the controller unit number.
     However, not all drivers follow this, as shown below:

	  Name Type	 Model
	  ec0  on-board	 Indigo, Indigo2, Indy,	CHALLENGE S/M (10baseT)
	  ec0  on-board	 O2 (10/100baseTX)
	  ec1  PCI	 O2 (10/100baseTX)
	  et0  on-board	 POWER Series, Challenge/Onyx systems (10baseT)
	  etN  HIO	 POWER Series, Challenge/Onyx systems (10baseT)
	  ef0  on-board	 OCTANE, Origin	Series Fast Ethernet (10/100baseTX)
	  efN  XIO	 OCTANE, Origin	Series Fast Ethernet (10/100baseTX)
	  gfeN GIO	 Indy, Indigo, Indigo2,	CHALLENGE S (10/100baseTX)

     Depending on the model, several Ethernet controllers are supported,
     allowing the system to act	as a gateway among different local networks.

     The Ethernet boards are initialized during	system startup from
     /etc/init.d/network (see network(1M) for details).

     IRIX implements the Ethernet encapsulation	format.	 Each packet has a
     14-byte header, as	defined	in the #include	file <netinet/if_ether.h>:

	  struct ether_header {
	       u_char	 ether_dhost[6];     /*	destination address */
	       u_char	 ether_shost[6];     /*	source address */
	       u_short	 ether_type;	/* packet type */

     The packet	type determines	which kernel protocol routine is called	to
     process the packet	data.  Examples	of common packet types are IP, ARP,
     and DECnet.

     On	systems	with 10/100baseTX capability, auto-negotiation is enabled by
     default; through auto-negotiation,	the ethernet transceiver will select
     the highest performance common connection technology between a local host
     and a remote host.	 For the OCTANE	and Origin systems, refer to
     /var/sysgen/master.d/if_ef	if the manual selection	of ethernet speed and
     duplex mode is desired.  For the O2 on-board ethernet, the	PROM variable

									Page 1

ETHERNET(7)							   ETHERNET(7)

     'ec0mode' can be used to select the desired speed (legal values are:  10,
     100, f100,	and h100).  For	the O2 add-on ethernet,	refer to
     /var/sysgen/master.d/if_ecf if the	manual selection of ethernet speed and
     duplex mode is desired.

     To	disable	auto-negotiation and force a specific speed/duplex, you	can
     modify the	/var/sysgen/master.d/if_ef file	with the following changes.
     As	the following example shows, you must specify xxx as a valid phy type,
     specify yyy as a valid speed/duplex mode, and remove the #ifdef/#endif

     In	addition, you must set the ethernet unit number	to -1 to activate the
     chipset features on all interfaces	(this is the default in	this file, as
     shown in the following example), or set it	to a specific interface	number
     that will affect only that	interface.

     The example is as follows:

     To	lock down the ef0 interface on an Origin 2000 system to	100mbit/fullduplex,
 specify the following:

     { 1, PHY_DP83840, -1, 0, 0xffff, F100 },

     To	lock down the ef1 interface on an Octane system	to 10mbit/half-duplex,
     specify the following:

     { 2, PHY_ICS1890, -1, 0, 0xffff, H10 },

     You must also remove the #ifdef/#endif lines.

	  #define F100	  0x2100		       /* 100mbps full duplex mode */
	  #define H100	  0x2000		       /* 100mbps half duplex mode */
	  #define F10	  0x0100		       /* 10mbps full duplex mode */
	  #define H10	  0x0000		       /* 10mbps half duplex mode */

	  struct phyerrata {
	       int	       unit;
	       __uint32_t      type;
	       short	       rev;
	       unsigned	short  reg, mask, val;
	  } ef_phyerrata[] = {
	       { -1, PHY_DP83840, -1, 23, 1 << 5, 1 << 5 },  /*	bypass link disconnect */
	       { -1, PHY_ICS1890, -1, 18, 1 << 5, 1 << 5 },  /*	link loss inhibit */
	  #ifdef notdef
	       { -1, xxx, -1, 0, 0xffff, yyy },
	       { -1, 0,	0, 0, 0, 0},

									Page 2

ETHERNET(7)							   ETHERNET(7)

     Auto-negotiation for the gigabit Ethernet 1000Base-SX differs from	autonegotiation
 for IEEE 802.3u 100BaseT. 100BaseT uses the National
     Semiconductor NWay	(TM) Auto-Negotiation standard.	 Most of the 10/100
     Ethernet controller chips include N-Way Auto-Negotiation.

     There is no auto-negotiation standard for 1000Base-SX; this may require
     that auto-negotiation be disabled.	To disable auto-negotiation, you must
     use the following commands:

	  ifconfig eg<n> down
	  egconfig -l eg<n>
	  ifconfig eg<n> up

     If	you need to reenable auto-negotiation, you must	reboot the system
     because the auto-negotiation status of a system cannot be checked.

     The default for auto-negotiation is to be enabled on bootup.  If you want
     auto-negotiation to be disabled by	default, you must create the
     /etc/config/eg<n>.options file and	add the	-l option (letter l).

     Whether or	not auto-negotiation is	enabled	or disabled, the speed and
     mode will always be 1,000 Mbits/second, full duplex.

DIAGNOSTICS    [Toc]    [Back]

     Various error messages are	printed	by the kernel when a problem is
     encountered.  The message is preceded by the controller name, for
     example, et0.  Serious errors are flagged with a dagger (-).  If they
     occur repeatedly, contact your product support service for	assistance.
     By	default, many non-serious errors will not cause	a diagnostic message
     to	be displayed on	the console.  To enable	all driver diag	messages, use
     the command ifconfig xxx debug where xxx is the ethernet network
     interface name.

     The following error messages are common to	all controllers:

	packet too small (length = X)
	packet too large (length = X)
	     The controller received a packet that was smaller than the
	     minimum Ethernet packet size of 60	bytes or larger	than the
	     maximum of	1514.  This problem is caused by another machine with
	     a bad Ethernet controller or transceiver.

	stray interrupt
	early interrupt
	     The controller interrupted	the kernel before the device was
	     initialized.  This	error is innocuous; it occurs after booting a
	     kernel over the network from the PROM monitor.

	died and restarted
	     The controller failed to respond after a certain amount of	time
	     and the driver had	to reset it.

									Page 3

ETHERNET(7)							   ETHERNET(7)

	cannot handle address family
	     This message indicates an error in	the kernel protocol handling

     The following messages are	specific to the	ec and et controllers.

	no carrier: check Ethernet cable
	     Carrier was not detected when attempting to transmit, probably
	     because the Ethernet cable	is unplugged from the machine (but
	     possibly due to a broken transceiver, transceiver cable, or
	     10baseT hub).

	late collision
	     The controller tried to transmit a	packet but received a late
	     collision signal from another machine.  Usually indicates a
	     problem in	the Ethernet cable layout.

	transmit buffer	error
	receive	buffer error
	transmit underflow
	receive	packet overflow
	     The controller ran	out of memory when trying to transmit or
	     receive a packet.-

	unknown	interrupt
	     The controller interrupted	the kernel but the reason for the
	     interrupt is missing.-

	     The kernel	tried to transmit a packet larger than the maximum

	machine	has bad	Ethernet address: x:x:x:x:x:x
	     The Ethernet address obtained from	non-volatile RAM during
	     controller	initialization was corrupted.-

	memory timeout
	     The LANCE Ethernet	chip failed to access its local	memory.-

     Counts of Ethernet	input and output errors	can be displayed with the
     command netstat -i	(see netstat(1M)).  Typically, output errors and
     collisions	occur due to mismatched	controller and transceiver
     configurations.  Input error statistics include counts of the errors
     listed above and counts of	protocol input queue overflows.

Configuring additional ethernet	ports on Challenge/Onyx	L/XL systems
     Onyx and Challenge	L/XL systems only enable the ethernet on the master
     IO4 by default.  To activate the ethernet interfaces on other IO4 boards,
     a vector line must	be added to /var/sysgen/system/irix.sm.	The following
     vector line configures the	ethernet interface on the IO4 in slot 13 as

									Page 4

ETHERNET(7)							   ETHERNET(7)

     VECTOR: bustype=EPC module=epcether unit=1	slot=13

     The first two options (bustype and	module)	are mandatory and tell lboot
     that you're configuring an	ethernet interface.  The "unit"	option
     specifies the ethernet unit number. The unit number must be greater than
     0.	 The "slot" option specifies the slot of the IO4 whose ethernet
     interface is being	configured as et1.

     After updating the	irix.sm	file, autoconfig(1m) should be executed	to
     reconfigure the kernel.  To make the new interface	available, reboot the
     machine with the new kernel.

SEE ALSO    [Toc]    [Back]

     ioconfig(1M), netstat(1M),	network(1M), socket(2),	drain(7P), ip(7P),
     raw(7P), snoop(7P)

NOTE    [Toc]    [Back]

     IEEE 802.3	Ethernet encapsulation is not currently	supported.  Some
     Ethernet controllers will support IEEE 802.3 and Ethernet v.1/v.2
     electrical	specifications.	 Contact your product support service for more

									PPPPaaaaggggeeee 5555
[ Back ]
 Similar pages
Name OS Title
amdload HP-UX downloads new firmware to the disk array controllers, the disk system BCC controllers, and disks
ami OpenBSD American Megatrends Inc. MegaRAID Controllers
fea FreeBSD device drivers for DEC FDDI controllers
fpa FreeBSD device drivers for DEC FDDI controllers
cac OpenBSD Compaq Smart ARRAY RAID controllers
flashsc IRIX FLASH update utility for SGI Server L1/L2 Controllers
ida FreeBSD Compaq Intelligent Drive Array Controllers
tokenring IRIX IRIS-4D Series Token Ring controllers
dcphy OpenBSD Pseudo-driver for media support on DEC 21143 controllers
stl FreeBSD drivers for Stallion Technologies multiport serial controllers
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service