Re: forcedeth as a module only?

From: Manfred Spraul
Date: Sat Jun 18 2005 - 07:55:00 EST


marvin24@xxxxxx wrote:

Hello Manfred,

I have an Asus K8N-E Deluxe (nForce3) and had problems with loosing network connection from time to time (every 30 minutes or so). The nic is NVENET_7 (see lspci). Adding the DEV_NEED_LINKTIMER workaround solved the problem for me.
What is this workaround doing?

The network hardware consists out of two parts:
- the PHY, which performs the physical encoding: basically a very smart digital/analog converter. It's a seperate chip on your board.
- the MAC (Media Access controller) does the rest: decide which packet to send/receive, verify the CRC, do the memory transfer to/from main memory, etc. This part is integrated into the nForce chipset.

The PHY detects the link partner and sets itself to the proper network speed. If the link partner changes, then the PHY reconfigures itself. The change can be a spurious change - bad cabling, too much electromagnetic noise, whatever. The driver must notice if the PHY did a reconfiguration and reconfigure the MAC. The driver can either wait for an interrupt, or poll the PHY once per second and ask if the link speed setting must be updated.
For me, interrupts work. But for some users, no interrupts are generated. I thought that nForce 3 generates interrupts and thus polling is only used for nForce 1/2.

Since I also heard of several people having such problems, why isn't this fix applied to all forcedeth devices?



I'll send a patch to Jeff.

Btw. Windows XP x86-64 has the same problem - but didn't found the source yet to patch ;-)



Interesting.

--
Manfred
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/