我已经配置了一个OpenWrt(让它叫它子)从sd卡启动,其中固件和软件从另一个OpenWrt重新映像(让我们称之为制造商),如下所示:http://labs.mediatek.com/forums/posts/list/3619.page#p7191.
一切正常,除了孩子和制造商的wlan接口显示相同MAC地址的问题,制造商之一 . 因此,如果两者都处于AP模式,我只能连接其中一个 .
我试过在'wifi-device','wifi-iface'中给'macaddr'选项,但没有任何作用 . 我也尝试使用命令设置硬件地址:
ifconfig ra0 hw ether 'XX:XX:XX:XX:XX:XX'
但这给了我错误
ifconfig: SIOCSIFHWADDR: Operation not supported
我可以看到从中挑选出的mac地址
/ sys / class / net / ra0 / address
其中ra0是接口名称,但它是一个只读文件,并且不在SD卡上(至少具有给定路径)
父级的mac地址必须在sd卡上,但无法使用grep atleast找到它 .
所以我很感激这里的任何帮助,无论是更改SD卡后成像的地址还是在系统启动时覆盖它 .
谢谢
2 回答
您可以查看“art”分区中的校准数据 . 如果您的MAC地址存储在其中,则可以更改它 .
所以我的是 /dev/mtd5 . 现在我将检查里面的校准数据
我的wifi MAC地址是04:F0:21:07:7C:EC . 运行hexdump art.img后显示
我需要使用软件应用程序来修改art.img,将“04f0 2107 7cec”更改为新的MAC地址
然后最后一步是:将编辑过的art.img复制到/ dev / mtd5
谢谢您的帮助 .
似乎对于mediatek linkit 7688,MAC存储在/ dev / mtd2中 . 理想情况下,这是一个ROM分区,在从SD卡或原始闪存启动时不应受到影响 .
但我发现在启动时它会在/lib/firmware/mt7628.eeprom文件下缓存相同的文件,该文件也会在从链接准备SD卡时被复制 .
因此,当我从SD卡启动第二个链接时,它将第一个链接缓存视为其自己的/ dev / mtd2缓存,从而解决了问题 .
要解决此问题,请在准备好sd卡映像后,删除文件/mnt/upper/lib/firmware/mt7628.eeprom并为/overlay-boot/upper/lib/firmware/mt7628.eeprom创建一个符号链接,其中/ mnt为SD卡安装位置和overlay-boot是原始闪存安装位置