Loadable Ethernet Drivers:
The Ethernet interface software is a kernel driver. The driver can be compiled into the kernel or can be loaded as a loadable module, which is the most common way to install an Ethernet driver. On a RedHat System, the loadable Ethernet drivers are found in the /lib/modules/release/kernel/drivers/net
directory, in which release is the kernel version number.
The Linux system detects the Ethernet hardware during the initial installation, and installs the appropriate driver. Normally, this is a completely automatic process that requires no input from the system administrator, but not always. Sometimes, Ethernet adapters are not detected by the initial installation. Other times, the adapter is added after the initial installation or an adapter has a non-standard configuration that must be communicated to the device driver. On rare occasions, the device driver itself is incorrect and needs to be replaced.
In general, when the system reboots newly installed hardware is configured by the hardware detection program provided by the Linux vendor. On Red Hat systems, the hardware-detection program is kudzu. It probes the system and creates the configuration file /etc/sysconfig/hwconf
. Thefile is created by kudzu at the initial system startup. All subsequent runs of kudzu probe the system and compare the results to those found in the hwconf file. A new configuration is created only if a new piece of hardware is discovered that is not already in the hwconf file. The listing below is an excerpt of the hwconf file that contains an Ethernet card configuration.
class: NETWORK
bus: ISAPNP
detached: 0
device: eth
driver: smc-ultra
desc: "SMC EtherEZ (8416):Unknown"
deviceId: SMC8416
pdeviceId: SMC8416
native: 1
active: 0
cardnum: 0
logdev: 0
io: 0x200
dma: 0,0
Do not edit the hwconf file. Manually placing an entry in this file does not properly configure hardware that was not detected by kudzu. If newly installed hardware was not detected, place an empty file named reconfigSys in the /etc
directory, as follows:
# touch /etc/reconfigSys
Then, reboot the system. This flag causes the Red Hat system to rerun the powerful anaconda hardware configuration program that is used during the initial Red Hat installation. Those readers with a Sun Solaris background are familiar with this technique. It is almost identical to the way a reconfiguration is forced on a Solaris system. Most systems have some technique for forcing a fresh probe of the hardware.
If the Ethernet adapter is not detected during the operating system installation, by kudzu, or by anaconda, you can manually load the device driver using the modprobe command. After the driver is installed, it must also be properly configured.