首页 文章

在OpenWrt Chaos Calmer 15.05.1中更改wifi接口的MAC地址

提问于
浏览
-1

我已经配置了一个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 回答

  • 1

    您可以查看“art”分区中的校准数据 . 如果您的MAC地址存储在其中,则可以更改它 .

    root@OpenWrt:/# cat /proc/mtd 
    dev:    size   erasesize  name
    mtd0: 00030000 00010000 "u-boot"
    mtd1: 00fc0000 00010000 "firmware"
    mtd2: 00120000 00010000 "kernel"
    mtd3: 00ea0000 00010000 "rootfs"
    mtd4: 00c60000 00010000 "rootfs_data"
    mtd5: 00010000 00010000 "art"
    

    所以我的是 /dev/mtd5 . 现在我将检查里面的校准数据

    cat /dev/mtd5 > art.img
    hexdump art.img
    

    我的wifi MAC地址是04:F0:21:07:7C:EC . 运行hexdump art.img后显示

    0001000 0202 04f0 2107 7cec 0020 2020 0030 6530
    

    我需要使用软件应用程序来修改art.img,将“04f0 2107 7cec”更改为新的MAC地址

    然后最后一步是:将编辑过的art.img复制到/ dev / mtd5

    cat art.img > /dev/mtd5
    
  • 1

    谢谢您的帮助 .

    似乎对于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是原始闪存安装位置

相关问题