When you want to know what kind of LAN adapter your computer uses, you remove the cover and inspect the adapter. But installation software that wants to identify your LAN adapter has to use machine instructions to detect and identify such hardware. Micro Channel and EISA adapters are relatively easy to detect; both architectures supply configuration data to programs. ISA-based PCs, on the other hand, present installation software with a minefield of problems.
Warp Connect's installation program invokes functions within a DLL to
sniff out LAN hardware
. This DLL contains code that identifies 250 to 300 different network adapters; two-thirds of this code is for ISA adapters. IBM programmers re
gularly add new entries to the list. Each addition goes through regression tests to make sure the new code doesn't crash in the presence of the other listed adapters.
The DLL steps carefully through a series of adapter-signature tests to find out what LAN adapter you have. The tests first look through adapter ROM for patterns of bytes. Sometimes the software uses adapter-specific sequences of IN and OUT machine instructions to make the query. Because the same adapter can often use different I/O addresses and IRQs, the detection software often must make several attempts at identifying it.
The order of the tests is important. The same sequence of IN/OUT instructions that detects one kind of adapter might cause a different kind to freeze the computer. And the possibility of troublesome interactions between the detection software and adapters sensitive to certain machine instructions makes it important to figure out which adapters are examined first.
To run the detection code outside the inst
allation procedure, open a Warp Connect OS/2 command-line session and run the OS2SNIFF program in the GRPWARE directory. OS2SNIFF will invoke the detection routines in NCD.DLL and display the results on-screen.
screen_link (58 Kbytes)

The installation program sniffs out network adapters, then gives you confirmation of those that are installed.