SuSE GmbH

SuSE Support Database

Title: Linux doesn't recognize the network device

----------

Mainpage o Searchform o History o Versions o Categories o Contents
Deutsch

----------

Linux doesn't recognize the network device

Applies to

SuSE Linux: Version 5.1

Symptom:

You own an ethernet card. However Linux doesn't recognize it.

Cause:

This can be caused by several possible incompatibilities and hardware problems. Also there is a certain chance that Linux really doesn't support this particular network device at all.

Apart from that one of the following reasons is likely to be the cause :

  1. You use a standard kernel of the S.u.S.E. distribution. However no network was configured during the installation. The particular module for the network device won't be loaded automatically then (The necessary entry in /etc/conf.modules won't be added automatically when the network is being configured lateron using YaST --> 5.1).

  2. You have compiled a new kernel. However you've choosen no or a wrong driver for your network device.

  3. You have compiled a new kernel. You've also chosen the correct driver and installed it as a module. However you've forgotten to activate kernel daemon support and you haven't loaded the module manually at boot time.

  4. You have compiled a new kernel. However you've forgotten to install the modules.

  5. You have compiled a new kernel with the correct drivers etc. . You've also installed the modules (if necessary).However you've forgotten to reinstall (or reconfigure) LILO (or loadlin ). In this case the system will still boot the old kernel. The modules don't fit the kernel and won't be loaded.

Solution:

Henceforth we will assume that a 3com 3c509 is installed in your system. Please use for other network devices the modules with the correct name and adapt the entries in the configuration files accordingly (e.g. NE1000/NE2000 : module ne.o).
  1. Please make sure that the bootkernel fits the installed modules. The command uname -a will show you something like
    Linux name_of_your_machine 2.0.32 #1 Mon Feb 2 14:28:09 MET 1998 i586 unknown
         
    The digits 2.0.32 represent the version of your kernel. Below /lib/modules a directory named after this version-number should exist.

  2. Please make sure, that in the directory /lib/modules/[version]/net/ a module named 3c509.o is available.

  3. If one of these conditions isn't fulfilled you must either use one of the precompiled kernels of the S.u.S.E.-Linux distribution (the recommended method ! The package 'kernmod' must be installed) or you must compile a new kernel. There is detailed information about the particular drivers in the S.u.S.E.-Linux handbook or when calling

    1. make config, press '?'
    2. make menuconfig and make xconfig, press 'help'

    Also the directory

    /usr/src/linux/Documentation/networking/
         
    contains many information.

    The driver should be compiled as module. In order to automatically load this module at boot time the kernel daemon support must be activated. Don't forget to install the modules. After the compilation of the Kernel you can achieve this with the commands make modules and make modules_install .

    If you boot with LILO please do not forget to reinstall this bootloader. If you use loadlin you must copy the kernel into the loadlin-directory on your DOS partition and modify the script that can be found there.

    Now boot the new kernel. Again you can check with uname -a whether the installation of LILO or loadlin was succesful. This command also shows the date of the compilation of the kernel that your system runs.

  4. Enter the command
    modprobe 3c509
         
    If there is no error message the module was loaded succesfully.
    lsmod 
         
    should show an entry for this module. In the output of the command
    ifconfig
         
    an entry with the label eth0 (normally together with the correct interrupt and base adress) must be visible. If this is the case, the network device was recognized correctly.

  5. Enter the following line into the file /etc/conf.modules
    alias eth0 3c509
         
    (Pleae replace 3c509 with the name of the module needed by your installation). After the next reboot this module will be loaded automatically as soon as its functionality is accessed by the kernel.

  6. Now configure your network as usual (using YaST).
Have fun !

----------

See also:

----------

Keywords: 3COM, 3C509, NETWORK, NET, KERNEL, NETWORK DEVICE, NE2000, REALTEK, MODULE

----------

Mainpage o Searchform o History o Versions o Categories o Contents
Deutsch

----------

SDB-rb_nwkconfig, Copyright SuSE GmbH, Nuremberg, Germany - Version: 13. Mar 1998
SuSE GmbH - Last generated: 07. Oct 1999 17:58:42 by maddin with sdb_gen 1.00.0