最近,猫棒刷机是一个非常热门的话题,猫棒可以替换光猫,配上合适的2.5G网卡或光口交换机,可以突破千兆上网的限制。为了学习并掌握这项技术,我也是花费了较多的时间,潜入多个刷机群学习技术。自己动手制作了TTL刷机的SFP座子,亲手刷了四个华为MA5671A和4个NOKIA的猫棒,并测试上网成功。现在把自己借鉴学习心得记录下来,供入坑的同学参考。
再次声明,所有知识来自网络,固件也是网友制作发布的。感谢他们的无私奉献,本人只是一个传播者。
刷机方法
- 编程器刷机。这算是最早期的刷机方法 ,拆下猫棒的ROM,使用用编程器刷机,刷完再焊回主机。
- 纯TTL刷机。早期用TTL线接上猫棒的的金手指刷机,现在一般都用SFP座子,也算是无损刷机了。
- 光纤收发器刷机。从光纤收发器SFP座子的2、7针脚引出RX和TX线(NOKIA的猫棒是3、6针脚),接TTL线,控制显示输入,然后利用TFTP工具通过收发器的网络端口刷机。
- SSH刷机。后期的固件都开放了SSH功能,可以直接连接SSH刷机。NOKIA的猫棒原生用这种方法刷机。现在部分固件也直接在管理界面提供更新固件的功能。
上面是我这段时间刷的几个猫棒,下面介绍一下我自己用过的刷机方法。
华为MA5671A纯TTL刷机方法
用TTL线接SFP座子,猫棒插SFP座子刷机,这种刷机方法适合那种没开SSH的猫棒。由于使用TTL线传输,每秒几K左右,刷机时间较长,一般要30-60分钟不等。
TTL接线方法
最早的刷机教程出处,来自老外的这篇文章,里面详细介绍了SFP座子的连线方法。TTL要连接SFP座子的2(TX)、7(RX)、10(GND)和15、16(VCC)。SFP座子保留5根线即可,对应TTL接线需要4根。针脚15、16可以串接在一起。
USB转TTL工具,推荐使用FT232RL串口模块,也可以使用CH341编程器。
网上有现成的SFP座子可以购买,注意是20针的就行(图片来自网上….)。
把TTL线的塑料端口拆掉,直接加点锡,接上SFP座子的对应针脚,TTL刷机座子就制作好了。下图就是接好的样子(借用群友的图片)。
刷机步骤
1、将猫棒插进SFP底座,通过TTL线和连接板接到电脑的USB接口,先对应连好RX,TX,GND(不要连接VCC线)。在电脑上以命令行方式启动enable_x64.exe串口回显程序,如果是Win11系统,进入powershell环境,以“.\enable_x64.exe“方式运行命令,将TTL的VCC(3.3V)端接到猫棒的第15、16脚,自动进行串口回显流程。
2、回显程序运行结束后,打开 TeraTerm 软件,点击新建连接,选择串口连接,然后进“设置”>“串口”,将比特率设置为115200。插上VCC线,终端开始接收代码,若接收到的全是乱码,一般是比特率设置不对,或者 RX、TX 线接反,或者SFP 底座虚焊了。
启动后,及时按 Ctrl+C 来中断启动系统,进入命令行输入模式。
3、输入下面的命令,让系统进入文件接受状态:
loadb 0x80800000
4、选择文件->传输->Kermit->发送,选中要刷的固件。注意,不是直接点文件>发送,我就是在这里耽误了几个小时……..
5、等文件传输结束以后,及时输入以下命令(30秒以内,否则会自动重启。喝茶的时候还必须盯着屏幕……)。
sf probe 0 sf erase C0000 740000 sf write 80800000 C0000 740000 setenv committed_image 0 saveenv
也可以直接输入以下一条命令,自动刷写双分区,并默认启动mtd2分区:
sf probe 0&&sf erase C0000 740000&&sf write 80800000 C0000 740000&&sf probe 0&&sf erase C0000 800000&&sf write 80800000 C0000 800000&&setenv committed_image 0&&saveenv
6、刷机写入保存完成后,拔下VCC线,再插上,看看启动是否正常。
刷机完成后,可以将猫棒接在交换机、光卡、光纤收发器上,使用默认的192.168.1.10地址进行访问,并设置上网参数。
Nokia猫棒刷机方法
1、准备好原版nokia G-010-S-A猫棒(闲鱼50元一根),插入交换机或收发器sfp接口,注意接口速率需要强制1Gbps。待猫棒启动完成后,使用mobaxterm软件,通过ssh进入系统。用户帐号:ONTUSER/SUGAR2A041。
2、刷机前,运行以下命令,做一下备份,以防不测。
dd if=/dev/mtd0 of=/tmp/mtd0.bin dd if=/dev/mtd1 of=/tmp/mtd1.bin dd if=/dev/mtd2 of=/tmp/mtd2.bin dd if=/dev/mtd8 of=/tmp/mtd8.bin
从设备的/tmp目录,将4个文件备份到本地电脑。
3、刷机
上传固件文件Nokia.bin到/tmp目录,上传完成后,运行以下命令:
mtd -e linux write /tmp/Nokia.bin linux
4、等待上面命令运行完毕后,运行reboot命令重启。刷机后第一次启动时间较长,耐心等待一下。固件默认访问地址:192.168.1.10,用户帐号root/admin123。
附件:华为MA5671A猫棒设备兼容列表
刷机工具及固件, 点我下载。