全志T507如何在Android系统下固定MAC地址
本文硬件平台采用飞凌T507开发板,主要讲解T507 如何在Android系统下固定MAC地址,本文使用的思路和方法仅供参考使用,其它arm开发板虽然芯片不同,但思路和方法有很多的共性,希望对您在板卡的使用中能够有所帮助,更多ARM开发板相关资讯,关注飞凌嵌入式。
一、T507问题描述
全志T507板卡每次重新烧录Android系统两个网口的MAC地址都会改变,可以通过cpu串号计算出T507的两个MAC地址,这样可以保证MAC固定不变且不重复。
二、T507固定MAC地址修改方法
1、修改sunxi-gmac.c
路径:/OKT507-android-source/longan/kernel/linux-4.9/drivers/net/ethernet/allwinner/sunxi-gmac.c
·添加头文件
·修改随机生成MAC的部分,将函数geth_check_addr复制一份,分别将两个函数修改成geth_check_addr0和geth_check_addr1,修改内容如下
·此处分别添加0和1
2、修改etherdevice.h
路径:/OKT507-android-source/longan/kernel/linux-4.9/include/linux/etherdevice.h
·添加头文件
·箭头处的路径为绝对路径,要根据自己的实际情况修改。
·添加计算MAC地址的内容
static inline int gmac0_mac_from_cpu_serial(u8 *gaddr)
{
u32 inbuf[16]={0};
u32 outbuf[4]={0};
int ret;
ret = sunxi_get_serial((u8 *)inbuf);
printk("************Seria_forlinxl\t\t: %04x-----%08x-----%08x\n",inbuf[2], inbuf[1], inbuf[0]);
md5_transform(outbuf, inbuf);
printk("************Serial_md5_output\t\t: %08x-----%08x-----%08x\n",outbuf[0],outbuf[1],outbuf[2]);
gaddr[0] = (outbuf[0] >> 24) & 0xfe;/* clear multicast bit */
gaddr[1] = (outbuf[0] >> 16) | 0x02;/* set local assignment bit (IEEE802) */
gaddr[2] = outbuf[0] >> 8;
gaddr[3] = outbuf[0];
gaddr[4] = outbuf[1] >> 24;
gaddr[5] = outbuf[1] >> 16;
return 0;
}
static inline int gmac1_mac_from_cpu_serial(u8 *gaddr)
{
u32 inbuf[16]={0};
u32 outbuf[4]={0};
int ret;
ret = sunxi_get_serial((u8 *)inbuf);
printk("************Seria_forlinxl\t\t: %04x-----%08x-----%08x\n",inbuf[2], inbuf[1], inbuf[0]);
md5_transform(outbuf, inbuf);
printk("************Serial_md5_output\t\t: %08x-----%08x-----%08x\n",outbuf[0],outbuf[1],outbuf[2]);
gaddr[0] = (outbuf[1] >> 8) & 0xfe;/* clear multicast bit */
gaddr[1] = outbuf[1] | 0x02;/* set local assignment bit (IEEE802) */
gaddr[2] = outbuf[2] >> 24;
gaddr[3] = outbuf[2] >> 16;
gaddr[4] = outbuf[2] >> 8;
gaddr[5] = outbuf[2];
return 0;
}
本文硬件平台采用飞凌T507开发板,主要讲解T507 如何在Android系统下固定MAC地址,本文使用的思路和方法仅供参考使用,其它arm开发板虽然芯片不同,但思路和方法有很多的共性,希望对您在板卡的使用中能够有所帮助,更多ARM开发板相关资讯,关注飞凌嵌入式。
相关产品 >
-
OKT507-C 开发板
CPU: T507 工业级处理器,超低功耗,10年+生命周期|推荐全志工业级T507开发板系列,飞凌OKT507-C开发板采用全志T507 四核工业级处理器 T507设计开发,Cortex-A53架构,工业级宽温,性能强,低功耗,是一款高性价比的工业级产品,提供丰富的开发设计资料,提供产品规格书,软硬件手册等,全志的T507适用于车载电子、电力、医疗、工业控制、物联网、智能终端等领域。
了解详情 -
FETT507-C核心板
推荐T507,全志T507核心板采用工业级处理器设计开发,提供T507规格书,T507各类设计资料。FETT507-C核心板集成全志T507四核工业级处理器设计开发,Cortex-A53架构,主频1.5GHz,集成G31 GPU,内存2GB DDR3L,存储8GB eMMC。整板工业级运行温宽,支持绝大部分当前流行的视频及图片格式解码,具有稳定可靠的工业级产品性能、低功耗以及丰富的用户接口等优势,搭载Linux、Android、Ubuntu*操作系统,适用于车载电子、电力、医疗、工业控制、物联网、智能终端等领域 了解详情