Compiling a New Device Driver:
An even more rare problem for an Ethernet adapter is a bad or missing device driver. It is possible to obtain hardware that is so new there is no driver for the hardware incorporated in the Linux distribution. This, of course, breaks one of the fundamental rules for selecting the correct hardware for a server: never use hardware that is not listed in the Linux distribution vendor's hardware compatibility list. Of course, sometimes we do break the rules because we must have the very latest hardware, or because we do not have the freedom to choose our own hardware.
For a device driver to operate correctly, it must be compiled with the correct libraries for your kernel. Sometimes, this means downloading the driver source code and compiling it yourself on your system.
The source code for many Linux Ethernet drivers can be found at http://www.scyld.com/, which also has complete instructions for compiling each Ethernet driver. Many Ethernet drivers depend on other modules, such as pci_scan.c
, which must also be downloaded. To simplify this, http://www.scyld.com/ also stores the driver source files in RPM Package Manager (SRPM) format. The RPM Package Manager is used repeatedly throughout this tutorial as a way to simplify software installation.
After the adapter hardware and device driver are installed, the Ethernet interface can be used for a number of different network protocols. It can run NetWare protocols or, Server Message Block (SMB) protocol. Both of these are useful, but the primary network protocol used on Linux systems is TCP/IP.