简介
猫棒 是一个叫 PON Stick ONU,SFP封装的猫。 就是类似光猫一样,只是小巧。
猫棒可以替换光猫,配上合适的2.5G网卡或光口交换机,可以突破千兆上网的限制。博主折腾了很久,花费了很多时间学习了如何刷机,亲手刷过2个华为MA5671A和一个阿尔特朗讯G-010s-p,测试上网和IPTV成功,现在把自己一些刷机心得分享出来,提供给要入坑的童鞋们参考。
PS:所有的知识均来自网络各处论坛博客Q群等等,固件也是网友分享制作发布。在此,感谢他们无私的奉献。
例如:华为MA5671A
刷机方法
- 编程器刷机。这算是最早期的刷机方法 ,拆下猫棒的ROM,使用用编程器刷机,刷完再焊回主机。(这种操作难度大,没点经验的,可能吹下来的时候,把猫棒都给吹坏了。)
- 纯TTL刷机。早期用TTL线接上猫棒的的金手指刷机,现在都是买SFP底座,把杜邦线焊在底座上,也算的上无损刷机。
- 光纤收发器刷机。一样是从收发器SFP底座上的,2、7针脚引出RX和TX线(华为MA5671A和阿尔特朗讯,诺基亚是3、6针脚),接TTL线,控制显示输入,利用TFTP共军通过收发器的RJ45网络端口上传固件进行刷机。
- SSH刷机。后期的固件都开放了SSH功能,可以直接连接SSH刷机。NOKIA的猫棒原生用这种方法刷机(阿尔特朗讯SSH账号密码同诺基亚,所以一开始无需TTL刷机,能直接刷)。现在部分固件也直接在管理界面提供更新固件的功能。
- OTL刷机。这个没尝试过,毕竟要买OTL设备,没几千大洋估计很难买到。
华为MA5671A纯TTL刷机方法
用TTL线接SFP座子刷机,SFP座子,2块左右一个,多买几个,毕竟你焊接线的不一定一次成功,折腾坏了,也有的换。博主直接小黄鱼花了近30元,买了个SFP20转DIP20座子。这样就不用自己焊线了!
这种刷机方法适合那种没开SSH的猫棒。由于使用TTL线传输,每秒几K左右,刷机时间较长,一般要30-60分钟不等。也适合救死猫棒!!!
TTL接线方法
老外的这篇文章,里面详细介绍了SFP座子的连线方法。
TTL要连接SFP座子的2(RX)、7(TX)、10(GND)和15、16(VCC)。SFP座子保留5根线即可,对应TTL接线需要4根。针脚15、16可以串接在一起。
USB转TTL工具,推荐使用FT232RL串口模块,也可以使用CH341编程器。博主使用的是CH341a编程器,几十块最便宜的。
博主这个,很简单的:
刷机步骤
PS:童鞋们,记得先安装ch341a的驱动,当连好RX,TX,GND,把CH341A插入USB口的时候,会有一个提示声,如果没有,不是驱动没装就是线没接好!
1、将猫棒插进SFP底座,通过TTL线和连接板接到电脑的USB接口,先对应连好RX,TX,GND(不要连接VCC线)。在电脑上以命令行方式启动enable_x64.exe串口回显程序,如果是Win11系统,进入powershell环境,以“.\enable_x64.exe“方式运行命令,将TTL的VCC(3.3V)端接到猫棒的第15、16脚,自动进行串口回显流程。
没接入VCC的时候是这样子的:
接入VCC后会是这样提示:(用杜邦线,接VCC,提示如下图就可以先拔VCC线出来。)
2、回显程序运行结束后,打开 TeraTerm 软件,点击新建连接,选择串口连接,然后进“设置”>“串口”,将比特率设置为115200。重新插上VCC线,终端开始接收代码,若接收到的全是乱码,一般是比特率设置不对,或者 RX、TX 线接反,或者SFP 底座虚焊了。
启动后,及时按 Ctrl+C 来中断启动系统,进入命令行输入模式。(出现提示Press SPACE to delay and Ctrl-C to abort autoboot in 3 seconds)
3、输入下面的命令,让系统进入文件接受状态:
loadb 0x80800000
4、选择文件->传输->Kermit->发送,选中要刷的固件。看清楚了,是传输不是传送!!!
5、等文件传输结束以后,及时输入以下命令(30秒以内,否则会自动重启。)。你看博主截图,2.84KB/s,这速度要等到天荒地老,慢的一批!!
以下一条命令,自动刷写双分区,并默认启动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
当然你也可以一条条的输入命令:
sf probe 0 sf erase C0000 740000 sf write 80800000 C0000 740000 setenv committed_image 0 saveenv
6、刷机写入保存完成后,拔下VCC线,再插上,看看启动是否正常。
刷机完成后,可以将猫棒接在交换机、光卡、光纤收发器上,使用默认的192.168.1.10地址进行访问(记得将自己本地IP地址设置192.168.1.X网段),并设置上网参数。
Nokia猫棒刷机方法
这是B站UP主的刷机视频:点击这里跳转
1、准备好原版nokia G-010-S-A猫棒(闲鱼50元一根),插入交换机或收发器sfp接口,注意接口速率需要强制1Gbps。待猫棒启动完成后,使用mobaxterm软件,通过ssh进入系统。用户帐号:ONTUSER/SUGAR2A041
2、刷机前,运行以下命令,做一下备份,以防不测。
这里是备份mtd分区,查看分区命令是: cat /proc/mtd 有多少个mtd自己就备份多少。备份位置都tmp文件夹。
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、刷机
上传固件文件sys.bin到/tmp目录,上传完成后,运行以下命令:
mtd -e linux write /tmp/sys.bin linux
如何你连备份分区也想一起刷的话,查看分区命令是: cat /proc/mtd 自己看看是image1 还是image0
根据自己的分区来输入以下其中一个命令:
mtd -e image0 write /tmp/sys.bin image0 mtd -e image1 write /tmp/sys.bin image1
4、等待上面命令运行完毕后,运行reboot命令重启。刷机后第一次启动时间较长,耐心等待一下。固件默认访问地址:192.168.1.10 用户帐号这个要看你刷谁的固件,就是什么账号密码了。我不建议你刷没开放SSH的固件,一旦刷了之后,你无法从SSH进行刷机,需要TTL刷机或者OTL刷机等等。
诺基亚G-010S-A的账号密码:
The default IP address is 192.168.1.10, there are two interfaces : SSH : user ONTUSER, password SUGAR2A041 HTTP : user adminadmin, password ALC#FGU The commands shown below are all meant to be used on the SSH command-line.
这是B站UP主,刷机过程中的命令,我大概整合了以下:
1、ssh 进入原版系统命令行,用户组合: user ONTUSER, password SUGAR2A041 ONTUSER SUGAR2A041 cd /root 这条命令进入root目录。 2、备份原厂信息 mtd1分区(uboot_env)存着光模块校准信息 cat /dev/mtd1 > /tmp/uboot_env.bi 拷贝到本地 3、设置uboot的env fw_setenv asc0 0 fw_setenv preboot 4、reboot 5、重新连接ssh,复制大雕的sys.bin到/tmp目录 查看分区 cat /proc/mtd mtd -e linux write /tmp/sys.image linux 根据自己的分区进行使用 mtd -e image0 write /tmp/sys.image image0 mtd -e image1 write /tmp/sys.image image1
这图是,网友收集的设备兼容列表: