More Linux Help

  • Thread starter Thread starter snoopy
  • Start date Start date

snoopy

Guest
I've been installing a new Linux based network in a school using NIS/YP. Everything was going peachy and I got one of the workstations sorted and thus made an image of root using xfsdump. The PC's are identical so I booted the second from CD and used xfsrestore to put the image onto the 2nd PC.

All of this went fine but ....

On PC #1 the network card is found and initiated (it's the tulip driver). It works spot on.

On the 2nd PC the network card is found as eth0 via dmesg (i.e the driver is loaded) but there is nothing else. It doesn't come up via ifconfig. Two extra lines in dmesg that are on the working PC aren't shown (something about setting eth0 as full duplex, but that's probably the cable).

I'm stumped as to what it is. The card's working in Windows. The hardware and software should be identical. The driver loads and I can't see any errors (or if there are where do I look?).

The only thing I can think of is xfsdump doesn't capture symlinks for /dev or /proc properly or misses them out when it does a dump. But all the /dev nodes are there and the /proc folder is there (though empty).

Anyone got any ideas?

Machine is Slack 12 using 2.6.24 kernel (latest).
 
Run the hardware discovery utility that you likely get with this version of linux to see if it sets things up. Just 'cos a card looks the same doesn't mean it's using the same pci vendor/model numbers and the diriver and config you cloned may not match hence its ignored. Clues in the boot log (who's name escapes me a present, but you're big enough to google)?
 
The card driver is being loaded (the hardware on the PC's is definitely identical) and it's found with lspci, but no network program can find it.

My thinking is there is a symlink somewhere like /dev/eth0 that isn't being created but I can't find anything to that affect.
 
is the network driver built as a module? If so unload it and reload it and look for error messages in /var/log (assuming slackware writes there as I haven't looked at slackware in 15 years)
 
It is, I don't have unloading support built I don't think but I'll check tomorrow, recompile and have a go.

Dmesg reports nothing returned from the driver (e.g success) and has it registered as eth0 but then nothing.

:eek
 
Nope not picking up eth0.

Neither is /etc/rc.d/rc.inet1

The driver is loading but not 'registering the device' despite reporting it as eth0. Question is why?

Am I right in thinking /proc is generated completely dynamically when the kernel loads? If so I can rule that out.
 
On both machines I get something similar to this:

eth0: ADMtek Comet rev 17 at 00011800, 00:14:BF:5C:E1:35, IRQ 9

but on the working machine also get afterwards

0000:00:10.0: tulip_stop_rxtx() failed
eth0: Setting full-duplex based on MII#1 link partner capability of 41e1.
 
Alrighty I'm getting somewhere. I've got 10 machines done and only the original one is working however when I turned that off one of the other ones started working. I couldn't replicate it a second time but it looks like they are conflicting.

The tulip driver is loading and registering eth0 correctly on all PC's. It has to be the network basics that are foo-baring everything up.

So...

The Linux server is on a set I.P 192.168.3.2

Each workstation has a static I.P set in /etc/rc.d/rc.inet1.conf as 192.168.3.xx and netmask 255.255.255.0

The hostname "darkstar" in /etc/HOSTNAME and /etc/hosts has been changed to "darkstar" + xx

That should be it shouldn't it? There must be something the same on all machines that is messing it up though. :tears
 
mac address? its usually modifiable in the driver, and if you cloned that it'd royally confuse the switch.
 
I solved it. ifconfig -a showed the device as eth1.

I think slackware first looks for the old card (it must have a file for it somewhere) and when it doesn't find it it enumerates so eth0 from the driver becomes eth1.

I added IFNAME[0]="eth1" to /etc/rc.d/rc.inet1.conf and everything is spot on.

I've been unable to find the file, it's got to be somewhere in /etc ...

But it's working. :thumb2
 
Are you using udev?

If you grep for eth in /etc/udev/rules.d/ do you find eth1 mapped to the mac address of the card?

It may be you just need to remove that line and you'll be back to eth0 again.
 
Yup using udev and I didn't check there, will do Monday when back at work - thanks!

Andrew
 


Back
Top Bottom