# 前言

事情起因是家里的小米路由器 4A 千兆版,一天到晚老是在断流,打个 LOL 时不时的就掉线。

上网一搜,全是骂这款路由器的。于是购置了新的路由器替换它。本着废物利用的想法,于是把它刷成 openwrt 软路由。

刷好后,发现这个不需要切网络就能科学上网的功能太特么的香了,于是把它并入到主网络中,把它当作主路由来用,新买的 TPLinkXDR3010 作 AP,发射 wifi 信号。用了一段时间,断流现象是没了,但问题是太垃了,overlay 才 3.2M,连个像样的插件都装不上。而且设备多点,直接负载拉满,开始卡顿。最终还是打算自己买硬件来刷一个 openwrt,最终我选择的是 J1900。

# 小米路由器 4A 千兆版装 openwrt

这里我路由器具体型号是:小米路由器 4A 千兆版

其实刷起来不难。主要是网上太多老教程混淆视听了,如果找不到正确的资料就比较麻烦。

老教程针对的小米固件版本普遍是 2.30 以下的,它们使用的 POC 其实是利用了 2.28 版本的漏洞,而现在的小米固件已经到 2.30 了。

我尝试过使用各种办法尝试降级固件,比如官方恢复救砖工具刷机,但始终无法降级。

就在我快放弃的时候,还是在恩山上找到了解决方法。

小米 R4A 千兆版新硬件 2.30.x 刷 openwrt 成功!!- 小米无线路由器以及小米无线相关的设备 - 恩山无线论坛 (right.com.cn)

image-20230220150530914

# J1900 刷 openwrt

在购置之前,先明确自己的组网方案,我原本的方案是:J1900 刷的 openwrt 做主路由 + TPLink 硬路由有线中继做 AP

但我在购买的时候买到的是个单网口的,因此方案只能变更为:TPLink 硬路由做主路由 + openwrt 做旁路网关了。

(花了 240,我也不知道亏不亏 = =)

image-20230220150553331

# 刷机准备

在刷之前,准备好一些材料:

①openwrt 固件(我用的是原始的,没各种奇奇怪怪的插件)

https://github.com/coolsnowwolf/lede/releases/

②然后就是看你想怎么刷固件进去了。

可从外部存储启动不可从外部存储启动
没有内部存储直接将固件写入存储设备(不存在这样的机器)
内部存储可拆卸拆下内部存储,直接将固件写入拆下内部存储,直接将固件写入
内部存储不可拆卸通过外部存储启动,再将固件写入内部存储通过原厂系统刷入 factory 固件转换,或其它刷机方式

这里我用的是通过外部存储启动,再将固件写入内部存储的方式(我只有 M2 接口的读卡器,这个 mstata 接口的并没有)。

因此用到的工具如下:U 盘 PE 装机技巧系列(一):用 U 盘制作自己的 PE 工具箱 - 知乎 (zhihu.com)

最后只需要把固件和 physdiskwrite copy 到 U 盘的数据存放区就可以了。

③显示器(hdmi 或 vga 都可)、键鼠。

# 开始刷机

ok,接着就是连接电源,运行我们的主机了。这里我的主机没有电源开关,是通过短接来开机的。

很快,我就遇到了第一个问题。无论是 VGA 还是 hdmi,开机后,显示器都是无信号,去恩山发帖问了下,大佬给出了解决方案。

(就是这个坑爹的问题害我亏了 10R 买了根 vga 线)

image-20230220150724903

后面断电,抠电池 + 重新插拔内存就成功了!插入 U 盘、键鼠开机。

(PS:我这块板子需要短接开关针脚开机。)

image-20230220150807833

image-20230220150813367

要听到很大一声的滴并且灯亮了才成功开机,如果没有滴一声只是单纯灯亮的话不是开机。

开机后按 F11 选择引导盘,选择 U 盘 PE 启动,成功进入我们的 U 盘 PE 系统。

image-20230220150832899

先用桌面上的 DiskGenus 把物理硬盘分区清空。

image-20230220150843750

再用 physdiskwrite 把固件写到硬盘上。

image-20230220150855444

此时其实 openwrt 就已经装好了,但先别急着重启,因为默认的系统分区只有 400M,我们的硬盘有 30 多个 G,这样太浪费了。所以我们再次打开 DiskGenus 把空闲分区全分配给它。(没图,点两下的事)

此时重启机器,拔出 U 盘,就会自动选择 openwrt 系统了。

image-20230220150908664

默认访问地址是 192.168.1.1.

image-20230220150919583

# 主题修改 & 插件安装

这里其实就是对 openwrt 的一些个性化插件安装和配置了

# 单网口的板子连网

第一步就是连网,但我们是个单网口的主机,让它连网,我们就没法连 PC 直接访问它。

这怎么整呢?

这里有两个解决方案:

①修改其 Lan 网卡配置,让其和路由器直连。然后我们通过 wifi 访问它。

②它和 PC 直连,PC 通过网络共享把网络共享给这张网卡。

我这里用的是第二个方案:

PS:这个方法是一个网络运维大佬帮我实现的。他的操作我没看懂,他在没修改 Lan 口配置的情况下给 openwrt 又加了一个 ip 地址,反正不知道怎么的就成功了。我后面因为某种原因重刷了系统,大佬的配置没了。因此我只能通过修改 Lan 口 IP 来实现同样的功能。

打开网络控制面板,找到有网的网卡,然后设置共享,目标网络适配器为 openwrt 的那个。

image-20230220151010062

此时,再次查看 ip,你会发现,以太网 2 的 ip 变了,我的是变成了 192.168.137.1/24。

记住 ip 地址段,把共享取消掉。访问 Openwrt,把 Lan 口地址的 ipv4 改成 192.168.137.2。

然后 dhcp 功能关掉,应用。

再次设置网络共享,此时我们访问 192.168.137.2 就能再次访问到 openwrt,并且它现在就有网了。

image-20230220151018413

# 配置 opkg 自定义源下载自定义插件

接着我们找到一些大佬的自定义源,下载我们的 passwall 等师夷长技以制夷工具和 argon 主题。

在软件包配置中把 check_signature 删掉,同时在下面把大佬的自定义源给加上。

PS:下面两个选一个。我建议用第一个,第二个装插件的时候老是有点问题。

src/gz openwrt_kiddin9 https://op.dllkids.xyz/packages/x86_64/

src/gz openwrt_kiddin9 https://op.supes.top/packages/x86_64

image-20230220151031400

image-20230220151036335

image-20230220151040290