LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Networking
User Name
Password
Linux - Networking This forum is for any issue related to networks or networking.
Routing, network cards, OSI, etc. Anything is fair game.

Notices


Reply
  Search this Thread
Old 08-21-2007, 05:59 AM   #1
capricorn
LQ Newbie
 
Registered: Aug 2007
Posts: 5

Rep: Reputation: 0
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
  HOSTCC  scripts/basic/fixdep
scripts/basic/fixdep.c:105:23: error: sys/types.h: No such file or directory
scripts/basic/fixdep.c:106:22: error: sys/stat.h: No such file or directory
scripts/basic/fixdep.c:107:22: error: sys/mman.h: No such file or directory
scripts/basic/fixdep.c:108:20: error: unistd.h: No such file or directory
scripts/basic/fixdep.c:109:19: error: fcntl.h: No such file or directory
scripts/basic/fixdep.c:110:20: error: string.h: No such file or directory
scripts/basic/fixdep.c:111:20: error: stdlib.h: No such file or directory
scripts/basic/fixdep.c:112:19: error: stdio.h: No such file or directory
In file included from /usr/lib/gcc/i486-linux-gnu/4.1.2/include/syslimits.h:7,
                 from /usr/lib/gcc/i486-linux-gnu/4.1.2/include/limits.h:11,
                 from scripts/basic/fixdep.c:113:
