Re: [OpenWrt-Devel] random MAC addresses on TEW-652BRP

2009-06-22 Thread Jon Ringle
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


[OpenWrt-Devel] random MAC addresses on TEW-652BRP

2009-06-19 Thread Jon Ringle
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 

Jon
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel