MTK MAC eeprom 规则

MAC地址规则如下:
wlan0为2.4G,wlan1为 5G
wlan0 产测写
Lan=wlan0
wan=wlan0+1
wlan1=wlan0+4

MTK7620为例

1、MAC地址的修改(跟SDK类似)
查看MAC地址,MAC地址存储在eeprom中,Factory(mtd3)分区;

root@OpenWrt:/# cat /proc/mtd 
dev:    size   erasesize  name
mtd0: 00800000 00010000 "ALL"
mtd1: 00030000 00010000 "Bootloader"
mtd2: 00010000 00010000 "Config"
mtd3: 00010000 00010000 "Factory"
mtd4: 007b0000 00010000 "firmware"
mtd5: 0068d359 00010000 "rootfs"
mtd6: 00270000 00010000 "rootfs_data"

位置
#define LAN_OFFSET    0x28
#define WAN_OFFSET    0x2E
#define W24_OFFSET    0x04
#define W58_OFFSET    0x8004  //mt7610/mt7612/


root@OpenWrt:/# iwpriv ra0 e2p
ra0       e2p:
[0x0000]:7620  [0x0002]:0105  [0x0004]:55B8  [0x0006]:0010  
[0x0008]:4000  [0x000A]:FFFF  [0x000C]:FFFF  [0x000E]:FFFF  
[0x0010]:FFFF  [0x0012]:FFFF  [0x0014]:FFFF  [0x0016]:FFFF  
[0x0018]:FFFF  [0x001A]:FFFF  [0x001C]:FFFF  [0x001E]:FFFF  
[0x0020]:FFFF  [0x0022]:FFFF  [0x0024]:FFFF  [0x0026]:FFFF  
[0x0028]:0C00  [0x002A]:7643  [0x002C]:7720  [0x002E]:0C00  
[0x0030]:7643  [0x0032]:6620  [0x0034]:0C22  [0x0036]:C004  
[0x0038]:FFFF  [0x003A]:016E  [0x003C]:7755  [0x003E]:AAA8  
[0x0040]:888C  [0x0042]:FFFF  [0x0044]:000A  [0x0046]:0000  
[0x0048]:0000  [0x004A]:0000  [0x004C]:0000  [0x004E]:FFFF  
[0x0050]:FFFF  [0x0052]:0C0C  [0x0054]:0C0C  [0x0056]:0D0D  
[0x0058]:0D0D  [0x005A]:0E0D  [0x005C]:0E0E  [0x005E]:0F0F  
[0x0060]:1414  [0x0062]:1514  [0x0064]:1515  [0x0066]:1616  
[0x0068]:1716  [0x006A]:1717  [0x006C]:1818  [0x006E]:FF80  
[0x0070]:FFFF  [0x0072]:FF80  [0x0074]:FFFF  [0x0076]:0000  

修改MAC地址

iwpriv ra0 e2p 4=55B8
iwpriv ra0 e2p 6=9010
iwpriv ra0 e2p 8=4010

iwpriv ra0 e2p 28=55B8
iwpriv ra0 e2p 2A=9010
iwpriv ra0 e2p 2C=4010

iwpriv ra0 e2p 2E=55B8
iwpriv ra0 e2p 30=9010
iwpriv ra0 e2p 32=4110

可以直接通过上述命令把需要的MAC地址全部写入,
但是测试部通过QA工具只写入WLAN_2.4的MAC,其他需要我们的程序自动Fix
在target/linux/ramips/base-files/etc/uci-defaults/02_network中对lan_MAC wlan_MAC进行比较,不一样就Fix;(目前代码已做处理)


修改MAC地址方法2(无线还是需要采用上述的方式)

root@OpenWrt:/# eth_mac 
How to use:
        read:   eth_mac r <lan|wan>
        write:  eth_mac w <lan|wan> <MACADDR[0]> <MACADDR[1]> ...
root@OpenWrt:/# 

eth_mac w lan F4 28 53 FB 8D 29
eth_mac w wan F4 28 53 FB 8D 30

恢复出厂后,LAN,WAN MAC写入network的实现代码:
target/linux/ramips/base-files/etc/uci-defaults/02_network
注意:必须是恢复出厂状态才会执行uci-defaults下的脚本;


2、对eth_mac进行扩展,新增了cs_ethmac工具,默认写入基准wlan MAC地址;
其他MAC按规则自动匹配设置;
恢复出厂后,即可生效;


本文章由作者:佐须之男 整理编辑,原文地址: MTK MAC eeprom 规则
本站的文章和资源来自互联网或者站长的原创,按照 CC BY -NC -SA 3.0 CN协议发布和共享,转载或引用本站文章应遵循相同协议。如果有侵犯版权的资 源请尽快联系站长,我们会在24h内删除有争议的资源。欢迎大家多多交流,期待共同学习进步。

相关推荐