Solved

linux can't detect my ethernet card

Posted on 1998-12-04
12
324 Views
Last Modified: 2013-12-15
Hi,
  I have Intel EtherExpress PRO PCI Adaptor on my system. However, linux does not seem to be able to detect it. When I tried 'ifconfig eth0 ...', the system says unknown device eth0. Can anyone tell me what could be the reason and how to fix it? Thanks!

wyldsj
0
Comment
Question by:wyldsj
12 Comments
 
LVL 10

Expert Comment

by:rbr
ID: 1631773
Havew you compiled your kernel for full ethernet support. Many cards are not used by default in your kernel. Which kernel version do you have?
0
 

Author Comment

by:wyldsj
ID: 1631774
may i know how to recompile the kernel?
0
 

Author Comment

by:wyldsj
ID: 1631775
my linux version is 2.0.35
0
Complete VMware vSphere® ESX(i) & Hyper-V Backup

Capture your entire system, including the host, with patented disk imaging integrated with VMware VADP / Microsoft VSS and RCT. RTOs is as low as 15 seconds with Acronis Active Restore™. You can enjoy unlimited P2V/V2V migrations from any source (even from a different hypervisor)

 

Author Comment

by:wyldsj
ID: 1631776
sorry but i've waited too long..
0
 
LVL 2

Expert Comment

by:vx
ID: 1631777
To compile a new kernel:

1. Obtain the latest kernel source (at the moment 2.0.36) from
- http://www.kernel.org OR
- ftp://metalab.unc.edu/pub/Linux/kernel/v2.0

If you have the bzip2 decompressor, you can download linux-2.0.36.tar.bz2; if not, download the .tar.gz

2. Untar it, ie.:
cd /usr/src
tar xfvz <directory>/linux-2.0.36.tar.gz  OR if you've downloaded the bz2:
tar Ixvf <directory>/linux-2.0.36.tar.bz2 (The l is a capital i )

3. Modify the configuration file:
cd /usr/src/linux
make menuconfig OR if you run X, you could use "make Xconfig"

4. Follow the onscreen instructions.

5. Make sure you add network support:
<Network> Add TCP/IP support
<Network Devices> Add EtherExpress PRO support (I believe it's an EE pro 100(B))
You might want to add your network adapter as a module, it isn't necessary though.

6. If you're sure you've added all options, build your kernel:
make dep; make clean; make zImage; make modules; make modules_install

7. Then copy your kernel to the right location and backup the old one:
mv /vmlinuz /vmlinuz.2.0.35
cp /usr/src/linux/arch/i386/boot/zImage /vmlinuz

8. If you use LILO, add a new entry to your config file (/etc/lilo.conf):
Add:
image = /vmlinuz-2.0.35
  root = /dev/hda2 <---- You'll have to modify this to your own root
  label = backup
  read-only

If you use LOADLIN, don't forget to copy your new kernel to the right partition and to backup the old one.

9. Run LILO, if you use that.

10. Reboot and see what happens.

11. If you compiled your adapter as a module, type insmod (or modprobe) eepro100, or whatever your adapter's module is called. If you don't know, look it up in /lib/modules/2.0.36/net

Good luck
0
 

Expert Comment

by:olvo
ID: 1631778
You can try a module for your card. There is a file in the /boot with info in all modules supported by your kernel. Once you found the module for your card, do a depmod -a, to verify if there are any module dependencies.
Now, a insmod will load your module.
There is a /etc/conf.modules or modules.conf, where parameters like port, irq so on can be passed.
0
 

Accepted Solution

by:
hallstein earned 200 total points
ID: 1631779
Enter your kernelsorce dir. - Its probably usr/src/linux.
type make menuconfig.
Go to Networking options and check for TCP/IP networking.
Then goto network device support and check for ethernet 10 or 100 mbit.
Then check PCI network adapters (something like that) and after that check for NE2000 adapters. (make * to them all).
Afterwards exit and save your new configuration.
From the linuxdir type:
make dep; make clean;make zImage <enter>
when it has done its compiling move the zImage to /boot with the mv command. (mv arch/i386/boot/zImage /boot
pico /etc/lilo.conf and its supposed to say:
image = /vmlinuz
  root = /dev/hdaX  (where X is your linux boot device)
  label = Linux
  read-only

copy that part of your lilo conf and paste it right below and change it so it looks like this:

image = /boot/zImage
  root = /dev/hdaX  (where X is your linux boot device)
  label = test
  read-only

ctrl X save and confirm
then type lilo <enter>
and reboot with your test option
Lilo: test   <--- at boot time

Now - hopefully you have your eth0 installed.
then use netconfig to install your network (or ifconfig >man ifconfig to get the right parameters)
If you dont have the linux dir under usr/src/ then go get linux-2.0.36.tar.gz from ftp.kernel.org /pub/linux/kernel/v2.0



0
 

Author Comment

by:wyldsj
ID: 1631780
Hi!
 
  I've done what you told me. Everything seemed to work fine but I could not boot linux after that. It gives me a message saying "unable to initialize a console". What does it mean?

wyldsj
0
 

Expert Comment

by:hallstein
ID: 1631781
did you write test at your lilo promt after rebooting (if following my descriptions i mean)?
- Did you uncheck something in your kernel while recompiling with network support?
0
 

Author Comment

by:wyldsj
ID: 1631782
Thanks hallstein! I was using UMSDOS last time. Today I re-partitioned my hd and installed slakware to its own partition. I followed your instruction and the problem is now solved!
Thanks again for your help!

wyldsj
0
 

Expert Comment

by:hallstein
ID: 1631783
im very pleased that you made it work.
0
 

Expert Comment

by:hallstein
ID: 1631784
im very pleased that you made it work.
0

Featured Post

Microsoft Certification Exam 74-409

Veeam® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I am a long time windows user and for me it is normal to have spaces in directory and file names. Changing to Linux I found myself frustrated when I moved my windows data over to my new Linux computer. The problem occurs when at the command line.…
Using 'screen' for session sharing, The Simple Edition Step 1: user starts session with command: screen Step 2: other user (logged in with same user account) connects with command: screen -x Done. Both users are connected to the same CLI sessio…
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question