Network not functional after suspend (forcedeth)

I have a GA-M61PM-S2 board running openSuse 10.3 using the onboard ethernet controller with the forcedeth 0.60 driver. The system has been working great for a couple years and this week I decided to try to get suspend-to-ram working due to a huge jump in our electric bill.

Kernel is
BIOS is F9c and power management is using S3.

Suspend/resume works fine using pm-suspend except for the network. After resuming, ifconfig shows eth0 is fine, no errors in the s2ram log or syslog, but network is not functional, no traffic in or out. Reloading the forcedeth module doesn’t help.

Suspending multiple times doesn’t change anything, and I found no evidence of the MAC address being backwards like I found in several google results.

I tried both patches I found for the reverse-MAC problem with no change in the problem, and also did my own regression patch for that issue from forcedeth 0.61 from the 2.6.26 kernel source.

I’m not sure if this is purely a driver issue or a problem with the hardware controller or BIOS, but I’m hoping there is a solution other than switching to another ethernet adapter that doesn’t have this issue.

As an aside, it would be nice if 10.3 had a newer version of forcedeth available, it seems there have been a lot of fixes since January 2007. This driver supports a lot of common chipsets. :slight_smile:

I think that I have to deal with the same problem: I’ve a GA-K8NS Ultra-939 motherbord (by Gigabyte) with the Nforce3 chipset. And I am running OpenSuse 11.0 (Kernel, forcedeth version 0.60).

Suspending it and resuming it I found the network nomore working, though ifconfig told me that eth1 (forcedeth) was up.

Fortunately, my motherboard provides a second ethernet controller, independent from the Nforce chipset, it’s a Marvel 8001 ethernet chip (driven by skge). Having configured it, after suspending and resuming my box, I found the network working well.

I confess that this is a very easy way to escape from the problem, but perhaps it’s a hint that the suspend problem bears on the forcedeth driver.:slight_smile:

Try restarting your network with ‘rcnetwork restart’ after resuming. See how that goes. If you can nail down the problem by issuing a few commands from a root console, then it will be possible to add a script to automate the network restart process. You can add a script to /etc/pm/sleep.d/ as described here.