QUOTE(monsieur D @ Oct 28 2007, 09:27 PM)

@MeDevil: thanks for the heads up. I wish you did that 2 days ago

Anyway, could you point me to what methods are responsible for the boot thing? I never had that problem, but since I am using this driver and had also produced my own "flavor" of it (to solve the backwards MAC problem), I'd like to know. Also, to avoid confusion, maybe we should only have one version of this driver (I don't mind removing mine from the thread)...
The source code is attached in my previous post.
Following, a list of change i've made to the original source code (the one in the first page of the post):
CODE
int memSize = NV_PCI_REGSZ;
if (deviceID == 0x03EF)
memSize = NV_PCI_REGSZ_VER3;
memCount = device->getDeviceMemoryCount();
for( i = 0; i < <b>memCount</b>; i++ ) {
mem = device->getDeviceMemoryWithIndex(i);
if( mem->getLength() >= memSize ) {
(file: forcedeth.cpp, line: 998)
CODE
if (deviceID == 0x03EF)
{
/* mac address is already in correct order */
macAddr.bytes[0] = (origMac[0] >> 0) & 0xff;
macAddr.bytes[1] = (origMac[0] >> 8) & 0xff;
macAddr.bytes[2] = (origMac[0] >> 16) & 0xff;
macAddr.bytes[3] = (origMac[0] >> 24) & 0xff;
macAddr.bytes[4] = (origMac[1] >> 0) & 0xff;
macAddr.bytes[5] = (origMac[1] >> 8) & 0xff;
}
else
{
macAddr.bytes[0] = (origMac[1] >> 8) & 0xff;
macAddr.bytes[1] = (origMac[1] >> 0) & 0xff;
macAddr.bytes[2] = (origMac[0] >> 24) & 0xff;
macAddr.bytes[3] = (origMac[0] >> 16) & 0xff;
macAddr.bytes[4] = (origMac[0] >> 8) & 0xff;
macAddr.bytes[5] = (origMac[0] >> 0) & 0xff;
}
(file: forcedeth.cpp, line: 1046)
CODE
wolEnabled = false;
if (deviceID == 0x03EF)
{
/* take phy and nic out of low power mode */
int powerstate = readRegister(NvRegPowerState2);
powerstate &= ~NVREG_POWERSTATE2_POWERUP_MASK;
writeRegister(NvRegPowerState2, (UInt32) powerstate);
}
txFlags = NV_TX2_VALID;
(file: forcedeth.cpp, line: 1086)
CODE
#define NVREG_POWERSTATE_D3 0x0003
NvRegPowerState2 = 0x600,
#define NVREG_POWERSTATE2_POWERUP_MASK 0x0F11
#define NVREG_POWERSTATE2_POWERUP_REV_A3 0x0001
(file: forcedeth.h, line: 187)
Also, i should notice you that i never got any kextd to work... (but i think that this is related to the powerstate...).
I'll be very happy if you take these mods and merge them into a future release of the forcedeth driver.
I just had to get my nic working asap (beacuse i didn't had a secondary pci eth) so i can concentrate on other projects
A final note: i used my device id to enable the nic, but other nforce nic uses the same powerstate method. A further look into the linux forcedeth driver can help you to understand what i mean
Best regards, Domenico.