Forum Home
Press F1
 
Thread ID: 67562 2006-03-31 06:50:00 Server sometimes doesn't start eth0 hamstar (4) Press F1
Post ID Timestamp Content User
442438 2006-03-31 06:50:00 Hey guys,

I've got my server going perfectly... almost...

Sometimes when I start it up, it doesn't start eth0 properly. Doesn't reply to ping from any other computer on the network.

So I do service network restart (a script i made to copy the fedora one :D - just uses /etc/init.d/ programs) and it immediately starts responding to ping.

Anyone know why it does this?

Cheers,
hamstar
hamstar (4)
442439 2006-03-31 07:11:00 Which version of fedora and whats the network card. gcarmich (10068)
442440 2006-03-31 07:25:00 Does it give an error when staring eth0 initially - something like "failed; no link present" gcarmich (10068)
442441 2006-03-31 08:59:00 What network card are you using

Is the service starting ? Try from bash ps aux and see if the process are listed, you may need to run this as root. Another way you may get some info is to run ifconfig eth0

Another command that may help in your trouble shooting is lsmod which lists all loaded modules (reason for the opening question).

Another way to bring up your ethernet card is ifconfig eth0 up (down shuts the service down)

0 in eth0 stands for the device id if you have two ethernet cards, eth1 could be the secound one
beama (111)
442442 2006-04-01 03:07:00 The ethernet card is detected during the start up, and that will cause its driver module to be loaded, and the network software will use it. If it's not ready at the appropriate time in the startup, it won't be there. :D

You could try adding a line in /etc.modules.conf, something like alias eth0 3c589 to force load the module. (Of course use the correct module name for your card, rather than "3c589"). If that doesn't help, perhaps ifconfig eth0 up or service network restart in the rc.local file should work.

Have a look with dmesg | more to see whether it's being detected, and any problems with it.
Graham L (2)
442443 2006-04-02 04:46:00 crap... should've given you guys more info before hitting the sack.. sorry..

I'm using opensuse 10 - i just copied the fedora script service so I could use service servicename commands instead of ./etc/init.d/servicename commands

I did a bit of googling before posting, and found I don't have an rc.local file, unless I create one which may or may not work, but theres a substitute file in so-and-so folder that also may or not work - looked like a complicated way that way. I also looked in /var/log/messages.

The network card is an Intel onboard module "e100" which eth0 binds to. There is also a 8139c which eth1 binds to.

Just looking through dmesg I have found that the realtek tries to get on eth0 first, then is pushed to eth1 when the e100 is loaded. However this is on a boot that did not require a service network restart...

For now I have just made the 8139 a manual starter cos it is currently unused, however where can I possibly re-order the modules (i guess thats what I have to do) so eth0 is started first... I have no modules.conf file, and modprobe.conf and associated files I couldn't find a network section in.

Cheers for your help, sorry for the mucking around.. nightshift...
hamstar (4)
442444 2006-04-02 04:56:00 You can make a rc.local, and it will work. It ought to go in /etc/rc.d .
It's just a way to make sure that something you always want done, is done. It has the advantage that it's done last, so you can use it to override something you don't like.

Have you got a "/etc/conf.modules" file? Both names are used, though I think that modules.conf is the preferred one. If you haven't got a conf.modules, make a modules.conf. That alias command should allow you to make sure that eth0 is the e100, and eth1 is the 8139 .
Graham L (2)
1