闲言碎语 · 2022年2月25日 6

基于OpenWrt的mesh有线回程组网

北京租的房略大,且是南北长条型的,所以家里的网一直是客厅一个路由器,书房一个,且用的不同ssid,使用无线的时候略麻烦。于是查阅了一些资料,发现只要支持802.11k/v/r协议的话,其实就是mesh组网了,终端设备可以自动切换接入点。考虑了一下性价比,以及现有设备,从拼多多145一个购入了2台小米CR6608,支持wifi6,还能刷openwrt,这价格要啥自行车,不过听说这玩意儿最便宜的时候100一个。

红米AX6已经是openwrt了,刷机什么的就不说了,这里简单说下CR6608的刷机。

刷CR6608你需要一个openwrt且支持wifi的设备,AX6很麻烦,没有不死,就不折腾了,所以我用的是吃灰的树莓派3B+,随便找一个openwrt系统即可,得是纯净没做过设置的。

Step.1

下载此文件,并scp到树莓派上,执行即可,然后树莓派放在那里不用动。

Step.2

CR6608上电,通过有线或者无线连接都可以,管理地址应该是http://192.168.10.1,密码在设备的背面能看见,注意管理密码不是wifi密码。登录后,在url中能看到一串字符,以stok=开头的,记录下这个stok,然后替换下方黄色的部分后,依次访问以下两个地址。

http://192.168.10.1/cgi-bin/luci/;stok=968070a1eba205cccf7436ba6162e42c/api/misystem/extendwifi_connect?ssid=MEDIATEK-ARM-IS-GREAT&password=ARE-YOU-OK
http://192.168.10.1/cgi-bin/luci/;stok=968070a1eba205cccf7436ba6162e42c/api/xqsystem/oneclick_get_remote_token?username=xxx&password=xxx&nonce=xxx

第一个地址可能会时间长点,但最多不会超过1分钟,如果两次显示结果的code都是0则表示成功了。此时CR6608的ssh就打开了。

SSH地址192.168.10.1,账号是root,密码是管理密码,不是wifi密码。

Step.3

下载上面的文件,解压后scp到CR6608的/tmp下面

ssh [email protected] 进入后,执行

mtd write /tmp/pb-boot.img Bootloader
reboot

至此,CR6608的不死就刷好了。

进入pb-boot也很简单,只需要在路由器关机状态下按住reset键,插入电源,等待6秒,松开reset,浏览器登陆192.168.1.1即可。注意,这里需要通过有线链接才可以,如果访问不到,要自己手动设置电脑的ip为192.168.1.x网段的ip。

Step.4

https://github.com/anerg2046/openwrt-mini-auto-build/releases

可以从这里下载最新的固件,这是我自己做的精简版,记得要选择squashfs-factory.bin结尾的,上传后等灯变蓝了,就可以访问http://192.168.5.1看到openwrt了,账号root,密码password。注意,如果刚才手动设置过电脑ip,此时要改为自动获取。

自此,刷机全部完成。

Openwrt设置

因为我只拿openwrt做ap,所以首先,要删除dnsmasq,否则可能出现问题,因为同时编译的软件会用到这玩意儿,导致无法开机禁用。

然后进入网络-防火墙,删除所有规则,并且基本设置里全部允许

然后进入网络-接口,删除其他的,只保留lan

接下来修改lan的设置

我是有公网的,不需要ipv6,就不要了,根据各人需求,自行决定,我的主路由是r2s,也是openwrt,所以你设置一个同网段,不冲突的静态ip地址即可。此时仅点保存就好了,不要应用。

同样这个页面往下,忽略DHCP,同时ipv6的设置都设为禁用。

然后进入网络-无线,每个AP的信道可以设置为不同的,减少干扰

无线安全,设置如下,算法必须按图中的来,且每个ap都必须一致

移动域必须每个ap都一致,简单点,填4位数字即可,实际上是4位16进制字符。NAS ID,把上面你的BSSID去掉冒号填进来即可,也可以不要。

至此,设置完成,保存应用,即可。然后把路由器放到合适的位置,接电接网线就行了。