30元的 AN7581 光猫新玩法:免拆刷入 OpenWrt 保姆级教程
昨天折腾的小光猫 开启 telnet 很容易,更换光猫很简单,现在有了AN7581开源项目:开源了对 Airoha AN7581 和 AN7583 PON 设备的支持,今天折腾一下刷机 openwrt 的玩法。

▲ ZN504XG-D 采用了达发(Airoha/联发科)AN7581 芯片方案,32 块包邮到手,性价比很高,它还有个兄弟款ZN515XG-D,区别是带 WiFi,其他参数一样。
准备工作
刷机前置条件:
Airoha AN7581/AN7583方案 光猫一台
Windows 电脑
免拆刷入工具:**https://github.com/pbs05/an758x-stock2ubi**
AN7581/AN7583 的 U-Boot:https://github.com/pbs05/uboot-an758x
PonWrt 基于 ImmortalWrt固件:https://github.com/pbs05/ponwrt/tree/master
一定的动手能力

▲ ZN504XG-D 的固件和 uboot 我上传到网盘里 了,需要可自取,公众号回复:zn504

▲ 另外,我编译了所有的 AN7581 光猫PonWrt固件,其他型号可以下载:https://github.com/huladabang/ponwrt/tags
免拆刷机记录
需要先开启 telnet 并登录,如何开启请看前篇文章

▲ 光猫通电开机,网线接入电脑,注意这里不能插入 2.5G 网口,否则AN7581/AN7583 的 U-Boot网页会进不去
由于 telnet 不能传文件,所以这里需要在 Windows 电脑上开启一个 http 服务(需要 Python),需要的命令:
`1. Windows新建目录,例如:
C:\zn504\
把下载的 an758x-stock2ubi 放进去。
2. 打开终端
在该文件夹空白处:
Shift + 鼠标右键 → 在终端中打开
然后运行:
python -m http.server 8000
`
光猫登录 telnet 后需要的命令:
`# 进入tmp临时目录
cd /tmp
# 下载an758x-stock2ubi文件,ip地址是电脑的ip
wget http://192.168.1.2:8000/an758x-stock2ubi
# 给文件权限
chmod +x /tmp/an758x-stock2ubi
# 运行文件
/tmp/an758x-stock2ubi`

▲ 登录tlenet,输入 su切换到root用户,使用 wget 命令把an758x-stock2ubi文件下载到光猫上,然后给权限,运行文件会开启一个临时网页。

▲ 浏览器访问光猫的地址:192.168.1.1:3333 会打开免拆刷机工具页面,这里下载备份一下光猫的分区数据,然后进行下一步

▲ 先提前在 Uboot 项目下载好对应的两个文件,选择我们的 BL2 文件和 BL31 Uboot 文件,然后点击刷入引导,出现这一行绿色的字代表刷入成功。

▲ 光猫会自动重启,过几分钟浏览器访问:192.168.0.1 这个地址进入 uboot 刷机页面,第一次刷机需要重建 UBI,完成后,上传刷写系统的固件。
由于这个 ponwrt 固件项目才发布没多久,网上没有找到现成的固件,没办法我使用 GitHub 编译了一份,需要自取。

▲ 上传对应光猫型号的固件后,点击上传并刷写,大概几分钟后只要不报错代表刷机成功,此时点击启动系统,光猫才会重启。

▲ 等2分钟光猫重启成功后电脑自动获取IP,浏览器输入:192.168.1.1 访问光猫后台,熟悉的 openwrt 登录界面,默认密码为空,直接登录。

▲ 固件版本和内核都很新,开机 CPU 占用率 7% 可用内存还有60% 左右

▲ PON 线路设置,支持的线路很全面;这个固件比较精简,没有安装多余的插件,如有需要可以自行安装,防火墙里默认开启了 FullCone NAT模式。
总结
采用 Airoha AN7581/AN7583 方案的光猫,目前支持 12 款机型,开启 telnet 模式,都可以采用此方法进行刷机操作,本教程抛砖引玉,欢迎关注,后面测试下光猫当主路由性能如何。
maofan
