K2P的继任者 98元的7621+7615无线路由器 蒲公英X3A
折腾过程
故事背景
我所在的学校校园网ipv4流量收费,ipv6流量免费。所以寒假的时候我在家里搭了一个代理服务器做46转换,在学校通过ipv6连接到家里,用家里的宽带上网。
以前我用的路由器是华硕的RT-AC1200,百兆接口,MT7628方案。这个路由器适配的第三方固件很少,只有一个毛子适配的padavan,功能很少。因此二月份的时候我给它适配了OpenWrt固件,但是后来我发现这个路由器的性能实在太差了,在5.10的内核下跑酸酸乳只能跑到15M;而我用的家宽上传速率大概是50M,实在太浪费了。因此我就想买一个MT7621方案的路由器在学校跑酸酸乳客户端用。
邂逅蒲公英X3A
上课摸鱼的时候,发现张大妈上有人发了蒲公英X3A这个路由器,看上去好像是MT7621方案的,才98元,比二手的K2P还要便宜,于是就想入手一个玩玩。可是官网和商品页面没有任何关于处理器方案的描述,只说是“双核四线程”;问客服也说“不方便告知”。还好最后恩山上的人说确定是7621方案的路由器,于是我立即跑去某东下单。
第二天,东西就到手了;包装很简约,路由器的造型也是中规中矩,唯一比较特殊的地方就是天线立起来之后不是垂直于桌面的,而是有一个角度。
寻找漏洞
东西到手之后,很快我就通电进后台浏览。短暂的寻找后发现,这个路由器的固件是完全锁死的,不存在任何手动上传固件的方法;而且只要联网,它就会自动更新到官网最新的固件。telnet和ssh也毫无意外是锁死的。
官方固件的功能很有限,甚至连ipv6都不支持。这大概是因为这个路由器大多数人买来是用来做内网穿透和组网的,不需要太多路由器的功能;而我纯是冲着7621来的。
那怎么办呢,难道只能拆机用ttl线刷机,或者用编程器直接写入闪存芯片了吗?我本来都打算在淘宝下单工具了,可是一想,拆机了就等于放弃了京东的保修,于是决定等吃完饭再找找。
饭后,我又找了一遍设置,发现了系统日志,从中知道了这个路由器跑的是Q-WRT固件,是一个OpenWrt的改版。我又浏览了一遍后台选项,发现了备份路由器设置的地方。于是我研究了一下下载下来的备份文件,找到了一下config文件,在里面发现了设置ssh开关的地方。
把ssh的选项从0改成1后,我上传了备份文件。在路由器重启之后,ssh成功解锁。
险些翻车
成功解锁ssh之后,我迅速把可能用到的东西都导出出来备用。
这个路由器用的是u-boot引导器,我打算先刷个bootloader,然后再折腾固件。我找了一个reset键和其他配置都一样的路由器的型号的breed,可惜刷进去后无法识别闪存型号。这个路由器的闪存是XMC的TLC spi-nor闪存,可能牌子比较小众,所以breed没有适配。无法识别闪存型号就无法引导系统,也无法刷回原来的bootloader,似乎陷入了一个死循环。难道刚买来的路由器就要7天无理由了吗?
在读了一下breed的说明后,我发现breed可以用wget从http文件服务器上下载固件载入内存,然后从内存启动。于是我试了一下,可是试了几次都发现貌似是进系统了,可是却一直无法通过DHCP获取到ip地址;手动指定ip地址,也无法进入路由器的后台。正当我打算申请退货的时候,突然柳暗花明又一村地发现wifi列表中有这个花生壳路由器的ssid。于是我通过wifi连上了路由器,进入ssh刷回了原厂的bootloader(幸好刚才备份了),成功救回了路由器。
适配OpenWrt
由于路由器本来跑的固件就是一个OpenWrt的fork,很容易逆向工程写一个dts文件。只要知道LED灯的GPIO针脚号、分区表以及MAC地址等信息,就可以写了。写好之后,我迅速编译了一个固件,完美适配。随后我又加入了自己需要的功能,然后就很开心的开始使用了。目前用了一周多,一切稳定,非常满意。
简易教程
解锁SSH
1.1 电脑浏览器设置成自动IP,浏览器打开http://10.168.1.1/cgi-bin/luci。密码是'admin'。
1.2 点击"备份且导出"按钮,下载配置文件。
1.3 用7zip打开下载好的文件,进入'/etc/config/'目录。
1.4 编辑这个目录下的'system'文件,把"config sys 'ssh'"下的'0'改成'1'。
1.5 一路保存退出。
右击"system"文件,会弹出菜单,点击“编辑”,改好后ctrl+s保存,然后关闭记事本窗口。
然后会弹出窗口提示“文件system已修改,你想在压缩文件中更新它?”,选确定。
然后关闭这个7zip窗口,会弹出窗口提示“文件XXX已修改,你想在压缩文件中更新它?”,选确定。1.6 在刚才的浏览器页面,点击"导入且恢复"按钮。上传文件,稍后路由器会自动重启,重启后ssh解锁成功。
1.6 在刚才的浏览器页面,点击"导入且恢复"按钮。上传文件,稍后路由器会自动重启,重启后ssh解锁成功。
刷入OpenWRT固件
2.1 用scp把固件包上传到路由器的'/tmp/'路径,地址是10.168.1.1,用户名是'root',密码是'admin'。
2.2 通过SSH进入路由器,地址、用户名和密码同上。
2.3 **重要** 输入命令'dd if=/dev/mtd3 of=/tmp/firmware.bin',把原厂固件备份下来。蒲公英的官网不提供固件下载,所以这一定要自己备份原厂固件。
2.4 **同样重要** 用scp把备份好的固件下载下来。下载完最好用winhex看一下,或者再备份一次然后对比MD5,防止原厂固件损坏。
2.5 输入命令'mtd write /tmp/XXX.bin firmware',刷入固件。
2.6 刷写完毕后,确认没有问题,可以输入'reboot'重启。
如何恢复原厂固件
同上,通过SSH把原厂固件刷入。
固件下载
在Github PR被merge之前,可以通过openwrt上pr#9457中的内容编译固件。
总结
体验还算满意,很容易就完成了第三方固件的适配,用起来也很舒服。
和很热门的K2P完全同样的配置,MT7621的soc和MT7615的无线芯片,都是AC1200,X3A全新的价格却比很多二手K2P还要低,性价比很高。可能是市面上最便宜的来路正常的全新MT7621路由器,如果不需要160MHz频宽或者1733MHz的5G速率的话,比爆款红米AC2100能省几十块钱。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
买侠
校验提示文案
值友2894338113
校验提示文案
值友8986925615
校验提示文案
平平淡淡每一天
校验提示文案
不过清风烈酒
校验提示文案
biAji
张大妈有这种作者实在是张大妈的荣幸
校验提示文案
值友3306447371
去看看
校验提示文案
雾里看花76
校验提示文案
aldadao
校验提示文案
值友5045663651
校验提示文案
在你的头上自由的飞翔
校验提示文案
等等党的胜利biu
校验提示文案
沙鱼哥z
校验提示文案
从来没中过奖
校验提示文案
可乐狗狗
校验提示文案
可乐狗狗
校验提示文案
从来没中过奖
校验提示文案
沙鱼哥z
校验提示文案
平平淡淡每一天
校验提示文案
值友8986925615
校验提示文案
雾里看花76
校验提示文案
biAji
张大妈有这种作者实在是张大妈的荣幸
校验提示文案
等等党的胜利biu
校验提示文案
在你的头上自由的飞翔
校验提示文案
值友5045663651
校验提示文案
值友2894338113
校验提示文案
值友3306447371
去看看
校验提示文案
不过清风烈酒
校验提示文案
买侠
校验提示文案
aldadao
校验提示文案