hme man page on OpenIndiana

Man page or keyword search:  
man Server   20441 pages
apropos Keyword Search (all sections)
Output format
OpenIndiana logo
[printable version]

hme(7D)				    Devices			       hme(7D)

NAME
       hme - SUNW,hme Fast-Ethernet device driver

SYNOPSIS
       /dev/hme

DESCRIPTION
       The  SUNW,hme Fast-Ethernet driver is a multi-threaded, loadable, clon‐
       able, STREAMS hardware driver supporting the connectionless  Data  Link
       Provider	 Interface,  dlpi(7P),	over  a	  SUNW,hme  Fast-Ethernet con‐
       troller. The motherboard and add-in SBus SUNW,hme controllers  of  sev‐
       eral  varieties	are supported. Multiple SUNW,hme controllers installed
       within the system are supported by the driver.

       The hme driver provides basic support for the SUNW,hme hardware. It  is
       used to handle the  SUNW,hme device. Functions include chip initializa‐
       tion, frame transit and receive, multicast and promiscuous support, and
       error  recovery	and  reporting.	 SUNW,hme The SUNW,hme device provides
       100Base-TX networking interfaces using SUN's FEPS ASIC and an  Internal
       Transceiver.  The  FEPS	ASIC provides the Sbus interface and MAC func‐
       tions and the Physical layer functions are  provided  by	 the  Internal
       Transceiver  which  connects  to	 a RJ-45 connector. In addition to the
       RJ-45 connector, an  MII (Media	Independent  Interface)	 connector  is
       also  provided  on  all	 SUNW,hme  devices  except  the	 SunSwith SBus
       adapter board. The MII interface is used	 to  connect  to  an  External
       Transceiver  which  may use any physical media (copper or fiber) speci‐
       fied in the 100Base-TX standard. When an External Transceiver  is  con‐
       nected to the MII, the driver selects the External Transceiver and dis‐
       ables the Internal Transceiver.

       The 100Base-TX standard specifies  an  "auto-negotiation"  protocol  to
       automatically  select  the  mode	 and  speed of operation. The Internal
       transceiver is capable of doing "auto-negotiation" with the  remote-end
       of the link (Link Partner) and receives the capabilities	 of the remote
       end. It selects the  Highest Common Denominator mode of operation based
       on the priorities. It also supports  forced-mode of operation where the
       driver can select the mode of operation.

