Previous Section
 < Day Day Up > 
Next Section


Unsupported Drivers

Drivers for most network devices are already included in your Red Hat distribution. However, if you have a new device that is currently not supported, you should check with the provider's Web site for the appropriate Linux driver. A driver takes the form of a module that is loaded dynamically by the Linux kernel when your system starts up (see Chapters 32 and 38). Normally, compiled versions of a module are provided that you can download and then install on your system. To install a module, you use the modprobe command. Once installed, the module will be loaded automatically by the kernel each time you start your system. Should something go wrong with the install, you can always uninstall the module with the modprobe command with the -r option.

Many modules are provided as source code only. In this case, you will have to unpack and compile the module first, using the tar command as noted in the preceding section. Check the README or INSTALL files normally included with the source code for detailed instructions. If none are included, try the ./configure and make commands. Usually a make command with the install option will install the module in your system's module library directory. The install option may also run the depmod command to update the module dependencies, allowing modprobe to load it.

./configure
make
make install

If you are using a precompiled version, you need to follow any instruction for installing the module in the module library. This is located in the /lib/modules/version directory, which has several subdirectories for different kinds of modules. Here version is the kernel version number, like 2.4.20-8 on Red Hat 10. Modules for network cards are kept in the kernel/drivers/net directory, as in /lib/modules/2.4.20-8/kernel/drivers/net. You can copy a precompiled module for a network card to that directory.

Once you have created the module and installed it in the module library directory, the module needs to be checked for any dependent modules that may also need to be loaded with it to make it work. This is done by the depmod tool. If you installed from a source code version, depmod may have already been run. In this case, you can directly load the module with modprobe. If, however, you copied the precompiled version directly to the module library, or your source code version did not run depmod, you should then restart your system. On restart, the depmod tool will run automatically and check for any module dependencies. You can then manually load the using the modprobe command and the module name.

You can add any parameters the module may require. To discover what parameters a module takes, you can use the modinfo command with the -p option. The -v option (verbose) lists all actions taken as they occur. In the next example, modprobe loads the bcm4400.o module for a Broadcom network device (do not use the .o suffix in the name).

# modprobe -v bcm4400

Options for the modprobe command are placed in the /etc/modules.conf file. Here, you can enter configuration options, such as default directories and aliases. An alias provides a simple name for a module. For example, the following entry enables you to reference the bcm4400.o Ethernet card module as eth0 (Kmod, the Kernel module loader (see Chapter 32), automatically detects the Broadcom card and loads the bcm4400 module):

alias eth0 bcm4400

Once it is loaded, you need to restart your system. On restart, the new hardware will be detected and you will be asked you to configure it. You can configure it at this time, specifying any network information, or wait and use redhat-config-network after your system starts up. With redhat-config-network, you can create a new device for the hardware connection and provide configuration information such as whether to use DHCP for automatic configuration or manually supply network IP and DNS addresses.



Previous Section
 < Day Day Up > 
Next Section
This HTML Help has been published using the chm2web software.