LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Networking (https://www.linuxquestions.org/questions/linux-networking-3/)
-   -   Unable to activate eth1 - device eth1 has different MAC address than expected. (https://www.linuxquestions.org/questions/linux-networking-3/unable-to-activate-eth1-device-eth1-has-different-mac-address-than-expected-906295/)

wkk1020@gmail.com 10-03-2011 11:39 PM

Unable to activate eth1 - device eth1 has different MAC address than expected.
 
Hi all, I have a red hat linux server with 2 network interfaces. Lately I'm trying to activate the 2nd network interface (eth1) but I encountered following errors: -
#service network status
Configured devices:
lo eth0 eth1
Currently active devices:
lo eth0

#ifup eth1
Device eth1 has different MAC address than expected, ignoring.

# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
HWADDR=00:17:08:5D:6E:66
ONBOOT=no
TYPE=Ethernet
IPADDR=168.232.90.174
NETMASK=255.255.255.0
USERCTL=no
PEERDNS=no
IPV6INIT=no

Appreciate if anyone can help me to resolve this? Following are some other output from the server: -

# lsmod
Module Size Used by
8021q 23249 0
sg 42489 0
cpqci 41576 3
mptctl 73736 0
parport_pc 29185 0
lp 15089 0
parport 43981 2 parport_pc,lp
lpfcdfc 197716 6
autofs4 23241 0
i2c_dev 13633 0
i2c_core 28481 1 i2c_dev
sunrpc 170425 1
ds 21449 0
yenta_socket 22977 0
pcmcia_core 69329 2 ds,yenta_socket
dm_mirror 28889 0
dm_multipath 22097 0
dm_mod 66433 2 dm_mirror,dm_multipath
button 9057 0
battery 11209 0
ac 6729 0
md5 5697 1
ipv6 282657 22
uhci_hcd 34665 0
ehci_hcd 33349 0
hw_random 7137 0
tg3 133124 0
ext3 137681 3
jbd 68849 1 ext3
mptspi 12556 0
mptsas 23960 0
mptscsih 44944 2 mptspi,mptsas
qla2xxx 1012256 0
qla2xxx_conf 303240 1
lpfc 203524 1 lpfcdfc
scsi_transport_fc 11201 2 lpfcdfc,lpfc
cciss 75848 7
sd_mod 19393 0
scsi_mod 140177 10 sg,lpfcdfc,mptspi,mptsas,mptscsih,qla2xxx,lpfc,scsi_transport_fc,cciss,sd_mod
mptbase 70560 4 mptctl,mptspi,mptsas,mptscsih

# more /etc/modprobe.conf
alias eth0 tg3
alias eth1 tg3
alias scsi_hostadapter cciss
alias usb-controller ehci-hcd
alias usb-controller1 uhci-hcd
alias scsi_hostadapter1 lpfc
options lpfc lpfc_nodev_tmo=30 lpfc_lun_queue_depth=16 lpfc_discovery_threads=32
alias scsi_hostadapter2 qla2xxx_conf
alias scsi_hostadapter3 qla2xxx
options qla2xxx ql2xmaxqdepth=16 qlport_down_retry=30 ql2xloginretrycount=30 ql2xfailover=1 ql2xlbType=1 ql2xautorestore=0xa0 ConfigRequire
d=0
remove qla2xxx /sbin/modprobe -r --first-time --ignore-remove qla2xxx && { /sbin/modprobe -r --ignore-remove qla2xxx_conf; }
#Added by HP rpm installer
alias scsi_hostadapter_mptbase_module mptbase
#Added by HP rpm installer
alias scsi_hostadapter_mptscsih_module mptscsih
#Added by HP rpm installer
alias scsi_hostadapter_mptspi_module mptspi
#Added by HP rpm installer
alias scsi_hostadapter_mptsas_module mptsas

# lspci -vv|grep -i eth
pcilib: Resource 0 in /sys/bus/pci/devices/0000:03:01.1/resource has a 64-bit address, ignoring
pcilib: Resource 5 in /sys/bus/pci/devices/0000:00:1f.1/resource has a 64-bit address, ignoring
03:01.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5704 Gigabit Ethernet (rev 10)
03:01.1 Ethernet controller: Broadcom Corporation NetXtreme BCM5704 Gigabit Ethernet (rev 10)

fukawi1 10-04-2011 02:46 AM

Try
ifconfig -a
to show the actual MAC address, and change the ifcfg-ethx to suit..

wkk1020@gmail.com 10-05-2011 03:45 AM

Hi Fukawi1, thank you for the advise, but the thing is this interface is not even appear in the ifconfig -a output, so there's no way to get the hardware address from it.

I actually tried restart the network service to see whether I can get the hardware address but still feel with following error: -

# service network restart
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Setting network parameters: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]
Bringing up interface eth1: tg3 device eth1 does not seem to be present, delaying initialization.
[FAILED]


From lspci output, I guess the "03:01.1" refer to this interface (eth1): -

# lspci|grep Ethernet
pcilib: Resource 0 in /sys/bus/pci/devices/0000:03:01.1/resource has a 64-bit address, ignoring
pcilib: Resource 5 in /sys/bus/pci/devices/0000:00:1f.1/resource has a 64-bit address, ignoring
03:01.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5704 Gigabit Ethernet (rev 10)
03:01.1 Ethernet controller: Broadcom Corporation NetXtreme BCM5704 Gigabit Ethernet (rev 10)


From the dmesg output there seems to have errors on this "03:01.1", is this because it has driver issue??

# dmesg|grep 03:01.1
ACPI: PCI interrupt 0000:03:01.1[B] -> GSI 25 (level, low) -> IRQ 209
PCI: Failed to allocate mem resource #0:10000@120000000 for 0000:03:01.1
PCI: Enabling device 0000:03:01.1 (0140 -> 0142)
ACPI: PCI interrupt 0000:03:01.1[B] -> GSI 25 (level, low) -> IRQ 209
PCI: Unable to reserve mem region #1:ffffffffdde00000@120000000 for device 0000:03:01.1

deep27ak 10-05-2011 04:21 AM

So you have two physical network cards i.e. eth0 and eth1 on the same machine



can you post the output of these files
Code:

#vi /etc/sysconfig/network-scripts/ifcfg-eth0

#vi /etc/sysconfig/network-scripts/ifcfg-eth1


fukawi1 10-05-2011 05:36 AM

deep27ak, I could be wrong, but i dont believe it is possible for two nics to have the same MAC, that kinda defeats the point of a unique identifies.

wkk1020, i looked up your card, and saw its a dual port card, in my experience, a dual onboard, or dual pci ethernet card, the MAC's have always been the same except for the last bit, being higher or lower by one.

as an example, my gateway is a HP DL380G2, with dual onboard nics, plus a PCI card with DUAL nics, the MAC address' are as follows:

Code:

gateway ~/scripts # ifconfig | grep "eth"
eth0      Link encap:Ethernet  HWaddr 00:08:02:B2:39:2C 
eth1      Link encap:Ethernet  HWaddr 00:08:02:B2:39:2B 
eth2      Link encap:Ethernet  HWaddr 00:08:02:B0:1A:1A 
eth3      Link encap:Ethernet  HWaddr 00:08:02:B0:1A:1B

It may be rough as guts, but trying to change the MAC in ifcfg-eth[not working] to one below or one above what is stated in ifcfg-eth[working], and then try bringing the ifup

But it sounds to me like the system isnt recognising both adapters. Perhaps its a driver related problem, maybe the linux drivers are only capable of recognising that chipset as a single interface?

deep27ak 10-05-2011 05:39 AM

Oh I am sorry I guess U r rite ILL just edit my post before I confuse anyone else

wkk1020@gmail.com 10-05-2011 08:20 AM

Hi deep27pak, please see following for the outputs, for your information, eth0 is all along up and running.
eth1 previously was not activated and not connected to the network, lately we're trying to activate eth1
and encountered the mentioned issue. The original ifcfg-eth1 file has "HWADDR=00:17:08:5D:6E:66" but when
I tried to ifup it I encountered "Device eth1 has different MAC address than expected, ignoring.",
but even remove the "HWADDR" from ifcfg-eth1 also didn't help: -

# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
BROADCAST=168.232.220.255
HWADDR=00:22:64:2d:ad:37
IPADDR=168.232.220.76
NETMASK=255.255.255.0
NETWORK=168.232.220.0
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
PEERDNS=yes
GATEWAY=168.232.220.1
IPV6INIT=no

# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
IPADDR=168.232.90.174
NETMASK=255.255.255.0
USERCTL=no
PEERDNS=no
IPV6INIT=no

wkk1020@gmail.com 10-05-2011 08:37 AM

Hi fukawi1, this is the HWaddr for the up and running eth0

# ifconfig|grep eth
eth0 Link encap:Ethernet HWaddr 00:22:64:2D:AD:37

Changing the HWADDR of ifcfg-eth1 to one below, didn't help: -

# cat ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
HWADDR=00:22:64:2d:ad:36
ONBOOT=yes
TYPE=Ethernet
IPADDR=168.232.90.174
NETMASK=255.255.255.0
USERCTL=no
PEERDNS=no
IPV6INIT=no

# service network restart
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Setting network parameters: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]
Bringing up interface eth1: Device eth1 has different MAC address than expected, ignoring.
[FAILED]


