-   Linux - Networking (
-   -   "..device eth0 does not seem to be present.." unable to network Redhat (

GP00 11-07-2006 03:51 PM

"..device eth0 does not seem to be present.." unable to network Redhat
Linux Redhat : Enterprise Linux Desktop Release 4 {cat /etc/redhat-release}
2.6.9-5.EL {uname -r}

Have tried with multiple network cards, working backwards in age, getting some improvements in what we see now but still not working.

Currently using a DLink DE-530+ pci card, is in the "tulip" class.

System startup fails trying to initialize, log entries show:
[time] localhost network: Setting network parameters: succeeded
[time] localhost network: Bringing up loopback interface: succeeded
[time] localhost ifup: tulip device eth0 does not seem to be present, delaying initialization
[time] localhost network: Bringing up interface eth0: failed

The network card is picked up correctly, and in the network device control > configure> hardware shows it as status ok, but the device (it, and eth0:1 and eth0:2 images) show as inactive status.

Have tried doing DHCP and fixed ip configurations, no differences.
lspci -v shows the card:
Ethernet controller: Digital Equipment Corporation DECchip 21041 [Tulip Pass 3] (rev 21)
Subsystem: D-Link System DE-530+
Flags: Busmaster, medium devsel, latency 64, IRQ 10
i/o ports at d400 [size=128]
memory at dfffbf80 (32-bit, nonprefetchable) [size=128]
Expansion Rob at dff80000 [disabled] [size=256k]

lsmod shows an entry:

tulip 45025 0
suggesting that the tulip module IS loaded, although 0 devices are using it?

Need a troubleshooting guideline to follow from here - from my hunting, having the module not loaded seems to be the biggie, and that was a problem with one of the newer cards we tried, it didn't appear on the list.

Someone please ask me what
xxxxx/xxxxx/xxxxxxxxxxx/xxxxxxxxx/xxx-xxxx command displays, so I can type it, and let you say "okay, try changing zzzzz to yyyyyyy" I'm pretty much at the end of my process, and don't know where to turn now. But as 3 cards have failed in this linux setup, which have worked fine with windows computers, and one even in a ubuntu test machine, the cards themselves are fine, so I'm sure its a setup in our system.

Thanks in advance.

osvaldomarques 11-07-2006 04:25 PM

Hi GP00,

As you said that you could use it with ubuntu, I would suggest you to try this nic again on that system and see what module it loads, as well as the results of lspci. You could even try any linux live cd to see the result.

You need to see that the kernel 2.6.9 is a relatively old kernel and maybe it does not yet support a recent nic.

Also, use lspci to verify the real pci id this way:
First, "lspci -v" as you did but take note of the pci address on the left of the header line, for example:

0000:00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 74)
Then, enter "lspci -n" and identify the line with the same address:

0000:00:12.0 Class 0200: 1106:3065 (rev 74)
The hexadecimal numbers, in my case, "1106:3065" is the pci id, where "1106" identify the manufacturer and the second number is the product. Try some google with these numbers and RHEL.

GP00 11-07-2006 05:26 PM

00:07.0 Ethernet controller: Digital..... same as before.

00:07.0 Class 0200: 1011:0014 (rev 21)

I have no idea what I would be googling for - I can punch those numbers in, but I dont know what I am looking for, what I should expect to find, what they would mean in this context. The idea of running into problems with newer NICs is exactly what I anticipated, and likely why one of our newest and bestest cards didn't seem to be picked out at all, and why we tested other, older cards. This particular one goes back a good number of years, having RJ-## jack AND co-ax input, which is why we're optimistic about it.
Can you provide a link/instruction on how to get the module data by using a ubuntu live CD (or any live cd, basically, how to get at the data?) and we can try that tomorrow.

osvaldomarques 11-07-2006 05:51 PM

Hi GP00,

I just tried "1011:0014" and these numbers spoke loud and clear:

In the first page of google I found this thread:

Somebody already got this problem and somebody solved it. The correct driver for your nic should be de2104x.

You can force the proper loading at boot inserting an alias in the "/etc/modprobe.conf", as follows:

alias eth0 de2104x
After that, run the command:

depmod -a

GP00 11-08-2006 10:00 AM

glad they were loud and clear to someone, so I put faith in your determination...

modified the file, saved..
ran the command (and, for the record, I've been logging in as root the whole time for this work anyways) and after about 10s, nothing happened.

Assumed you meant to reboot, did: no change - still crapped out on the same spot, network devices not active...

osvaldomarques 11-08-2006 04:30 PM

Hi GP00,

I'm very sorry! I found a case soooo similar that my enthusiasm blew up! I even forgot that the equals may be different.

Did you read that thread? I think we have to go step by step to see what happens; first, look at the above directory:

ls -l /lib/modules/`uname -r`/kernel/drivers/net/tulip
The drivers you see there are from the tulip family; my kernel, version 2.6.11, shows 5 modules which are: de2104x.ko, de4x5.ko, dmfe.ko, tulip.ko, winbond-840.ko.

Let's try once more the de2104x. First, enter the command "lsmod" to see if the tulip driver is installed. If it is there, remove it with

rmmod tulip
then insert the new module, with

insmod de2104x
if it installs, lets try to use it; here, you could use just a test command to see if the drive is operating with the command:

ifconfig eth0
or you can try to start your network with the command:

service network restart
If after these commands, the network works, we need to see why it didn't work during boot. Look into "/etc/modprobe.conf" to see if there is an "alias eth0 tulip" line before or after the line you inserted; I tried two aliases for the same interface and "depmod -a"
didn't complain.

By the way, of those 5 modules from the tulip family, the dmfe is for davicom chipset, the winbond-840 is for winbond and de4x5 is for tulip ISA cards. If you enter the command

modinfo <module name>
several information about the board are displayed, including those numbers we found yesterday. That way, you can confirm if the driver is for that device: you'll see these numbers as an "alias" for the driver and they are displayed as "v" (vendor) followed by a 64 bit hex integer number, then "d" (device) followed by another 64 bit hex integer number. On my kernel, both the tulip and the de2104x modules show the vendor "1011" but only the de2104x shows the device "0014".

GP00 11-08-2006 04:42 PM

update - via a lot of playing around with help from another forum, have gotten to a point where the de2104x seems to be the magic device, and configuring the eth0 for static-ip assignment has for the last number of reboots given a clean go-through, and the device is active. No failure tossed at bootup.

however, the lsmod still shows a 0 entry for the de2104x as well as tulip, BUT the ifconfig command does actually list the eth0 device now. Doesn't WORK properly, and I am getting an entry in the boot log that replaces all those "sorry, not initializing now" messages...

(time) localhost network : setting network parameters: succeeded
(time) localhost network: bringing up lookback interface: succeeded
(time) localhost ifup: RTNETLINK answers: Invalid argument
(time) localhost network: Bringing up interface eth0: succeeded

I can try to go through what you have up above here, but don't know if the
ifconfig eth0 is the command I want to use or not - is that specific IP a specific one for testing, it is a dummy one reserved? Otherwise, looks like one from a lan side of a off-the-shelf router - the aaa and bbb parts being not like my network, being my concern. I know with windows, some IPs I think they are etc are 'reserved' for finding but not finding networks...

GP00 11-08-2006 04:47 PM

ls -l /lib/modules/'uname -r'/kernel/drivers/net/tulip
(blah) : no such file or directory

osvaldomarques 11-08-2006 05:10 PM

Hi GP00,

The ip number is any one you want. That example I wrote is just to see if the ifconfig finds the interface.

Talking of address range, the and the 169.??? are both "private range" addresses.
The 192 is used normally for local networks which need up to 65534 nodes.
The 169 is used for a special protocol called, if I recall correctly, "zero conf". It's purpose is to use when a machine with dynamic configuration address doesn't find a DHCP server; this protocol tries to occupy an unused address into the address range. Linux also is equipped with this protocol but I never used it.

To identify the module used by ethernet, first enter the command:

ifconfig eth0
In the end of the report, you will see the I/O address of the nic port; then, enter the command

less /proc/ioports
and search this address; this line will show the internal module name.

GP00 11-08-2006 05:11 PM

okay, I think I figured out what you meant, by trying 192.168... was just to see if it would change it to anything and 'stick', OR (not, sequentially AND THEN) to the network restart. I changed it to 192.168... then ifconfig showed the 'new' ip, then I set it back to my static ip a.b.c.19 . Then, I did the network service restart thing, it did the shutdowns, okay, setup network parameters, okay, and then brought up the loopback and eth0 okay

can't ping any known ips, etc...
I'm pretty certain its now a configuration of the network settings - had the correct driver beeinpicked up in installation, there's a "-b" switch or something somewhere, that we need to apply manually?

GP00 11-08-2006 05:13 PM

less... command, shows ....

d400-d47f: 0000:00:07.0
d400-d47f: de2104x

osvaldomarques 11-08-2006 05:44 PM

Hi GP00,

Just for reference, in the command

ls -l /lib/modules/`uname -r`/kernel/drivers/net/tulip
the "uname -r" subdirectory is enclosed into grave accents, not apostrophes. It calls the "execute and replace by the result" shell's feature.

As the ping from the first to last post, your address and netmask are compliant with the ping destination? Do you have some firewall settings on this machine and/or the destination which could block the ping?


arp -a
to see if the kernel did cache some machine addresses.

And, don't forget to check the cable, switch, etc. Enter the command

tail -f /var/log/messages
and disconnect the cable from your machine, connect it again and see the log, if it reports the operation: it will display "eth0 link down" and "eth0 link up" if the electric connection is ok.

GP00 11-08-2006 05:49 PM

just for record sake:

my ifcfg-eth0 file contents are:

# Digital Equipment Coroporation DECchip 21041 (tulip pass 3]

For my university network, windows ipconfig (dynamic for my laptop)
Subnet Mask . . . . . . . . . . . :
Default Gateway . . . . . . . . . : aaa.bbb.ccc.1
DHCP Server . . . . . . . . . . . : aaa.bbb.ppp.11
DNS Servers . . . . . . . . . . . : aaa.bbb.ppp.11
All computers on my floor are in the aaa.bbb.ccc subnet, and we have ccc.19 reserved as a static ip for this purpose. At this point, I'd be happy with static or dynamic for this linux box, just some proof of the network configurations being correct

GP00 11-08-2006 05:58 PM

I file-navigated to the folder and saw the files, I didn't figure that the command was critical to make something execute, just trying to locate files to show.

arp -a command executed, and no output, just a few milliseconds delay for the prompt


ran the tail command... got its output

then a moment later, disconnected the ethernet cable, the window appended "localhost kernal: eth0: link down" then, 30s later, I plugged in the ethernet cable... and a few seconds later, the keyboard is flashing the caps-lock and scroll-lock LEDs on and off. Everything appears to be locked up right now.

GP00 11-08-2006 06:05 PM

right - the other questions.

No firewall on the linux machine. This is a new installation that we haven't had a chance to put anything on yet, but it is currently configured with ...checking the output from before, what was it...the likely internal firewall:

service iptables status
in which case, it comes back as:
Firewall is stopped.

Ping targets used were two university web servers, and a printerserver in my lab - my windows laptop is pinging with under 2ms time, while the linux is spewing out.

from aaa.bbb.ccc.19 icmp_seq=1 Destination host unreachable...
with icmp_seq=n increasing until I control-c stop it.

All times are GMT -5. The time now is 02:06 AM.