APPLICATION PROGRAMMING INTERFACE
       The cloning character-special device  /dev/hme is used  to  access  all
       SUNW,hme controllers installed within the system.

   hme and DLPI
       The   hme driver is a "style 2" Data Link Service provider. All M_PROTO
       and M_PCPROTO type messages are interpreted as DLPI  primitives.	 Valid
       DLPI primitives are defined in <sys/dlpi.h>. Refer to dlpi(7P) for more
       information. An explicit DL_ATTACH_REQ message by the user is  required
       to  associate the opened stream with a particular device (ppa). The ppa
       ID is interpreted as an unsigned long data type and indicates the  cor‐
       responding  device  instance  (unit) number. An error (DL_ERROR_ACK) is
       returned by the driver if the ppa field value does not correspond to  a
       valid device instance number for this system. The device is initialized
       on first attach and de-initialized (stopped) at last detach.

       The values returned by the  driver  in  the  DL_INFO_ACK	 primitive  in
       response to the DL_INFO_REQ from the user are as follows:

	   o	  The  maximum SDU is 1500 (ETHERMTU - defined in  <sys/ether‐
		  net.h> ).

	   o	  The minimum SDU is 0.

	   o	  The dlsap address length is 8.

	   o	  The MAC type is DL_ETHER.

	   o	  The sap length values is −2  meaning	the  physical  address
		  component is followed immediately  by a 2 byte sap component
		  within the DLSAP address.

	   o	  The service mode is DL_CLDLS.

	   o	  No optional quality of service (QOS) support is included  at
		  present so the  QOS fields are 0.

	   o	  The provider style is DL_STYLE2.

	   o	  The version is DL_VERSION_2.

	   o	  The  broadcast  address  value  is  Ethernet/IEEE  broadcast
		  address (0xFFFFFF).

       Once in the DL_ATTACHED state, the user must send a DL_BIND_REQ to  as‐
       sociate	a particular SAP (Service Access Pointer) with the stream. The
       hme driver interprets the sap field within the DL_BIND_REQ as an Ether‐
       net  "type"  therefore  valid  values  for  the	sap  field  are in the
       [0-0xFFFF] range.  Only one Ethernet type can be bound to the stream at
       any time.

       If  the	user  selects a sap with a value of 0, the receiver will be in
       "802.3 mode". All frames received from the media having a "type"	 field
       in  the range [0-1500] are assumed to be 802.3 frames and are routed up
       all open Streams which are bound to sap	value  0.  If  more  than  one
       Stream  is in "802.3 mode" then the frame will be duplicated and routed
       up multiple Streams as DL_UNITDATA_IND messages.

       In transmission, the driver checks the sap field of the DL_BIND_REQ  if
       the  sap	 value is 0, and if the destination type field is in the range
       [0-1500]. If either is true, the driver computes the length of the mes‐
       sage, not including initial M_PROTO mblk (message block), of all subse‐
       quent DL_UNITDATA_REQ messages and transmits  802.3  frames  that  have
       this value in the MAC frame header length field.

       The  hme	 driver	 DLSAP	address format consists of the 6 byte physical
       (Ethernet) address component followed immediately by  the  2  byte  sap
       (type) component producing an 8 byte DLSAP address. Applications should
       not hardcode to this particular implementation-specific	DLSAP  address
       format  but  use	 information  returned in the DL_INFO_ACK primitive to
       compose and decompose DLSAP  addresses.	The  sap  length,  full	 DLSAP
       length,	and sap/physical ordering are included within the DL_INFO_ACK.
       The physical address length can be  computed  by	 subtracting  the  sap
       length	from   the  full  DLSAP	 address  length  or  by  issuing  the
       DL_PHYS_ADDR_REQ to obtain the current physical address associated with
       the stream.

       Once  in the DL_BOUND state, the user may transmit frames on the Ether‐
       net by sending DL_UNITDATA_REQ messages to  the	hme  driver.  The  hme
       driver  will route received Ethernet frames up all those open and bound
       streams having a sap which matches the Ethernet type as DL_UNITDATA_IND
       messages.  Received Ethernet frames are duplicated and routed up multi‐
       ple open streams if necessary. The DLSAP address contained  within  the
       DL_UNITDATA_REQ	and  DL_UNITDATA_IND messages consists of both the sap
       (type) and physical (Ethernet) components.

       In addition to the mandatory connectionless DLPI message set the driver
       additionally supports the following primitives.

   hme Primitives
       The  DL_ENABMULTI_REQ  and  DL_DISABMULTI_REQ primitives enable/disable
       reception of individual multicast group addresses. A set	 of  multicast
       addresses may be iteratively created and modified on a per-stream basis
       using these primitives. These primitives are accepted by the driver  in
       any state following DL_ATTACHED.

       The   DL_PROMISCON_REQ	and   DL_PROMISCOFF_REQ	 primitives  with  the
       DL_PROMISC_PHYS flag set in the dl_level field enables/disables	recep‐
       tion  of	 all ("promiscuous mode") frames on the media including frames
       generated by the local host. When used with the DL_PROMISC_SAP flag set
       this enables/disables reception of all sap (Ethernet type) values. When
       used with the DL_PROMISC_MULTI flag set this enables/disables reception
       of  all	multicast  group  addresses. The effect of each is always on a
       per-stream basis and independent of the other sap  and  physical	 level
       configurations on this stream or other streams.

       The  DL_PHYS_ADDR_REQ  primitive	 returns  the 6 octet Ethernet address
       currently associated (attached) to the stream in	 the  DL_PHYS_ADDR_ACK
       primitive.  This primitive is valid only in states following a success‐
       ful DL_ATTACH_REQ.

       The DL_SET_PHYS_ADDR_REQ primitive changes the 6 octet Ethernet address
       currently  associated (attached) to this stream. The credentials of the
       process which originally opened this stream must be superuser.	Other‐
       wise  EPERM is returned in the DL_ERROR_ACK. This primitive is destruc‐
       tive in that it affects all other current and future  streams  attached
       to  this	 device.  An  M_ERROR is sent up all other streams attached to
       this device when this primitive is successful  on  this	stream.	  Once
       changed,	 all  streams  subsequently opened and attached to this device
       will obtain this new physical  address.	 Once  changed,	 the  physical
       address will remain until this primitive is used to change the physical
       address again or the system is rebooted, whichever comes first.

   hme DRIVER
       By default, the hme driver performs "auto-negotiation" to   select  the
       mode and	 speed of the link, when the Internal Transceiver is used.

       When  an	 External  Transceiver	is connected to the MII interface, the
       driver selects the External Transceiver for  networking operations.  If
       the  External  Transceiver supports "auto-negotiation", the driver uses
       the auto-negotiation procedure to select the link speed	and  mode.  If
       the  External  Transceiver  does	 not support auto-negotiation, it will
       select the highest priority mode supported by the transceiver.

	   o	  100 Mbps, full-duplex

	   o	  100 Mbps, half-duplex

	   o	  10 Mbps, full-duplex

	   o	  10 Mbps, half-duplex

       The link can be in one of the  4 following modes:

       These speeds and modes are described in the 100Base-TX standard.

       The auto−negotiation protocol automatically selects:

	   o	  Operation mode (half-duplex or full-duplex)

	   o	  Speed (100 Mbps or 10 Mbps)

       The auto−negotiation protocol does the following:

	   o	  Gets all the modes of operation supported by the Link	 Part‐
		  ner

	   o	  Advertises its capabilities to the Link Partner

	   o	  Selects  the	highest	 common	 denominator mode of operation
		  based on the	priorities

       The internal transceiver is capable of all of the operating speeds  and
       modes  listed above. When the internal transceiver is used, by default,
       auto-negotiation is used to select the speed and the mode of  the  link
       and the common mode of operation with the Link Partner.

       When  an	 external  transceiver is connected to the  MII interface, the
       driver selects the external transceiver for networking  operations.  If
       the external transceiver supports auto-negotiation:

	   o	  The driver uses the auto-negotiation procedure to select the
		  link speed and mode.

       If the external transceiver  does not support auto-negotiation

	   o	  The driver selects the highest priority  mode	 supported  by
		  the transceiver.

       Sometimes, the user may want to select the speed and mode of  the link.
       The SUNW,hme device  supports  programmable  "IPG"  (Inter-Packet  Gap)
       parameters ipg1 and  ipg2. By default, the driver sets ipg1 to 8	 byte-
       times and ipg2 to 4 byte-times (which are the standard  values).	 Some‐
       times, the user may want to alter these values depending on whether the
       driver supports 10 Mbps or 100 Mpbs and accordingly, IPG will be set to
       9.6 or 0.96 microseconds.

   hme Parameter List
       The  hme driver provides for setting and getting various parameters for
       the  SUNW,hme device. The parameter list includes:
	 current transceiver status
	 current link status
	 inter-packet gap
	 local transceiver capabilities
	 link partner capabilities

       The local transceiver has two set of capabilities: one set reflects the
       capabilities  of the hardware, which are	 read-only (RO) parameters and
       the second set reflects the values chosen by the user and  is  used  in
       speed  selection. There are read/write (RW) capabilities. At boot time,
       these two sets of capabilities will be the same. The Link Partner capa‐
       bilities	 are  also  read  only	parameters because the current default
       value of these parameters can only be read and cannot be modified.

FILES
       /dev/hme		       hme special character device

       /kernel/drv/hme.conf    System-wide default device driver properties

SEE ALSO
       ndd(1M), netstat(1M), driver.conf(4), dlpi(7P)

SunOS 5.11			  5 Sep 1995			       hme(7D)
[top]

List of man pages available for OpenIndiana

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net