/usr/lib/gcc/i486-linux-gnu/4.1.2/include/limits.h:122:61: error: limits.h: No such file or directory
scripts/basic/fixdep.c:114:19: error: ctype.h: No such file or directory
scripts/basic/fixdep.c:115:23: error: arpa/inet.h: No such file or directory
scripts/basic/fixdep.c: In function ‘usage’:
scripts/basic/fixdep.c:129: warning: implicit declaration of function ‘fprintf’
scripts/basic/fixdep.c:129: warning: incompatible implicit declaration of built-in function ‘fprintf’
scripts/basic/fixdep.c:129: error: ‘stderr’ undeclared (first use in this function)
scripts/basic/fixdep.c:129: error: (Each undeclared identifier is reported only once
scripts/basic/fixdep.c:129: error: for each function it appears in.)
scripts/basic/fixdep.c:130: warning: implicit declaration of function ‘exit’
scripts/basic/fixdep.c:130: warning: incompatible implicit declaration of built-in function ‘exit’
scripts/basic/fixdep.c: In function ‘print_cmdline’:
scripts/basic/fixdep.c:138: warning: implicit declaration of function ‘printf’
scripts/basic/fixdep.c:138: warning: incompatible implicit declaration of built-in function ‘printf’
scripts/basic/fixdep.c: At top level:
scripts/basic/fixdep.c:141: error: ‘NULL’ undeclared here (not in a function)
scripts/basic/fixdep.c: In function ‘grow_config’:
scripts/basic/fixdep.c:154: warning: implicit declaration of function ‘realloc’
scripts/basic/fixdep.c:154: warning: assignment makes pointer from integer without a cast
scripts/basic/fixdep.c:156: warning: implicit declaration of function ‘perror’
scripts/basic/fixdep.c:156: warning: incompatible implicit declaration of built-in function ‘exit’
scripts/basic/fixdep.c: In function ‘is_defined_config’:
scripts/basic/fixdep.c:172: warning: implicit declaration of function ‘memcmp’
scripts/basic/fixdep.c: In function ‘define_config’:
scripts/basic/fixdep.c:185: warning: implicit declaration of function ‘memcpy’
scripts/basic/fixdep.c:185: warning: incompatible implicit declaration of built-in function ‘memcpy’
scripts/basic/fixdep.c: In function ‘use_config’:
scripts/basic/fixdep.c:204: error: ‘PATH_MAX’ undeclared (first use in this function)
scripts/basic/fixdep.c:212: warning: incompatible implicit declaration of built-in function ‘memcpy’
scripts/basic/fixdep.c:218: warning: implicit declaration of function ‘tolower’
scripts/basic/fixdep.c:220: warning: incompatible implicit declaration of built-in function ‘printf’
scripts/basic/fixdep.c:204: warning: unused variable ‘s’
scripts/basic/fixdep.c: At top level:
scripts/basic/fixdep.c:223: error: expected declaration specifiers or ‘...’ before ‘size_t’
scripts/basic/fixdep.c: In function ‘parse_config_file’:
scripts/basic/fixdep.c:225: error: ‘len’ undeclared (first use in this function)
scripts/basic/fixdep.c:231: warning: implicit declaration of function ‘ntohl’
scripts/basic/fixdep.c:242: warning: implicit declaration of function ‘isalnum’
scripts/basic/fixdep.c: In function ‘strrcmp’:
scripts/basic/fixdep.c:255: warning: implicit declaration of function ‘strlen’
scripts/basic/fixdep.c:255: warning: incompatible implicit declaration of built-in function ‘strlen’
scripts/basic/fixdep.c: In function ‘do_config_file’:
scripts/basic/fixdep.c:266: error: storage size of ‘st’ isn’t known
scripts/basic/fixdep.c:270: warning: implicit declaration of function ‘open’
scripts/basic/fixdep.c:270: error: ‘O_RDONLY’ undeclared (first use in this function)
scripts/basic/fixdep.c:272: warning: incompatible implicit declaration of built-in function ‘fprintf’
scripts/basic/fixdep.c:272: error: ‘stderr’ undeclared (first use in this function)
scripts/basic/fixdep.c:274: warning: incompatible implicit declaration of built-in function ‘exit’
scripts/basic/fixdep.c:276: warning: implicit declaration of function ‘fstat’
scripts/basic/fixdep.c:278: warning: implicit declaration of function ‘close’
scripts/basic/fixdep.c:281: warning: implicit declaration of function ‘mmap’
scripts/basic/fixdep.c:281: error: ‘PROT_READ’ undeclared (first use in this function)
scripts/basic/fixdep.c:281: error: ‘MAP_PRIVATE’ undeclared (first use in this function)
scripts/basic/fixdep.c:281: warning: assignment makes pointer from integer without a cast
scripts/basic/fixdep.c:288: error: too many arguments to function ‘parse_config_file’
scripts/basic/fixdep.c:290: warning: implicit declaration of function ‘munmap’
scripts/basic/fixdep.c:266: warning: unused variable ‘st’
scripts/basic/fixdep.c: At top level:
scripts/basic/fixdep.c:295: error: expected declaration specifiers or ‘...’ before ‘size_t’
scripts/basic/fixdep.c: In function ‘parse_dep_file’:
scripts/basic/fixdep.c:298: error: ‘len’ undeclared (first use in this function)
scripts/basic/fixdep.c:300: error: ‘PATH_MAX’ undeclared (first use in this function)
scripts/basic/fixdep.c:302: warning: implicit declaration of function ‘strchr’
scripts/basic/fixdep.c:302: warning: incompatible implicit declaration of built-in function ‘strchr’
scripts/basic/fixdep.c:304: warning: incompatible implicit declaration of built-in function ‘fprintf’
scripts/basic/fixdep.c:304: error: ‘stderr’ undeclared (first use in this function)
scripts/basic/fixdep.c:305: warning: incompatible implicit declaration of built-in function ‘exit’
scripts/basic/fixdep.c:307: warning: incompatible implicit declaration of built-in function ‘memcpy’
scripts/basic/fixdep.c:308: warning: incompatible implicit declaration of built-in function ‘printf’
scripts/basic/fixdep.c:300: warning: unused variable ‘s’
scripts/basic/fixdep.c: In function ‘print_deps’:
scripts/basic/fixdep.c:337: error: storage size of ‘st’ isn’t known
scripts/basic/fixdep.c:341: error: ‘O_RDONLY’ undeclared (first use in this function)
scripts/basic/fixdep.c:343: warning: incompatible implicit declaration of built-in function ‘fprintf’
scripts/basic/fixdep.c:343: error: ‘stderr’ undeclared (first use in this function)
scripts/basic/fixdep.c:345: warning: incompatible implicit declaration of built-in function ‘exit’
scripts/basic/fixdep.c:349: warning: incompatible implicit declaration of built-in function ‘fprintf’
scripts/basic/fixdep.c:353: error: ‘PROT_READ’ undeclared (first use in this function)
scripts/basic/fixdep.c:353: error: ‘MAP_PRIVATE’ undeclared (first use in this function)
scripts/basic/fixdep.c:353: warning: assignment makes pointer from integer without a cast
scripts/basic/fixdep.c:360: error: too many arguments to function ‘parse_dep_file’
scripts/basic/fixdep.c:337: warning: unused variable ‘st’
scripts/basic/fixdep.c: In function ‘traps’:
scripts/basic/fixdep.c:372: warning: incompatible implicit declaration of built-in function ‘fprintf’
scripts/basic/fixdep.c:372: error: ‘stderr’ undeclared (first use in this function)
scripts/basic/fixdep.c:374: warning: incompatible implicit declaration of built-in function ‘exit’
make[1]: *** [scripts/basic/fixdep] Error 1
make: *** [scripts_basic] Error 2
I certainly understand that this is not what I was supposed to see, but as not being able to solve this problem, I went back to ethernet install and commanded "make install" again, and this time I got the following message, "Makefile:111: *** Linux kernel source not configured - missing version.h. Stop."

Could someone kindly help me out of this problem? Again, I need detailed input since I'm a newbie. Thanks a lot.
 
Old 08-21-2007, 07:35 AM   #2
Gethyn
Member
 
