Compaq AA-RNG2A-TE Network Card User Manual


 
To determine the mode, el_autosense_thread( ) tries to send a test data
packet in each of the possible modes. When it successfully transmits the data
packet, it sets the network interface to that mode. The lm_media_mode,
lm_media, and lm_media_state members of the el_softc data structure
keep track of the progress of the autosensing procedure, as follows:
The value of the lm_media_mode member determines whether the
el_autosense_thread( ) will automatically determine the network
interface, or whether the user specified the type of media.
The lm_media member specifies the current media. This member
changes each time that the driver uses a different medium to try to
transmit a packet. The if_el device driver can set this member to any
of the following values:
LAN_MEDIA_UTP
The media is unshielded twisted-pair cable.
LAN_MEDIA_BNC
The media is thin wire.
LAN_MEDIA_AUI
The media is the attachment unit
interface (AUI).
The lm_media_state member specifies the current state of the
autosensing procedure, as follows:
LAN_MEDIA_STATE_SENSING
The driver is trying to determine
the media mode.
LAN_MEDIA_STATE_DETERMINED
The media state has been determined.
The el_autosense_thread( ) routine is implemented as a kernel thread.
It performs the following tasks:
Blocks until awakened (Section 5.3.2)
Tests for the termination flag (Section 5.3.3)
Starts up statistics (Section 5.3.4)
Enters the packet transmit loop (Section 5.3.5)
Saves counters prior to the transmit operation (Section 5.3.6)
Allocates memory for a test packet (Section 5.3.7)
Uses the default from the ROM (Section 5.3.8)
Sets the media setting in the hardware (Section 5.3.9)
Builds a test packet to transmit (Section 5.3.10)
Transmits the test packet (Section 5.3.11)
Sets a timer for the current kernel thread (Section 5.3.12)
Tests for loss of carrier (Section 5.3.13)
518 Implementing the Autoconfiguration Support Section (probe)