Platform Notes: The hme FastEthernet Device Driver

Chapter 3 Parameter Definitions

This chapter describes the parameters and settings for the hme device driver.

Driver Parameter Values and Definitions

The following sections describe the hme driver parameters, which are listed in Table 3-1.

Table 3-1 hme Driver Parameter, Status, and Descriptions
 Parameter  Status Description

transceiver_inuse

Read only 

Defines the current status 

link_status

Read only 

Defines the current status 

link_speed

Read only 

Defines the current status 

link_mode

Read only 

Defines the current status 

ipg1

Read and write 

Inter-packet gap parameter 

ipg2

Read and write 

Inter-packet gap parameter 

use_int_xcvr

Read and write 

Operational mode parameter 

pace_size

Read and write 

Operational mode parameter 

adv_autoneg_cap

Read and write 

Operational mode parameter 

adv_100T4_cap

Read and write 

Operational mode parameter 

adv_100fdx_cap

Read and write 

Operational mode parameter 

adv_100hdx_cap

Read and write 

Operational mode parameter 

adv_10fdx_cap

Read and write 

Operational mode parameter 

adv_10hdx_cap

Read and write 

Operational mode parameter 

autoneg_cap

Read only 

Local transceiver auto negotiation capability 

100T4_cap

Read only 

Local transceiver capability of the hardware 

100fdx_cap

Read only 

Local transceiver capability of the hardware 

100hdx_cap

Read only 

Local transceiver capability of the hardware 

10fdx_cap

Read only 

Local transceiver capability of the hardware 

10hdx_cap

Read only 

Local transceiver capability of the hardware 

lp_autoneg_cap

Read only 

Link partner auto negotiation capability 

lp_100T4_cap

Read only 

Link partner capability 

lp_100fdx_cap

Read only 

Link partner capability 

lp_100hdx_cap

Read only 

Link partner capability 

lp_10fdx_cap

Read only 

Link partner capability 

lp_10hdx_cap

Read only 

Link partner capability 

instance

Read and write 

Device instance 

lance_mode

Read and write 

Additional delay before transmitting a packet 

ipg0

Read and write 

Additional delay before transmitting a packet 

Defining the Current Status

The read-only parameters described in Table 3-2 explain the operational mode of the interface. These parameters define the current status.

Table 3-2 Read-Only Parameters Defining the Current Status
 Parameter Values Description

transceiver_inuse

01 

= Internal transceiver= External transceiver 

link_status

01 

Current link status= Link down= Link up 

link_speed

01 

Valid only if the link is up= 10 Mbps= 100 Mbps 

link_mode

01 

Valid only if the link is up= Half duplex= Full duplex 

Inter-Packet Gap Parameters

The Fast Ethernet Parallel Port SCSI (FEPS) ASIC supports programmable Inter-Packet Gap (IPG) parameters ipg1 and ipg2. The total IPG is the sum of ipg1 and ipg2. The total IPG is 9.6 microseconds when the link speed set by the auto-negotiation protocol is 10 Mbps. When the link speed is 100 Mbps, the total IPG is 0.96 microseconds.

Table 3-3 lists the default values and allowable values for the inter-packet gap (IPG) parameters, ipg1 and ipg2.

Table 3-3 Read-Write Inter-Packet Gap Parameter Values and Descriptions
 Parameter Values(Byte-time) Description

ipg1

0, 255 

ipg1 = 8 (default at initialization)

ipg2

0, 255 

ipg2 = 4 (default at initialization)

By default, the driver sets ipg1 to 8-byte time and ipg2 to 4-byte time, which are the standard values. (Byte time is the time it takes to transmit one byte on the link, with a link speed of either 100 Mbps or 10 Mbps.)

If your network has systems that use longer IPG (the sum of ipg1 and ipg2) and if those machines seem to be slow in accessing the network, increase the values of ipg1 and ipg2 to match the longer IPGs of other machines.

Defining an Additional Delay Before Transmitting a Packet Using lance_mode and ipg0

Two ASICs:

support a programmable mode called lance_mode. The ipg0 parameter is associated with lance_mode.

After a packet is received with lance_mode enabled (default) an additional delay is added by setting the ipg0 parameter before transmitting the packet. This delay, set by the ipg0 parameter, is in addition to the delay set by the ipg1 and ipg2 parameters. The additional delay set by ipg0 helps to reduce collisions. Systems that have lance_mode enabled might not have enough time on the network.

If lance_mode is disabled, the value of ipg0 is ignored and no additional delay is set. Only the delays set by ipg1 and ipg2 are used. Disable lance_mode if other systems keep sending a large number of back-to-back packets.

You can set the additional delay with the ipg0 parameter from 0 to 31, which is the nibble time delay. Note that nibble time is the time it takes to transfer four bits on the link. If the link speed is 10 Mbps, nibble time is equal to 400 ns. If the link speed is 100 Mbps, nibble time is equal to 40 ns.

For example, if the link speed is 10 Mbps, and you set ipg0 to 20 nibble times, multiply 20 by 400 ns to get 800 ns. If the link speed is 100 Mbps, and you set ipg0 to 30 nibble-times, multiply 30 by 40 ns to get 120 ns.

Table 3-2 defines the lance_mode and ipg0 parameters.

Table 3-4 Parameters Defining lance_mode and ipg0
 Parameter Values Description

lance_mode

01 

lance_mode disabledlance_mode enabled (default)

ipg0

0-311 

Additional IPG before transmitting a packet (after receiving a packet) 