Changing the HWADDR of ifcfg-eth1 to one up, didn't help, too: -

# cat ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
HWADDR=00:22:64:2d:ad:38
ONBOOT=yes
TYPE=Ethernet
IPADDR=168.232.90.174
NETMASK=255.255.255.0
USERCTL=no
PEERDNS=no
IPV6INIT=no

# service network restart
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Setting network parameters: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]
Bringing up interface eth1: Device eth1 has different MAC address than expected, ignoring.
[FAILED]

These 2 are actually on board network interfaces, I'm not sure whether it was due to some updates
that cause the driver not working anymore. But wonder how come eth0 can up and running without problem: -

# find /lib/modules -name "tg*"
/lib/modules/2.6.9-22.EL/kernel/drivers/net/tg3.ko
/lib/modules/2.6.9-22.ELsmp/updates/tg3.ko

# ls -l /lib/modules/2.6.9-22.EL/kernel/drivers/net/tg3.ko
-rwxr--r-- 1 root root 133728 Sep 20 2005 /lib/modules/2.6.9-22.EL/kernel/drivers/net/tg3.ko

# ls -l /lib/modules/2.6.9-22.ELsmp/updates/tg3.ko
-r--r--r-- 1 root root 1042011 Jul 13 2010 /lib/modules/2.6.9-22.ELsmp/updates/tg3.ko

