Manuals
/
Compaq
/
Computer Equipment
/
Network Card
Compaq
AA-RNG2A-TE
manual
Models:
AA-RNG2A-TE
1
100
159
159
Download
159 pages
42.56 Kb
97
98
99
100
101
102
103
104
<
>
Using the Default from the ROM
Etc/sysconfigtab database
Implementing the Reset Section
Setting Up the elprobe Routine
Rearming the Next Timeout
Setting the Baud Rate
Testing for Loss of Carrier
New and Changed Features
Page 100
Image 100
Page 99
Page 101
Page 100
Image 100
Page 99
Page 101
Contents
December Product Version
Compaq Computer Corporation Houston, Texas
Page
Contents
Implementing the Configure Section
Implementing the Autoconfiguration Support Section probe
Implementing the Autoconfiguration Support Section attach
Implementing the unattach Routine
Implementing the Initialization Section
Implementing the Start Section
Implementing a Watchdog Section
Implementing the Reset Section
Implementing the ioctl Section
Network Device Driver Configuration Index
Implementing the Interrupt Section
Tables
Page
About This Manual
Audience
Scope of this Manual
New and Changed Features
Organization
Related Documentation
Examples
Reader’s Comments
Reference Pages
Conventions
That are used in driver configuration, these brackets
Page
Network Device Driver Environment
Network Device Driver
Include Files Section for a Network Driver
Declarations Section for a Network Driver
External and Forward Declarations
Declaring softc and controller Data Structure Arrays
Declaring and Initializing the driver Data Structure
Defining Driver-Specific Macros
8Network Device Driver Environment
Driver-Specific Macros
MacroDescription
Configure Section for a Network Driver
Autoconfiguration Support Section for a Network Driver
Initialization Section for a Network Driver
Start Section for a Network Driver
Reset Section for a Network Driver
Watchdog Section for a Network Driver
Ioctl Section for a Network Driver
Interrupt Section for a Network Driver
12Network Device Driver Environment
Defining Device Register Offsets
Interrupt and Status Register Offset Definitions
Command Port Register Offset Definitions
Defining Device Register Offsets
Window 0 Configuration Register Offset Definitions
Register Constant
W0CCR
Defines the offset for the resource configuration register
Window 3 Configuration Register Offset Definitions
Window 3 Configuration Registers
Window 1 Operational Register Offset Definitions
Window 1 Operational Registers
10Defining Device Register Offsets
Window 4 Diagnostic Register Offset Definitions
Mdncrc
12Defining Device Register Offsets
Eeprom Data Structure Definition
Page
Defining the softc Data Structure
Shows a typical softc data structure
Defining Common Information
2Defining the softc Data Structure
Defining the softc Data Structure
Enabling Support for Enhanced Hardware Management
Defining Media State Information
Media state has been determined
Defining the Base Register
Defining Multicast Table Information
Defining the Interrupt Handler ID
Defining CSR Pointer Information
Defining Fifo Maintenance Information
Defining Bus-Specific Information
Defining the Broadcast Flag
Defining Interrupt and Timeout Statistics
Defining the Debug Flag
Defining Autosense Kernel Thread Context Information
Defining the Polling Context Flag
Defining a Copy of the w3eeprom Data Structure
Declaring the Simple Lock Data Structure
Implementing the Configure Section
Etc/sysconfigtab database
Setting Up the elconfigure Routine
Following code shows how to set up the elconfigure routine
4Implementing the Configure Section
Implementing the Autoconfiguration Support Section probe
Implementing the elprobe Routine
Setting Up the elprobe Routine
Following code shows how to set up the elprobe routine
Implementing the Autoconfiguration Support Section probe
4Implementing the Autoconfiguration Support Section probe
Performing Bus-Specific Tasks
Implementing the Autoconfiguration Support Section probe
6Implementing the Autoconfiguration Support Section probe
Allocating Memory for the softc Data Structure
Allocating the etherdriver Data Structure
Setting Bus-Specific Data Structure Members
Computing the CSR Addresses
Implementing the Autoconfiguration Support Section probe
10Implementing the Autoconfiguration Support Section probe
Handling First-Time Probe Operations
Implementing the Autoconfiguration Support Section probe
12Implementing the Autoconfiguration Support Section probe
Handling Subsequent Probe Operations
Implementing the Autoconfiguration Support Section probe
Registering the Interrupt Handler
Implementing the Autoconfiguration Support Section probe
Saving the controller and softc Data Structure Pointers
Trying to Allocate Another controller Data Structure
Implementing the elautosensethread Routine
Implementing the elshutdown Routine
Registering the shutdown Routine
18Implementing the Autoconfiguration Support Section probe
Setting Up the elautosensethread Routine
Blocking Until Awakened
Starting Up Statistics
Testing for the Termination Flag
Entering the Packet Transmit Loop
Saving Counters Prior to the Transmit Operation
Using the Default from the ROM
Allocating Memory for a Test Packet
Building the Test Packet
Setting the Media in the Hardware
Transmitting the Test Packet
Setting a Timer for the Current Kernel Thread
Testing for Loss of Carrier
Determining Whether Packets Were Transmitted Successfully
Setting Up New Media
Printing Debug Information
Establishing the Media
26Implementing the Autoconfiguration Support Section probe
Implementing the Autoconfiguration Support Section attach
Setting Up the elattach Routine
Initializing the Media Address and Media Header Lengths
Setting Up the Media
4Implementing the Autoconfiguration Support Section attach
Initializing Simple Lock Information
Printing a Success Message
Specifying the Network Driver Interfaces
Signifies that the network interface supports
Setting the Baud Rate
Attaching to the Packet Filter and the Network Layer
Setting Network Attributes and Registering the Adapter
Handling the Reinsert Operation
Enabling the Interrupt Handler
Starting the Polling Process
Setting Up the elunattach Routine
Implementing the unattach Routine
Verifying That the Interface Has Shut Down
Obtaining the Simple Lock and Shutting Down the Device
Disabling the Interrupt Handler
Terminating the Autosense Kernel Thread
Unregistering the Pcmcia Event Callback Routine
Stopping the Polling Process
Unregistering the Shutdown Routine
Terminating the Simple Lock
Unregistering the Card from the Hardware Management Database
Freeing Resources
Page
Implementing the Initialization Section
Setting Up the elinit Routine
Implementing the elinit Routine
Setting the IPL and Obtaining the Simple Lock
Determining Whether the Pcmcia Card Is Present
Releasing the Simple Lock and Resetting the IPL
Implementing the elinitlocked Routine
Calling the elinitlocked Routine
Returning the Status from the elinitlocked Routine
Resetting the Transmitter and Receiver
Clearing Interrupts
Starting the Device
Ensuring That the 10Base2 Transceiver Is Off
Setting the LAN Media
Resetting the Transmitter and Receiver Again
Setting a LAN Attribute
Selecting Memory Mapping
Setting the LAN Address
Processing Special Flags
Setting the Debug Flag
Enabling TX and RX
Enabling Interrupts
Setting the Operational Window
Marking the Device as Running
Starting the Autosense Kernel Thread
Starting the Transmit of Pending Packets
Page
Implementing the Start Section
Implementing the elstart Routine
Calling the elstartlocked Routine
Implementing the elstartlocked Routine
4Implementing the Start Section
Implementing the Start Section
Transmitting the Buffer
Handlelongword
Accounting for Outgoing Bytes
Indicating When to Start the Watchdog Routine
Setting the IPL and Obtaining the Simple Lock
Implementing a Watchdog Section
Releasing the Simple Lock and Resetting the IPL
Implementing the Reset Section
Implementing the elreset Routine
Implementing the elresetlocked Routine
Ioctl Command Required Description For More Information
Implementing the ioctl Section
Setting Up the elioctl Routine
Following code shows how to set up the elioctl routine
Setting the IPL and Obtaining the Simple Lock
Enabling Loopback Mode Siocenablback ioctl Command
Disabling Loopback Mode Siocdisablback ioctl Command
Setting the Local MAC Address Siocsphysaddr ioctl Command
12-6Implementing the ioctl Section
Implementing the ioctl Section
Determines whether the cmd argument is Siocrdctrs or
Bringing Up the Device Siocsifaddr ioctl Command
Network Interface Counter Types
Setting the IP MTU Siocsipmtu ioctl Command
Using Currently Set Flags Siocsifflags ioctl Command
Setting the Media Speed Siocsmacspeed ioctl Command
Resetting the Device Siocifreset ioctl Command
Setting Device Characteristics Siocifsetchar ioctl Command
12-12Implementing the ioctl Section
If lockon 1 simpleunlock&sc-elsoftclock splxs Return status
Page
Implementing the Interrupt Section
Implementing the elintr Routine
Rearming the Next Timeout
Reading the Interrupt Status
Processing Completed Receive and Transmit Operations
Acknowledging the Interrupt
Transmitting Pending Frames
Indicating That the Interrupt Was Serviced
Implementing the elrint Routine
Pulling the Packets from the Fifo Buffer
Examining the First Part of the Packet
Copying the Received Packet into the mbuf
13-8Implementing the Interrupt Section
Discarding a Packet
Implementing the eltint Routine
Counting the Transmit Interrupt
Managing Excessive Data Collisions
Writing to the Status Register to Obtain the Next Value
Implementing the elerror Routine
Queuing Other Transmits
Network Device Driver Configuration
Page
Index
Index-1
Declarations section, 1-4devdriver.h header file, 1-4device
Index-2
Interrupt
Index-3
Interrupt handler
Index-4
Packet
Index-5
ROM
Index-6
Transmit
Index-7
Top
Page
Image
Contents