Solved

linux can't detect my ethernet card

Posted on 1998-12-04
12
323 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
Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

 

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

VMware Disaster Recovery and Data Protection

In this expert guide, you’ll learn about the components of a Modern Data Center. You will use cases for the value-added capabilities of Veeam®, including combining backup and replication for VMware disaster recovery and using replication for data center migration.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
video edge NVR Device Discovery Problem 4 46
AWS ELB 5 79
awk sed 8 44
how to print sub line with  sed /awk /perl in bash file 11 25
Little introduction about CP: CP is a command on linux that use to copy files and folder from one location to another location. Example usage of CP as follow: cp /myfoder /pathto/destination/folder/ cp abc.tar.gz /pathto/destination/folder/ab…
The purpose of this article is to demonstrate how we can use conditional statements using Python.
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.:
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…

803 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