Registered: Aug 2003
Location: UK
Distribution: (X)Ubuntu 10.04/10.10, Debian 5, CentOS 5
Posts: 900

Rep: Reputation: 32
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.
 
Old 08-21-2007, 09:36 AM   #3
capricorn
LQ Newbie
 
Registered: Aug 2007
Posts: 5

Original Poster
Rep: Reputation: 0
Quote:
Originally Posted by Gethyn View Post
How did you install the kernel source?
Using gunzip and tar -xvf into /usr/src/linux folder.


Quote:
Originally Posted by Gethyn View Post
There should be a Debian package for it, which would be a better bet than the source direct from kernel.org.
I actually tried to get the Debian package from Debian website, but I couldn't find a package named "kernel source"


Quote:
Originally Posted by Gethyn View Post
Try installing the packages "linux-source" and "linux-headers".
Thanks for the tip, will try.


Quote:
Originally Posted by Gethyn View Post
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.
Yes, I had to recompile the kernel since there was nothing in /usr/src directory.
 
Old 08-21-2007, 12:00 PM   #4
Gethyn
Member
 
Registered: Aug 2003
Location: UK
Distribution: (X)Ubuntu 10.04/10.10, Debian 5, CentOS 5
Posts: 900

Rep: Reputation: 32
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").
 
Old 08-21-2007, 01:51 PM   #5
capricorn
LQ Newbie
 
Registered: Aug 2007
Posts: 5

Original Poster
Rep: Reputation: 0
Quote:
Originally Posted by Gethyn View Post
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").


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.
WTF! I had known that the installed kernel version is 2.6.18 and I confirmed by doing "uname -r". Intel claims that the driver is for linux with 2.4.18 to 2.6.x kernels, but it seems like that's a joke. Or I'm wrong maybe.

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.

Last edited by capricorn; 08-21-2007 at 01:54 PM.
 
Old 08-21-2007, 01:51 PM   #6
capricorn
LQ Newbie
 
Registered: Aug 2007
Posts: 5

Original Poster
Rep: Reputation: 0
double post

Last edited by capricorn; 08-21-2007 at 01:53 PM.
 
Old 08-23-2007, 09:28 AM   #7
Gethyn
Member
 
Registered: Aug 2003
Location: UK
Distribution: (X)Ubuntu 10.04/10.10, Debian 5, CentOS 5
Posts: 900

Rep: Reputation: 32
Okay, I found the following:
Quote:
* Ethernet: I noticed a problem with the e1000 module, you’ll notice the following in the syslog:

e1000: 0000:02:00.0: e1000_probe: The EEPROM Checksum Is Not Valid
e1000: probe of 0000:02:00.0 failed with error -5

This means the checksum in PCI data area is not ok. It seems the windows driver does not have this problem because it does not verify the checksum at all. Of course you could work around the problem by disabling the e1000_validate_eeprom_checksum in e1000_main.c but that’s a nasty workaround. I found a workaround for this without having to touch kernelsource: just set “Internal Network Device: Hidden” in the BIOS. If you reboot again you won’t have a network card of course, but after re-enabling it again in the BIOS the module should work without any problems then.
That was on this page. It seems that a possible solution is to disable the ethernet in BIOS, load up the system without net, then reboot and re-enable the ethernet in the BIOS. If that doesn't work, try the stuff below (written before I found that link). A kernel upgrade might fix things, failing that you might need to try the hack to the kernel source that he suggests. Hope it helps.


...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
eth1      Link encap:Ethernet  HWaddr 00:XX:XX:XX:XX:XX
          inet addr:xxx.xxx.xxx.xxx  Bcast:xxx.xxx.xxx.255  Mask:255.255.255.0
          inet6 addr: x:x:x:x:x:x/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:16996 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9974 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:8470882 (8.0 MiB)  TX bytes:2575613 (2.4 MiB)
          Interrupt:16

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:78 errors:0 dropped:0 overruns:0 frame:0
          TX packets:78 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:3900 (3.8 KiB)  TX bytes:3900 (3.8 KiB)
If the ethernet is now being detected then there will be an eth0/1/? section, if not then you'll probably just have the lo section.

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.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
understanding gigabit ethernet noir911 Linux - Networking 7 07-14-2007 08:25 PM
Debian etch marvell yukon gigabit ethernet, random loss of connectivity zeb_666 Linux - Networking 1 02-27-2007 02:56 PM
Debian testing installation doesn't recognize my firewire ethernet patitoconejita Debian 9 08-03-2006 09:45 PM
SuSE 9.3 Gigabit Ethernet fulch92a SUSE / openSUSE 4 04-27-2005 04:16 PM
gigabit ethernet quercusalba Linux - Hardware 2 12-29-2004 05:09 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Networking

All times are GMT -5. The time now is 07:22 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration