全志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*操作系統,適用于車載電子、電力、醫療、工業控制、物聯網、智能終端等領域 了解詳情