On Friday 19 June 2009 17:32:18 Jon Ringle wrote:
I loaded openwrt svn 16516 on my TEW-652BRP and noticed that I was getting
random MAC addresses assigned:
ar71xx: using random MAC address for eth0
ar71xx: using random MAC address for eth1
My investigation of this lead me to examine the following files:
target/linux/ar71xx/files/arch/mips/ar71xx/devices.c
target/linux/ar71xx/files/arch/mips/ar71xx/prom.c
target/linux/generic-2.6/files/arch/mips/fw/myloader/myloader.c
target/linux/generic-2.6/files/include/linux/myloader.h
dmesg reports the following message from prom.c and myloader.c:
prom: fw_arg0=0002, fw_arg1=8006040c, fw_arg2=,
fw_arg3=
MyLoader: sysp=ccc4fdcd, boardp=efbccce7, parts=cdedfcee
From the above, I can determine that myloader_get_info() will return null,
because the magic values read above don't match those in myloader.h:
snip from myloader.h
/* Myloader specific magic numbers */
#define MYLO_MAGIC_SYS_PARAMS 0x20021107
#define MYLO_MAGIC_PARTITIONS 0x20021103
#define MYLO_MAGIC_BOARD_PARAMS 0x20021103
end snip from myloader.h
snip from myloader.c
struct myloader_info * __init myloader_get_info(void)
{
struct mylo_system_params *sysp;
struct mylo_board_params *boardp;
struct mylo_partition_table *parts;
if (myloader_found)
return myloader_info;
sysp = (struct mylo_system_params *)(SYS_PARAMS_ADDR);
boardp = (struct mylo_board_params *)(BOARD_PARAMS_ADDR);
parts = (struct mylo_partition_table *)(PART_TABLE_ADDR);
printk(KERN_DEBUG MyLoader: sysp=%08x, boardp=%08x, parts=%08x\n,
sysp-magic, boardp-magic, parts-magic);
/* Check for some magic numbers */
if (sysp-magic != MYLO_MAGIC_SYS_PARAMS ||
boardp-magic != MYLO_MAGIC_BOARD_PARAMS ||
le32_to_cpu(parts-magic) != MYLO_MAGIC_PARTITIONS)
return NULL;
end snip from myloader.c
I opened https://dev.openwrt.org/ticket/5403 for this issue with some
additional info.
Jon
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel