From Bugzilla Helper: User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4 Description of problem: It appears that there was a bug in the via-rhine driver circa 2.6.8/10 wherein at boot the via-rhine module fails to load because of an "Invalid MAC address". That bug appears to be back. Here's my motherboard: product: MS-7222 vendor: MICRO-STAR INTERNATIONAL CO., LTD version: 2.00 BIOS vendor: Phoenix Technologies, LTD version: V3.20 (11/24/2006) Here's the PCI info: 00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 78) Subsystem: Micro-Star International Co., Ltd. Unknown device 7222 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 64 (750ns min, 2000ns max), Cache Line Size: 32 bytes Interrupt: pin A routed to IRQ 11 Region 0: I/O ports at e400 [size=256] Region 1: Memory at fdffe000 (32-bit, non-prefetchable) [size=256] Capabilities: [40] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Here's what I see in dmesg: Invalid MAC address via-rhine: probe of 0000:00:12.0 failed with error -5 Let me know what else is required. Version-Release number of selected component (if applicable): install kernel How reproducible: Always Steps to Reproduce: 1. Install RHEL 5 2. Boot - watch network fail Actual Results: Expected Results: Network should have seen eth0 Additional info: Worked on older kernels / Windoze. Have tried fiddling with BIOS settings, booting with noapic or pci=routeirq, nothing helps
(Sorry, it's taken me so long to look into this....) The only thing since 2.6.12 that has changed around those lines is this patch: commit b81e8e1f4a51556586f72711a165bc3a0de230f3 Author: John W. Linville <linville> Date: Mon Sep 12 10:48:58 2005 -0400 [PATCH] via-rhine: support ETHTOOL_GPERMADDR Add support for ETHTOOL_GPERMADDR to via-rhine. Signed-off-by: John W. Linville <linville> Signed-off-by: Jeff Garzik <jgarzik> diff --git a/drivers/net/via-rhine.c b/drivers/net/via-rhine.c index fc7738f..e7b4bc3 100644 --- a/drivers/net/via-rhine.c +++ b/drivers/net/via-rhine.c @@ -814,8 +814,9 @@ static int __devinit rhine_init_one(struct pci_dev *pdev, for (i = 0; i < 6; i++) dev->dev_addr[i] = ioread8(ioaddr + StationAddr + i); + memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); - if (!is_valid_ether_addr(dev->dev_addr)) { + if (!is_valid_ether_addr(dev->perm_addr)) { rc = -EIO; printk(KERN_ERR "Invalid MAC address\n"); goto err_out_unmap; @@ -1829,6 +1830,7 @@ static struct ethtool_ops netdev_ethtool_ops = { .set_wol = rhine_set_wol, .get_sg = ethtool_op_get_sg, .get_tx_csum = ethtool_op_get_tx_csum, + .get_perm_addr = ethtool_op_get_perm_addr, }; static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) Which it seems went in as part of 2.6.15. I don't think it's a good patch to remove since it does add the ETHTOOL_GPERMADDR support for via-rhine. I don't have this hardware available, but it would be interesting to find out what the hardware thinks the dev_addr might be. Do you have any way to check the MAC address of the device? BIOS or another kernel that seems to work fine?
I am going to ask Ivan to look at this since I have not had adequate time to help you on this issue. I am sorry about that. Don, I presume this is still a problem for you?
Did you try to upgrade BIOS?
Did you try a BIOS upgrade and what's your kernel version?