missing NICs in FC2

Hegge, Johnathan jhegge at permeo.com
Thu Feb 3 22:34:13 UTC 2005


If someone can explain the behavior I'm seeing, I'd appreciate it.  

With most machines that I load FC2 (2.6.8 kernel) on, all the network
links -- different models, such as Intel, 3Com, Broadcom -- are visible
with the "ip" command immediately.  On some machines, Dell workstations
(340, 350) that I occasionally use, I get only eth0 visible.  

Now, I'll say that this is a custom install with only eth0 being
configured at install time, but still, it's inconsistent.  

I'm trying to understand if the kernel is not loading the driver until
forced where other machines, like rack-mount servers, etc., always load
the drivers.  Also, can I influence this behavior.  

For example, from the Dell machine:

Relevant portion of dmesg:

3c59x: Donald Becker and others. www.scyld.com/network/vortex.html
0000:02:0c.0: 3Com PCI 3c905C Tornado at 0xec00. Vers LK1.1.19
divert: allocating divert_blk for eth0
e100: Intel(R) PRO/100 Network Driver, 3.0.18
e100: Copyright(c) 1999-2004 Intel Corporation
ACPI: PCI interrupt 0000:02:09.0[A] -> GSI 11 (level, low) -> IRQ 11
divert: allocating divert_blk for eth1
e100: eth1: e100_probe: addr 0xfe2ff000, irq 11, MAC addr
00:07:E9:10:8F:39
divert: freeing divert_blk for eth0
divert: freeing divert_blk for eth1
ACPI: PCI interrupt 0000:02:0c.0[A] -> GSI 11 (level, low) -> IRQ 11
3c59x: Donald Becker and others. www.scyld.com/network/vortex.html
0000:02:0c.0: 3Com PCI 3c905C Tornado at 0xec00. Vers LK1.1.19
divert: allocating divert_blk for eth0
NET: Registered protocol family 10
Disabled Privacy Extensions on device 023612a0(lo)
IPv6 over IPv4 tunneling driver
divert: not allocating divert_blk for non-ethernet device sit0
eth0: no IPv6 routers present

So, both cards are detected, drivers loaded, right?


Then, looking around at the system:

[root at dell340 root]# ip link
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
4: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:06:5b:de:50:b9 brd ff:ff:ff:ff:ff:ff
5: sit0: <NOARP> mtu 1480 qdisc noop
    link/sit 0.0.0.0 brd 0.0.0.0
[root at dell340 root]#


No eth1, though on most other machines it will appear here, whether or
not I've added an address to it.  


>From /etc/sysconfig/hwconf:

-
class: NETWORK
bus: PCI
detached: 0
device: eth0
driver: 3c59x
desc: "3Com Corporation|3c905C-TX/TX-M [Tornado]"
network.hwaddr: 00:06:5B:DE:50:B9
vendorId: 10b7
deviceId: 9200
subVendorId: 1028
subDeviceId: 010d
pciType: 1
pcidom:    0
pcibus:  2
pcidev:  c
pcifn:  0
-
class: NETWORK
bus: PCI
detached: 0
device: eth1
driver: e100
desc: "Intel Corp.|82557/8/9 [Ethernet Pro 100]"
network.hwaddr: 00:07:E9:10:8F:39
vendorId: 8086
deviceId: 1229
subVendorId: 8086
subDeviceId: 000b
pciType: 1
pcidom:    0
pcibus:  2
pcidev:  9
pcifn:  0
-

So, kudzu saw both of the cards and ID'd them...


>From /etc/modprobe.conf:

alias eth0 3c59x
alias eth1 e100
alias snd-card-0 snd-intel8x0
install snd-intel8x0 /sbin/modprobe --ignore-install snd-intel8x0 &&
/usr/sbin/alsactl restore >/dev/null 2>&1 || :
remove snd-intel8x0 { /usr/sbin/alsactl store >/dev/null 2>&1 || : ; };
/sbin/modprobe -r --ignore-remove snd-intel8x0
alias usb-controller uhci-hcd


Now, to play with it to make it available:


[root at dell340 root]# ip link
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
4: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:06:5b:de:50:b9 brd ff:ff:ff:ff:ff:ff
5: sit0: <NOARP> mtu 1480 qdisc noop
    link/sit 0.0.0.0 brd 0.0.0.0

Not there...

[root at dell340 root]# ifup eth1
/sbin/ifup: configuration for eth1 not found.
Usage: ifup <device name>

I expected this, I've not written the file, though I'm heading that
way...


Now, this is curious:

[root at dell340 root]# ifconfig eth1 up
[root at dell340 root]# ip link
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
4: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:06:5b:de:50:b9 brd ff:ff:ff:ff:ff:ff
5: sit0: <NOARP> mtu 1480 qdisc noop
    link/sit 0.0.0.0 brd 0.0.0.0
6: eth1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:07:e9:10:8f:39 brd ff:ff:ff:ff:ff:ff

Why does ifconfig work differently than ip?  I know there's a file
required for ip but what the heck is ifconfig doing?  


[root at dell340 root]# ifconfig eth1 down
[root at dell340 root]# ip link
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
4: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:06:5b:de:50:b9 brd ff:ff:ff:ff:ff:ff
5: sit0: <NOARP> mtu 1480 qdisc noop
    link/sit 0.0.0.0 brd 0.0.0.0
6: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:07:e9:10:8f:39 brd ff:ff:ff:ff:ff:ff

Look, it stays, even when I down it again!

Help, I just don't quite understand the behavior here.  I'm trying to
manipulate the system(s) via scripts, so just knowing how to fix this
one isn't helping me much.  

Thanks much




More information about the fedora-list mailing list