images/contents.gifimages/index.gifimages/prev1.gifimages/next1.gif

Board Instance Definitions

The parameters in “Link Driver” sections identify any needed hardware settings that a driver must know in order to recognize and control any particular network adapter. Obviously, the given settings must match the actual settings of the adapter itself. Different adapters require varying degrees of effort to configure: some have jumpers and switches on the adapter hardware while others can be configured with software utilities. Documentation from the adapter manufacturer should specify what hardware settings are possible and how use them.

Some typical NET.CFG parameters for a “Link Driver” section can specify: hardware interrupt number, I/O port address, shared memory address, and DMA channel number. Many more are possible for certain brands of network hardware. In the example given above, the “Port”, “Int”, and “Mem” parameters are examples of how hardware settings can be specified. When the adapter driver is loaded, it examines NET.CFG to find a “Link Driver” section with a name matching its own. It processes the parameters it finds, uses defaults for any it does not find, and then tries to initialize an adapter using the hardware settings it has determined. If successful, then a board instance has been created for that type of adapter. The example given above would create a board instance known as “NE2000 board instance #1”.

If there are two identical network adapters in the machine and both are to be active, then there will be a board instance #1 and a board instance #2 for that kind of adapter; the same driver software will actually be loaded twice, once for each adapter. Board instances will be distinguished based on the order of appearance in NET.CFG of the corresponding “Link Driver” sections. This is one situation in which the order of sections within NET.CFG makes any difference. The first “Link Driver” section for the adapter in question will identify (according to the hardware settings) the particular physical board that will be used as board instance #1; the second section will define the physical board used as board instance #2.