deep27ak 10-05-2011 08:39 AM

Well I did a little google on your error.

It seems the solution of your problem is somewhere in kernel upgradation

Well for now check the MAC address of eth1 with this command

Code:

#ifconfig eth2 | awk '/HW/ {print $5}'
check the output as it should return with MAC address of eth1

I won't be able to help further and if you don't get a solution try asking some senior member whether it is due to kernel issue?

Sorry :(

wkk1020@gmail.com 10-05-2011 08:48 AM

Hi deep27ak, as eth1 is not up at all so there is no output and therefore unable to see the HWADDR.
Thank you for your help anyway......

Is there anyone that can give me some advise??

Thank you.

fukawi1 10-05-2011 08:52 AM

I agree with deep27ak, sounds kernel/driver related...

If the servers not in production, can you reboot to a live cd with a newer/different kernel, and see if that detects both if's correctly?

wkk1020@gmail.com 10-05-2011 09:04 AM

Hi fukawi1, this is a production server hosting Oracle database. I'm thinking to do a reboot next week,
I'm just worried that would eth0 also not working after reboot?? A bit scary cause there's no one
good in Linux administration. I'm actually the DBA here......

deep27ak 10-05-2011 09:16 AM

For the time being if you want to check then try deleting the current eht1 configuration and recreating it

You can do that graphically

Code:

#system-config-network
delete the eth1 and recreate it with preferred settings and see it the problem is solved

If that doesn't affect your server

wkk1020@gmail.com 10-05-2011 09:54 AM

Hi deep27ak, I tried deleting the eth1 and "service network restart" but it's not improving..

Thank you.

travisdh1 10-05-2011 12:29 PM

Do you know for sure that the "other port" on your server is a real ethernet adapter? Could it be a kvm only interface? (I'm asking because our server has 2 gigabit ports and another dedicated to just some sort of virtual keyboard/monitor/mouse thing.)


All times are GMT -5. The time now is 05:10 AM.