installation probelm with Intel's gigabit ethernet on Debian
Hi, I'm a newbie to linux, having used it for just few days. Hence, I need detailed input if someone would like to post solution.
Since Debian was unable to detect Intel's gigabit ethernet, I had to download the driver from Intel's website. Followed first few steps of the instruction, but suddenly I encountred an error message saying "Makefile:71 Linux Kernel source not found" upon commanding "make install". Did few googling and figured out that I had to install "Linux Kernel" so I did it as was directed on a website. Installation of the kernel was successful, but I couldn't configure it. When I commanded "make cofig" or "make xconfig", the following text showed up. Code:
debian:/usr/src/linux-2.6.18# make config Could someone kindly help me out of this problem? Again, I need detailed input since I'm a newbie. Thanks a lot. |
How did you install the kernel source? There should be a Debian package for it, which would be a better bet than the source direct from kernel.org. Try installing the packages "linux-source" and "linux-headers". Do you actually need to recompile the kernel, or just the Intel drivers? If it's just the Intel drivers, I advise leaving your kernel as it currently is.
|
Quote:
Quote:
Quote:
Quote:
|
The contents of /usr/src, once you've installed the kernel source, should be source code. Compiling this code is a separate step, which I don't think is necessary in this situation. At a guess, the Intel driver needs to be able to find the source code for the kernel so it knows how to interact with the kernel, but it shouldn't actually require you to recompile the kernel itself.
I had a quick look at Intel's readme on how to install their ethernet driver, and I think you need to do the following: 1. Install the kernel source as described above, using your package manager 2. Download the driver from Intel 3. Extract/unzip the driver code 4. Compile the driver code (change into the driver source directory that's just been unzipped, and type 'make') 5. Install the compiled driver module by running 'make install' as root 6. Remove any previously existing versions of the driver with the command (as root) 'rmmod <modulename>' - the example I saw was e1000 7. Load the newly installed version of the driver into memory with the command 'modprobe <modulename>' (again as root) 8. Test the new module by running 'ifconfig' - if your ethernet device shows up as a device ethX and you can access your network this means it's working 9. If it worked, configure Linux to automatically load the module at boot time (we can go through how to do this if the above steps worked). I am slightly curious though, what release of Debian and the Linux kernel are you using, and what is the chipset of the Gigabit ethernet? I ask because my system (Ubuntu 7.04, kernel 2.6.20) already has an e1000 driver preinstalled, which should presumably work with your chipset. Presumably you know which version of Debian you're using; the kernel version can be discovered via the command 'uname -r' and you can find out the chipset of your ethernet with the command 'lspci' (look for the line that says "Ethernet controller"). |
Quote:
With some challenging manipulations, I was able to configure Linux Kernel by commanding "make menuconfig". Although "make xconfig" didn't work due to missing packages, that was good enough. Then I went back to ethernet installation. After commanding "make", I got the following error. Code:
Makefile:182: *** *** Aborting the build. *** This driver is not supported on kernel versions older than 2.4.0. Stop. Whatever, I have no idea how to go through this problem. I did as exactly instructed in readme file, but nothing worked out. BTW, the chipset is Intel's i82573L gigabit ethernet. It couldn't be detected upon Debian installation. Along with that, there is a wireless ethernet as well. For Debian, I use the latest release which is probably 4, I think and 2.6.18 kernel came with it. Surprisingly, the system displayed both ethernet devices with exact model number correctly by commading "lspci", but I don't understand why only one ethernet is shown on KDE with improper detection. I don't know whether the ethernet shown on KDE is the gigabit ethernet or the wireless ethernet. After two days of attempts to set up ethernet, I'm fairly exhausted. Why can't Debian detect either of the two ethernet devices while Ubuntu could detect at least the wireless one? So weird. |
double post
|
Okay, I found the following:
Quote:
...The reason that everything shows up in lspci is that no drivers are required for that. PCI devices have identifying information built into them, which can be read even if you don't have a driver to actually use the hardware. Even devices that have no driver for Linux and are totally unusable should be identifiable via lspci. Okay, so you're using the default 2.6.18 kernel, and you've been unable to compile the driver. I've got a few ideas we can test. By the way, I'm using Ubuntu, so the commands might be slightly different. First, maybe we should check whether you already have the e1000 driver installed with your default kernel. Try the command 'locate e1000'. There may well be a few results corresponding to the version you've downloaded, but there should also be one with your pre-installed kernel. On my machine, it's located at /lib/modules/2.6.20-16-generic/kernel/drivers/net/e1000/e1000.ko If the module is there, then perhaps we should try manually loading it (I should have suggested this before). First, see if it's already running, by using the command 'lsmod | grep e1000'. 'lsmod' gives a list of the modules that are currently loaded, and 'grep' filters the list, returning only lines that contain the specified text. I'm guessing that the module will not appear as being currently loaded, so the command will return nothing. This is fine. Assuming that the module is installed (i.e. it appears in the 'locate' results), but is not currently loaded (i.e. the 'lsmod' results did not include the module), we can try loading it by hand. To do this, just use the command 'modprobe e1000' - you'll need to be root to run this. That command should return without error. You should then test that the module has been loaded, by using 'lsmod | grep e1000' again. This time it should return something like "e1000 109700 0". If the module was loaded successfully, then we can try restarting the network system and see if it works. To do this, I think you want the command '/etc/init.d/networking restart' (you'll need to be root, and the command may be slightly different, this one is the Ubuntu version). It'll probably take a moment, and you'll get some output, which should include an ethX section. Once it's completed, try running 'ifconfig'. This should include an ethX section too, here's an example from my machine: Code:
$ ifconfig Try accessing your network and see if it works. If it does, then it seems the problem is just with the autodetection, and you can just configure the system to load the driver at startup, which should solve the problem. If it doesn't work, I'm a bit baffled. Try going into the BIOS and double-checking that the ethernet is enabled there. If there is no e1000.ko driver file currently installed, or if the module is already loaded but not working then it might be worth trying a kernel upgrade. |
All times are GMT -5. The time now is 02:18 PM. |