diff options
-rw-r--r-- | board/thead/light-c910/light.c | 34 |
1 files changed, 13 insertions, 21 deletions
diff --git a/board/thead/light-c910/light.c b/board/thead/light-c910/light.c index 48fd41a9..88ddbdfc 100644 --- a/board/thead/light-c910/light.c +++ b/board/thead/light-c910/light.c @@ -1867,45 +1867,37 @@ static void light_usb_boot_check(void) #endif run_command("env default -a -f", 0); - run_command("env save", 0); + env_save(); run_command("run gpt_partition", 0); run_command("fastboot usb 0", 0); } static void light_mac_vaild_check(void) { - uchar env_enetaddr[6]={0}; - uchar env_enet1addr[6]={0}; + uchar env_enetaddr[6]; + uchar env_enet1addr[6]; int env_ethaddr_flag,env_eth1addr_flag; /*Get this version ethaddr(mac addr) env,which follows one board, trans to next version env*/ env_ethaddr_flag = eth_env_get_enetaddr_by_index("eth", 0, env_enetaddr); env_eth1addr_flag = eth_env_get_enetaddr_by_index("eth", 1, env_enet1addr); - /*If mac addr in last version env is valid, before save,inherit env mac addr */ - if(env_ethaddr_flag){ - eth_env_set_enetaddr_by_index("eth", 0, env_enetaddr); - run_command("printenv ethaddr",0); - }else{ + if (!env_ethaddr_flag || !env_eth1addr_flag) { net_random_ethaddr(env_enetaddr); + if (env_enetaddr[5] == (uchar)(0xff)) { + env_enetaddr[5] = 0xfe; + } eth_env_set_enetaddr_by_index("eth", 0, env_enetaddr); env_enetaddr[5] += 0x01; eth_env_set_enetaddr_by_index("eth", 1, env_enetaddr); - //printf("env ethaddr not exist or invalid\n"); - printf("use random addr as fixed mac addr\n"); + printf("Use random addr as fixed mac addr\n"); + env_save(); } - if(env_eth1addr_flag){ - eth_env_set_enetaddr_by_index("eth", 1, env_enet1addr); - run_command("printenv eth1addr",0); - }else{ - net_random_ethaddr(env_enet1addr); - eth_env_set_enetaddr_by_index("eth", 1, env_enet1addr); - env_enet1addr[5] -= 0x01; - eth_env_set_enetaddr_by_index("eth", 0, env_enet1addr); - //printf("env eth1addr not exist or invalid\n"); - printf("use random addr as fixed mac addr\n"); - } + printf("ethaddr: %s\n", env_get("ethaddr")); + printf("eth1addr: %s\n", env_get("eth1addr")); + + return; } int board_late_init(void) |