![]() |
Ethernet not working! (forcedeth)
Hi!
I use archlinux and gentoo linux. I used to use wireless, but now I have the possibility to use cable. But for some reason I can't get it to work, not in arch, gentoo, knoppix (livecd) or ubuntu (livecd). It always times out when trying to get an IP... And on dmesg I always get the same "forcedeth: eth0: no link during initialization" error.. :-( ethtool Code:
[sa@Feio ~]$ sudo ethtool eth0Code:
Kernel IP routing tableCode:
forcedeth 0000:00:11.0: irq 758 for MSI/MSI-XCode:
[sa@Feio ~]$ ifconfig -ahope you can help! |
Re: Ethernet not working! (forcedeth)
You have a dhcp server on a router?
Or give yourself a static IP? |
Re: Ethernet not working! (forcedeth)
yes I have a dhcp server on the router. which is running fine on every machine, including this one if i switch to wireless.
I tried using static ip but the problem is exactly the same. here is my lspci output: lspci Code:
sa@Feio ~]$ lspci |
Re: Ethernet not working! (forcedeth)
The lspci shows no ethernet controller
Is it disabled in bios settings? Is it working in Windows perhaps? |
Re: Ethernet not working! (forcedeth)
Quote:
|
Re: Ethernet not working! (forcedeth)
I've been fighting this for a while. There is something really badly broken with the MCP55 ethernet + linux. For some reason the PHY gets disabled, and then there's hell to pay trying to get it back.
See for example http://www.gossamer-threads.com/list...kernel/1046277 If you google around, you'll find lots of people with this problem. I have several of the Asus M2N-SLI Deluxe boards; they're absolutely stable under load except for this ethernet issue. I have not found a reliable way to re-enable the NIC once the PHY is shut down. It's a software issue but how does one force a reset? |
Re: Ethernet not working! (forcedeth)
HAH! Progress of sorts.
http://patchwork.kernel.org/patch/16212/ So now i can turn on and off the links. ethtool -s eth1 autoneg off speed 10 duplex full turns on the link, and gets me half-duplex, 10mb/sec. Not much, granted. ethtool -s eth0 autoneg off speed 100 duplex full causes the link to go up and down on about a 2 second cycle. ethtool -s eth1 autoneg on causes the link to drop. So the problem is in the autoneg code. It's a driver issue. I've tried the patch; no joy but I have yet to reboot the system. |
Re: Ethernet not working! (forcedeth)
I've been reading the forcedeth.c code.
So far I've established that it does recognize the Marvell PHY. AFAIK, the PHY on the board is 88E1116, so that much is right. OK, not much progress. In nv_probe, there are some lines that should turn on the PHY. I stuck some printk in there to see what's happening. Turns out nothing is happening..... powerstate remains 0? Does this mean that the power is already on? Or that we're reading/writing the wrong register? if (id->driver_data & DEV_HAS_POWER_CNTRL) { /* take phy and nic out of low power mode */ powerstate = readl(base + NvRegPowerState2); printk(KERN_INFO "Turning on power: 0x%04x.\n",powerstate); powerstate &= ~NVREG_POWERSTATE2_POWERUP_MASK; if ((id->device == PCI_DEVICE_ID_NVIDIA_NVENET_12 || id->device == PCI_DEVICE_ID_NVIDIA_NVENET_13) && pci_dev->revision >= 0xA3) powerstate |= NVREG_POWERSTATE2_POWERUP_REV_A3; printk(KERN_INFO "Writing powerstate: 0x%04x.\n",powerstate); writel(powerstate, base + NvRegPowerState2); powerstate = readl(base + NvRegPowerState2); printk(KERN_INFO "Powerstate 0x%04x.\n",powerstate); } [ 3936.277196] forcedeth: Reverse Engineered nForce ethernet driver. Version 0.64. [ 3936.277223] forcedeth 0000:00:08.0: PCI INT A -> Link[APCH] -> GSI 22 (level, low) -> IRQ 22 [ 3936.277230] forcedeth 0000:00:08.0: setting latency timer to 64 [ 3936.277331] nv_probe: set workaround bit for reversed mac addr [ 3936.277337] Turning on power: 0x0000. [ 3936.277339] Writing powerstate: 0x0000. [ 3936.277343] Powerstate 0x0000. [ 3936.278352] 0000:00:08.0: open: Found PHY 5040:0003 at address 19. [ 3936.796061] 0000:00:08.0: phy reset [ 3937.316809] forcedeth 0000:00:08.0: ifname eth0, PHY OUI 0x5043 @ 19, addr 00:1e:8c:6f:a5:27 [ 3937.316816] forcedeth 0000:00:08.0: highdma csum vlan pwrctl mgmt gbit lnktim msi desc-v3 [ 3937.317113] forcedeth 0000:00:09.0: PCI INT A -> Link[AMC1] -> GSI 20 (level, low) -> IRQ 20 [ 3937.317120] forcedeth 0000:00:09.0: setting latency timer to 64 [ 3937.317200] nv_probe: set workaround bit for reversed mac addr [ 3937.317206] Turning on power: 0x0000. [ 3937.317209] Writing powerstate: 0x0000. [ 3937.317213] Powerstate 0x0000. [ 3937.318317] 0000:00:09.0: open: Found PHY 5040:0003 at address 19. [ 3937.379044] forcedeth 0000:00:08.0: irq 29 for MSI/MSI-X [ 3937.379236] eth0: no link during initialization. [ 3937.836062] 0000:00:09.0: phy reset [ 3938.356857] forcedeth 0000:00:09.0: ifname eth1, PHY OUI 0x5043 @ 19, addr 00:1e:8c:6f:be:40 [ 3938.356864] forcedeth 0000:00:09.0: highdma csum vlan pwrctl mgmt gbit lnktim msi desc-v3 [ 3938.417202] forcedeth 0000:00:09.0: irq 30 for MSI/MSI-X [ 3938.417396] eth1: no link during initialization. (this is getting more urgent; I rebooted the machine and lost both network ports. Instead of dual-gigabit I'm running off an ancient PCI card. I'm willing to test/build/debug, but I need some input from those who understand the forcedeth code....) |
Re: Ethernet not working! (forcedeth)
Just to add on OpenSuse 11.0 I have a problem what the link starts flapping at random times. It has noting to do with the connection. Have tried to change port on switch.
Hardware Supermicro server nVidia MCP55 bridge rev a3. Forcedeth ver 0.61 from Open Suse. |
Re: Ethernet not working! (forcedeth)
I got the same problem (no link at init) on a shiny new Acer Revo (i.e. the Ion platform). Sometimes it gets a link, but usually it doesn't. Too bad.
|
Re: Ethernet not working! (forcedeth)
Code:
alias eth0 forcedethI couldn't get an IP address without repeatedly restarting the network a bunch of times, and never got an IP during boot, it just hung. The driver regression was reverted in 2.6.29.3 or .4 but still the default behavior seemed to be to remain powered off. What I posted above is from my 'forcedeth' file in /etc/modprobe.d folder. Notice the option "phy_power_down" option! It makes the NIC stay powered up during reboots etc.. Voila! Now it works perfect again, getting its IP from DHCP in a blink of an eye during boot. You can use either the 'modinfo' command, or look at the bottom of the forcedeth.c sourcecode, for all the parameters you can pass to the driver. Good luck; hope this helps. Sasha |
Re: Ethernet not working! (forcedeth)
Quote:
what means optimization_mode=2 ? I've looked to the sources (2.6.18, 2.6.24, 2.6.29) and found next: Code:
/* |
| All times are GMT -5. The time now is 09:32 AM. |
Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Copyright ©1998 - 2013, nV News.