5.2 Network Hardware Configuration

Having decided that you wish to bring your Slackware machine on to some form of network, the first thing you'll need is a Linux-compatible network card. You will need to take a little care to ensure that the card is truly Linux-compatible (please refer to the Linux Documentation Project and/or the kernel documentation for information on the current status of your proposed network card). As a general rule, you will most likely be pleasantly surprised by the number of networking cards that are supported under the more modern kernels. Having said that, I'd still suggest referring to any of the various Linux hardware compatibility lists (such as The GNU/Linux Beginners Group Hardware Compatibility Links and The Linux Documentation Project Hardware HOWTO) that are available on the Internet before purchasing your card. A little extra time spent in research can save days or even weeks trying to troubleshoot a card that isn't compatible with Linux at all.

When you visit the Linux Hardware Compatibility lists available on the Internet, or when you refer to the kernel documentation installed on your machine, it would be wise to note which kernel module you'll need to use to support your network card.

5.2.1 Loading Network Modules

Kernel modules that are to be loaded on boot-up are loaded from the rc.modules file in /etc/rc.d or by the kernel's auto module loading started by /etc/rc.d/rc.hotplug. The default rc.modules file includes a Network device support section. If you open rc.modules and look for that section, you'll notice that it first checks for an executable rc.netdevice file in /etc/rc.d/. This script is created if setup successfully autoprobes your network device during installation.

Below that “if” block is a list of network devices and modprobe lines, each commented out. Find your device and uncomment the corresponding modprobe line, then save the file. Running rc.modules as root should now load your network device driver (as well as any other modules that are listed and uncommented). Note that some modules (such as the ne2000 driver) require parameters; make sure you select the correct line.

5.2.2 LAN (10/100/1000Base-T and Base-2) cards

This heading encompasses all of the internal PCI and ISA networking cards. Drivers for these cards are provided via loadable kernel modules as covered in the previous paragraph. /sbin/netconfig should have probed for your card and successfully set up your rc.netdevice file. If this did not occur, the most likely problem would be that the module that you're attempting to load for a given card is incorrect (it is not unheard of for different generations of the same brand of card from the same manufacturer to require different modules). If you are certain that the module that you're attempting to load is the correct one, your next best bet would be to refer to the documentation for the module in an attempt to discover whether or not specific parameters are required during when the module is initialized.

5.2.3 Modems

Like LAN cards, modems can come with various bus support options. Until recently, most modems were 8 or 16 bit ISA cards. With the efforts of Intel and motherboard manufacturers everywhere to finally kill off the ISA bus completely, it is common now to find that most modems are either external modems that connect to a serial or USB port or are internal PCI modems. If you wish for your modem to work with Linux, it is VITALLY important to research your prospective modem purchase, particularly if you are considering purchasing a PCI modem. Many, if not most, PCI modems available on store shelves these days are WinModems. WinModems lack some basic hardware on the modem card itself: the functions performed by this hardware are typically offloaded onto the CPU by the modem driver and the Windows operating system. This means that they do not have the standard serial interface that PPPD will be expecting to see when you try to dial out to your Internet Service Provider.

If you want to be absolutely sure that the modem you're purchasing will work with Linux, purchase an external hardware modem that connects to the serial port on your PC. These are guaranteed to work better and be less trouble to install and maintain, though they require external power and tend to cost more.

There are several web sites that provide drivers and assistance for configuring WinModem based devices. Some users have reported success configuring and installing drivers for the various winmodems, including Lucent, Conexant, and Rockwell chipsets. As the required software for these devices is not an included part of Slackware, and varies from driver to driver, we will not go into detail on them.

5.2.4 PCMCIA

As part of your Slackware install, you are given the opportunity to install the pcmcia package (in the “A” series of packages). This package contains the applications and setup files required to work with PCMCIA cards under Slackware. It is important to note that the pcmcia package only installs the generic software required to work with PCMCIA cards under Slackware. It does NOT install any drivers or modules. The available modules and drivers will be in the /lib/modules/`uname -r`/pcmcia directory. You may need to do some experimentation to find a module that will work with your network card.

You will need to edit /etc/pcmcia/network.opts (for an Ethernet card) or /etc/pcmcia/wireless.opts (if you have a wireless networking card). Like most Slackware configuration files, these two files are very well commented and it should be easy to determine which modifications need to be made.