1 The default value is 16 nibble-times, which is 6.4 microseconds for 10 Mbps and 0.64 microseconds for 100 Mbps. 

Operational Mode Parameters

Table 3-5 describes the operational mode parameters and their default values.

Table 3-5 Operational Mode Parameters
 Parameter Values Description

adv_autoneg_cap

01 

Local transceiver capability advertised by the hardware= Forced mode= Auto-negotiation (default) 

adv_100T4_cap1

01 

Local transceiver capability advertised by the hardware; read/write parameter= Not 100BASE-T4 capable= 100BASE-T4 capable 

adv_100fdx_cap1

01 

Local transceiver capability advertised by the hardware; read/write parameter= Not 100Mbit/sec full-duplex capable (default in the Solaris 2.5 and 2.5.1 software enviroments)= 100Mbit/sec full-duplex capable (default in the Solaris 2.6 software environment) 

adv_100hdx_cap1

01 

Local transceiver capability advertised by the hardware; read/write parameter= Not 100Mbit/sec half-duplex capable= 100Mbit/sec half-duplex capable (default) 

adv_10fdx_cap1

01 

Local transceiver capability advertised by the hardware; read/write parameter= Not 10Mbit/sec full-duplex capable (default)= 10Mbit/sec full-duplex capable 

adv_10hdx_cap1

01 

Local transceiver capability advertised by the hardware; read/write parameter= Not 10Mbit/sec half-duplex capable= 10Mbit/sec half-duplex capable (default) 

use_int_xcvr

01 

Local transceiver capability selected for networking by the user= External transceiver is used if connected (default)= Internal transceiver is used, even if the external transceiver is connected 

1 The priority (in descending order) for these parameters is: adv_100fdx_cap,adv_100T4_cap,adv_100hdx_cap, adv_10fdx_cap, and adv_10hdx_cap.

Selecting the Internal or External Transceiver

Use the use_int_xcvr parameter to change the default. For example, you can select the internal transceiver, even though the driver is capable of selecting the external transceiver. The driver, not the hardware, determines the internal and external transceiver.

If the external transceiver, which is connected to the MII interface, is present, the driver selects the external transceiver using the default use_int_xcvr 0. If the external transceiver is not present, the driver selects the internal transceiver. When this parameter is set to use_int_xcvr 1, the driver selects the internal transceiver, even if the external transceiver is connected.

Defining the Number of Back-to-Back Packets to Transmit

The pace_size parameter (see Table 3-6) defines the maximum number of back-to-back packets you can transmit at one time. If the value is zero, there is no limit to the number of back-to-back packets that can be transmitted.

Table 3-6 Back-to-Back Packet Transmission Capability
 Parameter Values Description

pace_size

1 to 2550 

= Number of back-to-back packets transmitted at one time= No limit to the number of back-to-back packets that can be transmitted (default) 

Reporting Transceiver Capabilities

Table 3-7 describes the read-only transceiver capabilities (either the internal transceiver or the external transceiver), whichever is selected.

Table 3-7 Read-Only Transceiver Capabilities
 Parameter Values Description

autoneg_cap

01 

Local transceiver capability of the hardware= Not capable of auto-negotiation= Auto negotiation capable 

100T4_cap

01 

Local external transceiver capability of the hardware= Not 100BASE-T4 capable = 100BASE-T4 capable 

100fdx_cap

01 

Local transceiver capability of the hardware; initialized at startup= Not 100Mbit/sec full-duplex capable = 100Mbit/sec full-duplex capable 

100hdx_cap 01

Local transceiver capability of the hardware; initialized at startup= Not 100Mbit/sec half-duplex capable = 100Mbit/sec half-duplex capable  

10fdx_cap 01

Local transceiver capability of the hardware; initialized at startup= Not 10Mbit/sec full-duplex capable = 10Mbit/sec full-duplex capable 

10hdx_cap 01

Local transceiver capability of the hardware; initialized at startup= Not 10Mbit/sec half-duplex capable = 10Mbit/sec half-duplex capable 

The parameters in Table 3-7 define the capabilities of the hardware. The internal transceiver can support all of these capabilities. The capabilities of the external transceiver are dependent on the device. If the external transceiver is not capable of auto-negotiation but has the capability of all speeds and modes (100 Mbps, 10 Mbps, half-duplex, and full-duplex), you must force the operational speed and mode of the external transceiver.

Reporting the Link Partner Capabilities

Table 3-8 describes the read-only link partner capabilities.

Table 3-8 Read-Only Link Partner Capabilities
 Parameter Values Description

lp_autoneg_cap

01 

= No auto-negotiation = Auto-negotiation 

lp_100T4_cap

01 

= No 100BASE-T4= 100BASE-T4 

lp_100fdx_cap

01 

= No100Mbit/sec full-duplex transmission= 100Mbit/sec full-duplex 

lp_100hdx_cap

01 

= No 100Mbit/sec half-duplex transmission= 100Mbit/sec half-duplex 

lp_10fdx_cap

01 

= No 10Mbit/sec full-duplex transmission= 10Mbit/sec full-duplex 

lp_10hdx_cap

01 

= No 10Mbit/sec half-duplex transmission= 10Mbit/sec half-duplex 

If the link partner is not capable of auto-negotiation (when lp_autoneg_cap is 0) the information described in Table 3-8 is not relevant and the parameter value = 0.

If the link partner is capable of auto-negotation (when lp_autoneg_cap is 1) then the speed and mode information is displayed when you use auto-negotiation and get the link partner capabilities.