Hi all,

On Sat, Jun 01, 2013 at 02:23:31PM +0200, Stefan Tauner wrote:
> I'd love to know the outcome of the stuff below...

This is a known issue on mcp55-based boards. That chipset stores the mac
address in the rom image.

A long time ago I wrote a script to change the mac address in a (coreboot)
mcp55 rom image. I've attached it. I assume it would still do the right
thing, but I have not tried it for a long time.

Thanks,
Ward.

-- 
Ward Vandewege             | CTO, Free Software Foundation
GPG Key: 25F774AB          | http://status.fsf.org/ward
http://fsf.org/blogs/RSS   | http://identi.ca/cure

Do you use free software? Donate to join the FSF and support freedom at
         http://www.fsf.org/register_form?referrer=859
#!/usr/bin/perl
#
# Update the onboard NIC mac address in a coreboot rom image for mcp55-based boards
#
# This program is free software (GPLv2 or higher).
#
# 2008-01-30 Ward Vandewege ([email protected])

my $mac = $ARGV[0];
my $file = $ARGV[1];

if (($mac eq '') or ($file eq '')) {
	print "\nSyntax: $0 <mac address> <rom image>\n";
	exit 1;
}

if (! -f $file) {
	print "\nSyntax: $0 <mac address> <rom image>\n";
	print "\nERROR: Could not find file '$file'.\n\n";
	exit 1;
}

if (!($mac =~ /^[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}$/)) {
	print "\nSyntax: $0 <mac address> <rom image>\n";
	print "\nERROR: The mac address you specified ($mac) is not a valid mac address.\n\n";
	exit 1;
}

my @mac = split(/:/,$mac);

my $newmac = '';

for (my $c = 5; $c >= 0; $c--) {
	$newmac .= chr(hex($mac[$c]));
}

open(ROMIMAGE,"+<",$file) or die "Can't open file $file for writing\n";
seek(ROMIMAGE,-48,2);

print ROMIMAGE $newmac;
close(ROMIMAGE);

print "Mac address succesfully updated to $mac in $file\n";
exit 0;


_______________________________________________
flashrom mailing list
[email protected]
http://www.flashrom.org/mailman/listinfo/flashrom

Reply via email to