DD-WRT 修改无线网络MAC地址

其实修改的也叫BSSID。

我使用的是EA6500v1,老古董,但是无线的客户端设备更老,以至于我没有什么高级需求。
由于版本的问题,原版rom只能看到36, 40, 44, 48 这几个频道的5 GHz网络。以至于很长一段时间都在被MBP的802.11d坑,只能找家没有Country Code或者为US的无线网络连一下,等MBP的Country Code匹配上,才能连上5 GHz网络。
由于各个国家、地区无线通信管制规则不同,可用于无线局域网,或者说WLAN/Wi-Fi,的频道可以参考Wikipedia的页面:https://en.wikipedia.org/wiki/List_of_WLAN_channels

刷上了DD-WRT之后,终于把5G频段释放出来了。但是这回发现Mac的无线网络诊断工具扫不出这个的5 GHz频道,虽然能连上,但是频道带宽也始终只有20 MHz。带宽的问题先放一边,先研究怎么把这个5 GHz的网络让扫描工具扫出来。

上DD-WRT的管理界面看了一下,发现5 GHz和2.4 GHz的无线网络MAC地址,或者叫BSSID,是一样的。于是尝试修改。

之前刚入了一个日版的RT-AC68U,也是锁了5 GHz的频道,刷了DD-WRT,改了CFE,刷回Merlin,再刷回官方固件,成功释放出所有的5G频道。
中间的细节有几个可以共享:
1 官方的rom可以开SSH,可以直接把CFE读出来,但是没有mtd命令,没法回写,所以只能刷DD-WRT。
2 DD-WRT的角色扮演完成后,我试图直接从DD-WRT刷回官方固件,失败,只能曲线救国走了Merlin。
3 刷了Merlin之后,应该是NVRAM没清空,导致刷回官方固件时,路由系统无线网络管理功能错乱,只看到5 GHz的网络,但是相应的管理功能却是2.4G的。清空NVRAM就好了。

回到EA6500。
最简单的思路,也可能是最直接的,就是直接改nvram,保存,重启路由。先看配置:

MAC地址有6组16进制数,总共48位。其中高24位,也就是前三组数,是用来标识设备厂商的,所谓的Organizationally Unique Identifier简称OUI。
Wireshark提供了一个很好用的页面查OUI,也可以下载txt自己查,https://www.wireshark.org/tools/oui-lookup.html
更权威的是IEEE提供的一个文件:http://standards-oui.ieee.org/oui.txt
C8:D7:19是我这个路由的前三组,查出来的结果是

尝试修改的命令如下:

很遗憾,重启后,又被恢复了。

第二招,ifconfig
命令很简单

因为ifconfig的时候,发现eth1和eth2都是一样的MAC,和无线的MAC地址匹配,所以就试试看。
改完不重启,执行ifconfig看效果,已生效。
再去看DD-WRT的Web界面,依旧。
但是重新扫描一次,发现多了5 GHz的热点多了一个,正是我要的。

为了保存设置,在DD-WRT的 Administration -> Commands,输入命令,Save Startup。
等效效果是,nvram里多了一条

gpio的命令是为了把路由灯点亮。

第三招,改Boot Loader,没试,不打算搞了。

DD-WRT 修改无线网络MAC地址 by @sskaje: https://sskaje.me/2015/08/dd-wrt-%e4%bf%ae%e6%94%b9%e6%97%a0%e7%ba%bf%e7%bd%91%e7%bb%9cmac%e5%9c%b0%e5%9d%80/

Incoming search terms: