平台:openwrt + QCA9561
方法1:
在rcS或者rc.local启动脚本中加入以下指令(适用于小批量的更改)
ifconfig NI hw ether xx:xx:xx:xx:xx:xx //NIC是网卡名称,xx是mac
方法二:
在对应网卡的network配置文件中加入(适用于小批量的更改)
option macaddr xx:xx:xx:xx:xx:xx
方法三:
高通无线相关的校准数据都是保存在openwrt的Flash的ART分区的,通过修改art中的mac地址对应区的内容从而修改mac
从启动时候的log中可以查看到flash的分区情况
Creating 6 MTD partitions on "spi0.0":
[ 0.690000] 0x000000000000-0x000000040000 : "u-boot"
[ 0.690000] 0x000000040000-0x000000050000 : "u-boot-env"
[ 0.700000] 0x000000050000-0x000000e80000 : "rootfs"
[ 0.700000] mtd: partition "rootfs" set to be root filesystem
[ 0.710000] mtd: partition "rootfs_data" created automatically, ofs=8D0000, len=5B0000
[ 0.720000] 0x0000008d0000-0x000000e80000 : "rootfs_data"
[ 0.730000] 0x000000e80000-0x000000ff0000 : "kernel"
[ 0.730000] 0x000000ff0000-0x000001000000 : "art"
[ 0.740000] 0x000000050000-0x000000ff0000 : "firmware"
[ 0.770000] ag71xx_mdio: probed
[ 0.890000] ag71xx_mdio: probed
[ 0.900000] eth0: Atheros AG71xx at 0xb9000000, irq 4
Qualcomm Atheros官方说明文档中对于ART分区的规定了MAC0也就是ETH0的MAC地址保存在0x0-0x5偏移地址 中,MAC1也就是ETH1的MAC地址保存在0x6-0xB偏移地址中,无线的MAC地址分别保存在0x1002-0x1008与 0x5002-0x5008偏移地址中。如果是单Radio设备,那么只有First Radio Calibration Data,如果是双Rad