68块钱MA5671A猫棒刷Openwrt

最近这玩意非常火,闲鱼只要68块钱

于是买回来自己折腾了一下

材料准备

  • MA5671A猫棒
  • 3.3v串口板子
  • SFP座子
  • 几根线

文件 -> 传送门

下载那个MA5671Amod.zip

开始搞

接个串口

首先做一个烧录治具,至少需要一个sfp座子,淘宝几块钱就能买一个,如果改过双口CX341A应该会有存货

接线这么接

USB UART Adapter ———— SFP 20pins Molex connector

3.3V ————- red ———–pin #15 und #16 TX ————— orange ——–pin #2 RX ————— yellow ——–pin #7 GND ————– green ——– pin #10

飞线的话注意点别碰到隔壁触点给模块烧了

由于我之前画过一个带SFP的板子,还引出了全部IO,就直接当烧录治具了,接线和上面是一样的

波特率115200,接上去,串口输出这样

然后就卡住了,一直重启

貌似是因为串口和看门狗给mux了,插了串口就不开机

解锁u-boot狗

需要设法绕过,思路是短接flash的某个信号脚,让模块开机的时候找不到flash,从而可选启动模式,然后选xmodem启动,把我们的u-boot刷进去

把模块拆了,从侧面那个小洞捅开

拆了长这样

找两根线飞一下,如图

模块插回去,开机,看到输出这玩意

建议换teraterm,后面用得到

输入7,进xmodem

然后把uboot发进去,文件名是"1224ABORT.bin”,如图

传好之后按空格和Ctrl-C

此时把flash短接的线切断或者怎么搞断

然后输下面这些东西进去

FALCON => setenv bootdelay 5
FALCON => setenv asc0 0
FALCON => setenv preboot "gpio input 105;gpio input 106;gpio input 107;gpio input 108;gpio set 3;gpio set 109;gpio set 110;gpio clear 423; gpio clear 422; gpio clear 325; gpio clear 402; gpio clear 424"
FALCON => saveenv

记得要把之前短接flash脚的线搞断,不然saveenv存不了

然后拔了重插,模块就可以直接按空格和Ctrl-C进u-boot shell了,也可以直接开机了

刷Openwrt

找到文件MA5671Amod.img,u-boot里面用loadb,然后kermit发进去

然后喝杯茶等大概二十分钟就传好了

传好之后赶快输下面这些,把刚才发的东西写flash里面,如果等待时间长了这u-boot会自己重启,白传了

FALCON => sf probe 0
FALCON => sf erase C0000 740000
FALCON => sf write 80800000 C0000 740000

这个偏移C0000就是系统里面的mtd2

之后确保env里面这两个东西和我的一样

image1_is_valid=1
committed_image=0

然后顺利进系统,进shell了

刷个带Web的Openwrt

然后插交换机/网卡上面,ip改成192.168.1.0/24随便一个,光模块ip是192.168.1.10

发现没web,可以ssh进去

scp把附件中的mtd2.bin发进去,然后mtd write即可

不知道为啥直接从uboot刷mtd2.bin会炸

刷完之后模块会自动重启,重启之后就能进web了

乱七八糟的LOID,password都能改

另外这个模块一点也不凉快,如果没有风道很可能热炸,建议配合1u/2u路由器/服务器使用

出现莫名其妙问题的先检查uboot里这两个参数

image1_is_valid=1
committed_image=0

参考资料

https://www.onlinekosten.de/forum/showthread.php?p=2544021