华为WS832修复(ubuntu 16.04.5系统下进行操作)

华为WS832已经损坏了很长时间了,一直提示是没有插上网线,明显是WAN口损坏了。跟华为的售后扯皮了几个月,华为拒绝维修,更换政策又非常的不合理,最后的解决方案就只剩下自己维修这一条路了。

故障现象如下图:

系统版本信息如下图:

拆机后的主板如下图:
点击查看大图
上图的顶部中间位置有四个焊点,这四个焊点是串口四个管脚,从左到右分别是GND,RX,TX,VCC。电压为3.3V,管脚间距为1.27MM。波特率115200,数据校验位8N1



背面屏蔽罩比较难拆,拆开后发现里面仅仅是一堆电阻而已。

器件面的电路图如下:


芯片MX25L12835F在上图的主板中间,屏蔽罩的左下角的位置,这是一颗128Mbit(16MB)SPI闪存芯片。

没有拆开屏蔽罩,网上找到的处理器型号图片如下:


拆开屏蔽罩,屏蔽罩没有焊接,只是简单扣上的,可以直接弄下来,处理器图片如下:


话说好大的一颗处理器,那么大的面积,却那么孱弱的性能。

需要淘宝购买如下东西:
  • 1.27MM 排针

购买链接 单排针 圆排针2.54MM 1.27 2.00间距1*40P双排针2*40P直针弯针

具体样式如图片所示:
点击查看大图
一般都是40针的,用到的时候掰开其中的四个连续针即可。

  • 1.27MM 转 2.54MM 转换线

购买链接 1.27转2.54 2.54转1.27 杜邦1.27mm转杜邦2.54mm 2.54转1.27排线

具体样式如图片所示:

用来转换连接线,板子上的排针间距太小,非常不方便使用。

  • CP2102模块 USB转TTL(其他相似模块也可)

购买链接 Risym CP2102模块 USB转TTL UBS转串口 STC单片机下载 刷机升级板

具体样式如图片所示:


此款芯片类型较多,不必一定是这个型号,手头上的型号一般都够用。

焊接后的效果如下图:
点击查看大图
接线的时候注意RX,TX的顺序。如果不能正常接收到数据,适当的交换一下中间的两根引脚。尤其是注意电压,电压是3.3V的。波特率115200,数据校验位8N1

上电后可以看到类似如下的日志:

观察日志可以看到如下内容:

日志提示WALN相关的一块闪存初始化失败,整个板子上唯一的外置闪存就是MX25L12835FM2I-10G这个芯片了,但是这是一颗128MbitSPI闪存芯片,明显是存放系统固件的,因此不像是这颗芯片损坏。

根据提示,上电的时候,狂按Ctrl+C可能获得两个Shell中的一个,一个是bootromShell,一个是Hi-BootShell,如果操作足够快,会获得bootromShell,在这个Shell中可以加载自定义的ROM。后面的Hi-BootShell,暂时不会操作。

这台设备使用了美时龙 KSZ8041NL这款10/100M以太网转换芯片来进行进行以太网操作的,而其他接口都是1000M的,因此,也可能是这颗芯片出现问题。芯片是QFN32封装的。

芯片如下图(大型号一致,小型号不同):

该款芯片的datasheet如下:

View Fullscreen

我这边尝试用风枪把这颗芯片换掉,并没有出现预期的情况,依旧提示上面的错误。

于是把MX25L12835FM2I-10G这个芯片用风枪吹下来,然后使用EZP_XPro 编程器 USB 主板路由液晶BIOS SPI FLASH IBM 25 烧录器(可以使用CH341A编程器USB主板路由液晶BIOS/FLASH/24/25烧录器替代,此芯片非常便宜,但是比较折腾,但是最好购买宽体 SOP8 转DIP8 烧录座 烧录转接座 烧录头 测试座 弹跳座免去焊接的辛苦)把整颗芯片上的内容读取出来。芯片镜像文件点击这里下载

编程器的图片如下:

镜像中的内容可以使用binwalk提取出来

输出内容如下:

我们上面看到的

这行出错信息,是在_ws832.bin.extracted/squashfs-root-0/lib/libbhalapi.so这个文件中的。

我们使用如下命令反汇编整个文件:

反编译出的汇编代码点击此处下载libbhalapi.txt

我们重点关注报错的函数,如下:

这个函数中重点关注一下printf函数的调用,因为日志就是这个函数输出的,但是我们并不清楚具体是哪里出错了。

解压出来的目录中,_ws832.bin.extracted/squashfs-root/html里面空无一物,这个蛮奇怪的。找了半天,才发现网页文件被存放在_ws832.bin.extracted/squashfs-root/etc/webimg这个文件中,然后通过_ws832.bin.extracted/squashfs-root/etc/webidx这个文件存放文件对应的偏移以及长度。对于html的请求都被一个解析这两个文件的应用接管了。

实际过程中发现使用firmware-mod-kit解压出来的固件更加简洁精炼,并且可以重新打包。

这个工具如果下载困难,可以本站下载一份拷贝 点击这里下载 firmware-mod-kit

参考链接


发布者

默默

默默码农

发表评论

电子邮件地址不会被公开。 必填项已用*标注