8139too.c patch to allow setting of MAC address to actually work.
PATCH 1/1 8139too.c patch to allow setting of MAC address to actually work.
This was gleaned from conversations with Donald Becker w/regard
to why: ifconfig eth1 hw ether a:b:c:d:e:f
fails to work with the RTL drivers.
This fixes the problem, at least on my machine:
(The new line has ### in front of it..)
8139too.c, line 1229, from kernel 2.4.prerelease:
/* Check that the chip has finished the reset. */ for (i = 1000; i > 0; i--) if ((RTL_R8 (ChipCmd) & CmdReset) == 0) break; /* Restore our idea of the MAC address. */ ### RTL_W8_F (Cfg9346, 0xC0); /* Fix provided by Becker */ RTL_W32_F (MAC0 + 0, cpu_to_le32 (*(u32 *) (dev->dev_addr + 0))); RTL_W32_F (MAC0 + 4, cpu_to_le32 (*(u32 *) (dev->dev_addr + 4)));
The 2.2.18 driver is broken too, but I think Donald is going to send the fixes for it.
Thanks,
Ben
Signature · 7 lines
Ben Greear ([email protected]) http://www.candelatech.com Author of ScryMUD: scry.wanfear.com 4444 (Released under GPL) http://scry.wanfear.com http://scry.wanfear.com/~greear - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] Please read the FAQ at http://www.tux.org/lkml/
Quoted 21 lines · Ben Greear
This was gleaned from conversations with Donald Becker w/regard
to why: ifconfig eth1 hw ether a:b:c:d:e:f
fails to work with the RTL drivers.This fixes the problem, at least on my machine:
(The new line has ### in front of it..)
8139too.c, line 1229, from kernel 2.4.prerelease:/* Check that the chip has finished the reset. */ for (i = 1000; i > 0; i--) if ((RTL_R8 (ChipCmd) & CmdReset) == 0) break; /* Restore our idea of the MAC address. */ ### RTL_W8_F (Cfg9346, 0xC0); /* Fix provided by Becker */ RTL_W32_F (MAC0 + 0, cpu_to_le32 (*(u32 *) (dev->dev_addr + 0))); RTL_W32_F (MAC0 + 4, cpu_to_le32 (*(u32 *) (dev->dev_addr + 4)));
Quoted 2 lines
The 2.2.18 driver is broken too, but I think Donald is going to send the fixes for it.
I have updated 8139too to include this and other changes. The new version can be downloaded from the SourceForge project page
(http://sourceforge.net/projects/gkernel/), and hopefully it should show up in a release kernel eventually...
Jeff
Signature · 7 lines
Jeff Garzik | "You see, in this world there's two kinds of Building 1024 | people, my friend: Those with loaded guns MandrakeSoft | and those who dig. You dig." --Blondie - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] Please read the FAQ at http://www.tux.org/lkml/