最近入坑了 openwrt,为了一些插件和校园网的需求,新购入了红米 AC2100,使用体验:“真香”

背景

随着群友陆陆续续上了软路由,一些插件和脚本还是挺让人眼馋,想想也算刚需了吧。去年在供需群购入了一个大佬帮忙刷好的斐讯 k2,为了解决校园网最多只能连接两个设备数的问题,还购入了一个小米的WiFi 智能插座,来解决经常去实验室前忘记关掉路由器的问题(因为路由器需要占用一个连接数)。这次购入红米 AC2100 后自己刷入 openwrt,刷入的固件中有更多自带的插件,淘汰掉了之前的斐讯 k2,于是我的校园网使用体验变成了这样

在外出之后通过手机关闭 WiFi 智能插座来达到关闭路由器的目的(减少校园网设备数占用),回到寝室按一下开关打开路由器等待加载完成各个设备即可立即使用

使用体验

为啥要刷路由器,当然是有需求的,由于主要使用三个插件

  • 锐捷插件(支持校园网多设备)
  • 网易云插件(解锁灰色歌曲)
  • 广告屏蔽大师 Plus+(屏蔽广告)

网易云插件和广告屏蔽插件都是大佬编译的固件里面自带的,就不过多赘述了
锐捷插件直接使用了一个 github 编译好的 mentohust 执行程序,具体使用方法在刷机流程的 mentohust 中介绍

在使用过程中也有一些缺点:

  1. 开机时间略长。大概需要 1 分钟左右,感觉可能是插件比较多,第一次加载时间有点长
  2. 红米 AC2100 颜值相对较低,6 根天线展开有种盘根错节之感,相比小米 AC2100 有些差距,两者固件挺多通用,硬件有少许差异,小米颜值价格更高,红米在性价比略胜一筹
  3. 网易云批量下载歌曲会有问题,可以在线播放,试听缓存完成下载的勾勾就会亮,也可以离线播放了,不过有时候加载时间可能稍长(几秒到十几秒)

下面是小米官网价格,一般还能便宜 10 元
 

刷机流程

由于有了“丰富”的重装系统以及安卓刷机的经验,在路由器方面也是轻车熟路(当然感谢大佬们无偿提供编译好的固件和详细的教程帖子)基本没有啥坑点,有坑的地方大佬帖子里面已经写得很详细了,主要参考 日更 自编译 Lean 小米/红米 AC2100-Openwrt 固件-160mhz-插件全-出国-去广告-多拨附教程,简单记录一下过程和帖子可能没有说得太明白的地方,具体流程还请看大佬写的帖子
我使用的 Mac 电脑,开虚拟机将扩展坞的 USB 连入 Windows 虚拟机即可

开启 Telnet 与刷入 breed

这一步的作用是打开路由器的 Telnet 功能,为后续可以刷入固件做准备
首先在网络链接中把自动获取 ip 地址,改成手动并且设置为 192.168.31.177,然后设置子网掩码和网关
参考 [AC2100(RM2100)] 红米/小米 AC2100 刷入 r3g breed 以及恢复官方 boot 详细教程(更新查坏块方法、pb-boot)

刷入 openwrt

照着帖子来就行,没啥坑,刷完之后就可以成功进入 openwrt 的界面
参考 小米/红米 AC2100 固件

mentohust

在刷完了 openwrt 后,路由器直链网线,在连接路由器的一个设备上打开网页会弹出登陆界面,登陆之后所有连接路由器的设备均可使用。但是这样会有一个问题,如果路由器关闭时间过长,每次都需要重新登陆,体验较为糟糕。我的目的是想只输入一次账号密码,下一次打开路由器直接连接即可上网,而且我使用了智能 WiFi 插座,可以随时随地远程地关掉路由器,不会有多占设备数的烦恼。
简单参考了一下 锐捷(Ruijie)——OpenWrt 安装 MentoHUST(校园网锐捷(Ruijie)认证路由限制解决方案),下载 mentohust 中的可执行程序,通过 openwrt 上传文件到 /tmp/upload,执行之后放到 /etc/init.d

$ cd /tmp/upload
// 先查看使用的哪块网卡,找到有 inet addr 信息并且不是以 10.0 开头的那个
// 一般是 eth0.1 那块网卡
$ ifconfig
// 增加执行权限
$ chmod a+x mentohust
$ ./mentohust
// 按照提示输入账号密码,选择校园网即可
// 配置我选择的是 1锐捷私有,dhcp 方式选择的是 2认证后
// 正常登陆的话,会打印认证成功,发送心跳包...

// 完成之后信息会存放在系统中,位置在 /etc/mentohust.conf
// 如果想更改配置,可以直接删除配置文件 $ rm /etc/mentohust.conf 后重新运行来配置
// 移动 mentohust 到 /etc/init.d 保证开机启动
$ mv mentohust /etc/init.d/
// 移动完成之后重启路由器即可

系统版本

刷完之后想知道一下系统版本,通过下面的命令看到 OPENWRT_ARCH="mipsel_24kc",查询之后这是一个 32 位的系统
在 go 里面写了一个 Hello World 交叉编译之后直接扔到路由器就能跑,太强大了
交叉编译的命令使用的是 $ GOOS=linux GOARCH=mipsle go build main.go

root@OpenWrt:/# uname -a
Linux OpenWrt 5.4.61 #0 SMP Fri Sep 4 01:39:46 2020 mips GNU/Linux
root@OpenWrt:/# cat /proc/version
Linux version 5.4.61 (runner@fv-az56) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r2873-7ce964103)) #0 SMP Fri Sep 4 01:39:46 2020
root@OpenWrt:/# cat /etc/os-release
NAME="OpenWrt"
...
OPENWRT_BOARD="ramips/mt7621"
OPENWRT_ARCH="mipsel_24kc"
...

参考资料

如果这篇文章有侵犯到您的权益,请尽快与我联系,cugxuan@gmail.com