From: Tim Fardell on
Hello all!

Can anyone advise on the procedure for adding new hardware devices on a
Debian (lenny) system?

Specifically, I need to know how to get Debian to detect and set up a
different network card from the one that was present when Debian was
installed. It's not picking up the change of hardware automatically - it
just fails to initialise the network, and I have no entry for 'eth0' shown
in the 'ifconfig' output.

I'm very new to Debian, having migrated from RedHat/Fedora which does a
lot more "hand-holding" than Debian and just detects any new hardware, and
prompts the user for any necessary configuration for the new device.

A bit of background, just in case it's relevant: I have two machines which
are completely identical in every respect *except* the Network card. The
first machine has a 3Com 3C905B-TX, while the second has a 3Com 3C905C-TX.
Every other piece of hardware is exactly the same on the two machines. I
installed Debian on the first machine and did all necessary configuration,
then used dd to transfer an image of the hard drive onto the second
machine. Everything works fine, except (predictably) the network card on
the second machine.

Can anyone help?

Thanks in advance.


From: Joe on
On 2010-04-05, Tim Fardell <tim.fardell.all-your-clothes(a)virgin.net> wrote:
> Hello all!
>
> Can anyone advise on the procedure for adding new hardware devices on a
> Debian (lenny) system?
>
> Specifically, I need to know how to get Debian to detect and set up a
> different network card from the one that was present when Debian was
> installed. It's not picking up the change of hardware automatically - it
> just fails to initialise the network, and I have no entry for 'eth0' shown
> in the 'ifconfig' output.
>
> I'm very new to Debian, having migrated from RedHat/Fedora which does a
> lot more "hand-holding" than Debian and just detects any new hardware, and
> prompts the user for any necessary configuration for the new device.
>
> A bit of background, just in case it's relevant: I have two machines which
> are completely identical in every respect *except* the Network card. The
> first machine has a 3Com 3C905B-TX, while the second has a 3Com 3C905C-TX.
> Every other piece of hardware is exactly the same on the two machines. I
> installed Debian on the first machine and did all necessary configuration,
> then used dd to transfer an image of the hard drive onto the second
> machine. Everything works fine, except (predictably) the network card on
> the second machine.
>
> Can anyone help?

Your new card is likely detected, but is listed as eth1. Since you do
not have an entry for it in the interfaces file, you just don't see
it.

You can do one of two things:
1) Edit /etc/networking/interfaces and add an entry for eth1
2) Edit /etc/udev/rules.d/70-persistent-net.rules and remove the eth0
interface, then change the eth1 to eth0

Then, reboot and all will be set. I like option 2 better, but YMMV.

--
Joe - Linux User #449481/Ubuntu User #19733
joe at hits - buffalo dot com
"Hate is baggage, life is too short to go around pissed off all the
time..." - Danny, American History X
From: Pascal Hambourg on
Hello,

Tim Fardell a �crit :
>
> Specifically, I need to know how to get Debian to detect and set up a
> different network card from the one that was present when Debian was
> installed.

Detect : the kernel and udev will handle it automatically and load the
appropriate driver if needed.
Setup : it depends on how the interface is configured. If it is in
/etc/network/interfaces, just edit the file. If it is by any GUI tool
such as network-manager, I don't use them so I cannot help.

> It's not picking up the change of hardware automatically - it
> just fails to initialise the network, and I have no entry for 'eth0' shown
> in the 'ifconfig' output.

The interface is likely to have another name, check ifconfig -a.

> A bit of background, just in case it's relevant: I have two machines which
> are completely identical in every respect *except* the Network card. The
> first machine has a 3Com 3C905B-TX, while the second has a 3Com 3C905C-TX.
> Every other piece of hardware is exactly the same on the two machines. I
> installed Debian on the first machine and did all necessary configuration,
> then used dd to transfer an image of the hard drive onto the second
> machine. Everything works fine, except (predictably) the network card on
> the second machine.

When udev detects a network interface, it assigns it a persistent name
based on its MAC address. This means that this name is reserved to that
MAC address. By default it is the name given by the kernel if available.
If you replace the NIC (which is equivalent to what you did), the new
one will have a different MAC address, and udev will assign it another
(available) name.

So you can either edit the interface name in the file that configures
the interface, or edit the persistent naming rules generated by udev
(somewhere in /etc/udev/).

Yeah, sometimes udev won't just do what you'd like. This is the typical
case.
From: Mark Hobley on
Tim Fardell <tim.fardell.all-your-clothes(a)virgin.net> wrote:
> A bit of background, just in case it's relevant: I have two machines which
> are completely identical in every respect *except* the Network card. The
> first machine has a 3Com 3C905B-TX, while the second has a 3Com 3C905C-TX.
> Every other piece of hardware is exactly the same on the two machines.

You have changed the IP address on the second machine haven't you?

You might need to load a different network driver module. I couldn't find a
module name for some reason, I do have the information about those cards in
an archive somewhere, but for some reason, I can't find it.

I remember changing a 3COM card for an SMC, due to problems, but I can't
remember the exact details (Maybe the hub light went out after a couple of
minutes, or the machine froze, or something else. I can't remember.)

Try something like the "Vortex" or "Typhoon" driver. Unfortunately, I can't
find the exact module names at this time.

You may need to blacklist the existing module to stop that from installing,
if you are having problems.

Mark.

--
Mark Hobley
Linux User: #370818 http://markhobley.yi.org/

From: Tim Fardell on
On 5 Apr 2010, Joe wrote:

> On 2010-04-05, Tim Fardell <tim.fardell.all-your-clothes(a)virgin.net> wrote:
> >
> > Specifically, I need to know how to get Debian to detect and set up a
> > different network card from the one that was present when Debian was
> > installed. It's not picking up the change of hardware automatically - it
> > just fails to initialise the network, and I have no entry for 'eth0' shown
> > in the 'ifconfig' output.
>
> Your new card is likely detected, but is listed as eth1. Since you do
> not have an entry for it in the interfaces file, you just don't see
> it.
>
> You can do one of two things:
> 1) Edit /etc/networking/interfaces and add an entry for eth1
> 2) Edit /etc/udev/rules.d/70-persistent-net.rules and remove the eth0
> interface, then change the eth1 to eth0
>
> Then, reboot and all will be set. I like option 2 better, but YMMV.

Thanks to all for the replies.

This was indeed exactly what had happened. I did Option 2, and it sprang
into life after a reboot.

Actually I found that the new card was using the same driver as the old
card, it was just that, as Pascal pointed out, it was a different MAC
address, so it treated it as a different interface.

It's sort of irrelevant now as it's working, but just out of interest,
could I have brought the new card up without rebooting the machine? I
tried '/etc/init.d/networking restart', but it failed.

Thanks again for the help all. I already much prefer Debian to Fedora, and
I've only been using it for two days!

Fedora tries to make things too simple, and often doesn't do quite what I
wanted, and it's tricky to make it change its mind - a problem Debian
doesn't have. Debian does what you tell it, and *only* what you tell it,
to do. Excellent.