標(biāo)題: iTOP-iMX6開發(fā)板-Android4.4-設(shè)置MAC地址 [打印本頁]
作者: keylududt 時(shí)間: 2018-7-25 10:28
標(biāo)題: iTOP-iMX6開發(fā)板-Android4.4-設(shè)置MAC地址
本文檔介紹如何簡易修改迅為- iMX6 開發(fā)板 Android4.4 系統(tǒng)的 MAC 地址,在網(wǎng)絡(luò)通信中, 會(huì)用到 MAC 地址,開發(fā)板源碼中默認(rèn)的 MAC 地址全部一樣,這樣會(huì)引起沖突,導(dǎo)致網(wǎng)絡(luò)通 信故障。
iMX6 的 uboot 和 kernel 源碼中默認(rèn)帶有通過環(huán)境變量設(shè)置 MAC 地址的源碼,只需要 簡單修改,即可添加上設(shè)置 MAC 地址功能。另外請(qǐng)注意,如果 MAC 地址不合法,在內(nèi)核代碼中會(huì)糾正,導(dǎo)致設(shè)置的 MAC 地址和系 統(tǒng)啟動(dòng)之后的 MAC 地址不一樣。
1.uboot 源碼修改uboot uboot 源碼在源碼包解壓得到文件夾“bootable/bootloader/uboot-imx”下,進(jìn)入目 錄使用命令“vim lib_arm/board.c”打開文件。
uboot 在“stdio_init (); /* get the devices list going. */”這一行代碼下添加調(diào)用獲取 MAC 地址的環(huán)境變量的函數(shù),如下圖所示。
news2018072501.png (137.56 KB, 下載次數(shù): 31)
下載附件
2018-7-25 10:26 上傳
修改之后的源碼如下:
//add by rty 20180724
eth_initialize(gd->bd);
//add end
保存“l(fā)ib_arm/board.c”退出。
然后使用命令“vim drivers/net/mxc_fec.c”打開文件,如下圖所示,將“static int fec_get_hwaddr(struct eth_device *dev, unsigned char *mac)”修改。
news2018072502.png (149.27 KB, 下載次數(shù): 34)
下載附件
2018-7-25 10:26 上傳
修改之后的代碼如下:
news2018072503.png (47.26 KB, 下載次數(shù): 37)
下載附件
2018-7-25 10:26 上傳
保存退出,uboot 就可以獲取環(huán)境變量中的 ethaddr 參數(shù)。
2.kernel 源碼修改
kernel 源碼在源碼包解壓得到文件夾“kernel_imx”下,進(jìn)入目錄使用命令“vim arch/arm/mach-mx6/mx6_fec.c”打開文件。
如下圖所示,將“void __init imx6_init_fec(struct fec_platform_data fec_data)”函 數(shù)修改。
news2018072504.png (143.39 KB, 下載次數(shù): 36)
下載附件
2018-7-25 10:26 上傳
修改之后的源碼如下:
news2018072505.png (55.27 KB, 下載次數(shù): 38)
下載附件
2018-7-25 10:26 上傳
3.測(cè)試
編譯代碼,燒寫鏡像,進(jìn)入 uboot 模式,如下圖所示,使用命令“printenv”,可以查 閱到環(huán)境變量“ethaddr=22:33:56:18:89:67”,默認(rèn)的 MAC 地址是“22:33:56:18:89:67”。
news2018072506.png (152.97 KB, 下載次數(shù): 36)
下載附件
2018-7-25 10:26 上傳
重啟之后,進(jìn)入 android,在控制臺(tái)使用命令“ip link show”,如下圖所示。這個(gè) MAC 地址和 uboot 設(shè)置的地址相同。
news2018072507.png (78.54 KB, 下載次數(shù): 51)
下載附件
2018-7-25 10:26 上傳
重啟開發(fā)板,進(jìn)入 uboot 模式,然后使用命令“setenv ethaddr 00:11:22:33:44:55”重 新設(shè)置 MAC 地址,接著使用“saveenv”命令保存環(huán)境變量,如下圖所示。
news2018072508.png (76.35 KB, 下載次數(shù): 40)
下載附件
2018-7-25 10:26 上傳
如下圖所示,在 uboot 中使用命令“printenv”,MAC 地址在 uboot 環(huán)境變量中設(shè)置 為“ethaddr=00:11:22:33:44:55”
news2018072509.png (146.07 KB, 下載次數(shù): 42)
下載附件
2018-7-25 10:26 上傳
重啟開發(fā)板,進(jìn)入 android 系統(tǒng),再次使用“ip link show”命令查閱 MAC 地址,如下 圖所示,MAC 地址已經(jīng)修改過來了。
news2018072510.png (101.45 KB, 下載次數(shù): 48)
下載附件
2018-7-25 10:26 上傳
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |