tg3: Could not obtain valid ethernet address, aborting.
We ran into a problem with a coworkers machine that was rather difficult to troubleshoot. He has an Ubuntu desktop, and after rebooting one day, eth0 just totally disappeared. I had a hard time finding a solution easily, but I found an excellent blog post with a similar problem.
#grep tg3 /var/log/dmesg
[ 7.658871] tg3.c:v3.94 (August 14, 2008)
[ 7.659481] tg3 0000:03:00.0: PCI INT A -> Link[AP06] -> GSI 18 (level, low) -> IRQ 18
[ 7.659489] tg3 0000:03:00.0: setting latency timer to 64
[ 8.525164] tg3: Could not obtain valid ethernet address, aborting.
[ 8.525248] tg3 0000:03:00.0: PCI INT A disabled
[ 8.525279] tg3: probe of 0000:03:00.0 failed with error -22
After reading Peter’s post from above, we are most interested in this piece of code from tg3:
if (!is_valid_ether_addr(&dev->dev_addr[0])) {
#ifdef CONFIG_SPARC
if (!tg3_get_default_macaddr_sparc(tp))
return 0;
#endif
// return -EINVAL;
}
So why is our NIC returning a MAC of 00:00:00:00:00:00? Well, in our scenario, we ran a diagnostic and found out the EEPROM was corrupt. So despite the NIC working perfectly in every other aspect, returning an all zero MAC produced this error. Swapped it out for a different card, and everything seems to be better.
So if you are getting this error, check your MAC address… if it is all zeros, figure out why. Hope that helps someone else.
Category: Uncategorized One comment »
January 10th, 2010 at 8:59 am
I had my mainboard replaced later on as well, the eprom was — surprise — defect. Greetings