打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
原创:小蚁等品牌智能摄像机救砖基本理论和方法


原帖发布于某米论坛,被某个超级无聊的家伙给删了,鄙视之~

前段时间,帮助一位朋友成功的修复了一台变砖的小蚁摄像头(一直亮黄灯、刷机无效),原帖:

t-13481104

其实之所以能帮到那位朋友,也是因为我之前从网络上学到的相关知识,以及之前自己曾经修复过720p1080p摄像头。

近来看反映变砖的朋友还不少,也很难从客服等渠道获取真正有帮助的指导(客服也就会建议重置、重刷官方固件,甚至还会扯sd卡不满足要求之类的无关事宜),感觉有必要写点东西,供需要的朋友参考。

之所以用“等品牌”这仨字,是因为大多数网络摄像头基本上都大同小异。甚至不仅是摄像头,所谓的智能路由器(如小米等)与这些摄像头的相似度也很高,很多理论知识和方法都是通用的。

归根结底,这些东东用的都是嵌入式linux,这是上面我说的相似性的根本原因。

----------------------------

言归正传~

1、先说最核心的:要修复变砖的摄像头,需要:

    - TTL线

    - 同型号正常机子的全部固件(注意全部二字)

    - linux基础知识和动手能力

2、可修复的故障类型:当然限于软件(固件)问题导致的变砖,如升级中断电死机、使用了错误的软件导致固件紊乱、不小心删除了不该删除的文件等。

3、一些基本理论:

嵌入式linux的设备类型很多,根据我所知道的摄像头和路由器,有以下几点总结:

3.1、厂家发布的固件升级文件往往仅仅是全部固件的一小部分,最典型的就是小蚁摄像头。固件都是存储在flash芯片上,所以要用到mtd技术(别担心,很容易理解),复杂的不懂,知道几点简单的:

3.1.1 这些flash芯片有不同的类型,比如SPI的(一般都比较小,4M32M居多)、NAND的(一般都比较大,128M起基本上都是,比如小米路由器3等)

3.1.2 flash芯片存储了全部固件,根据功能设计,厂家会把芯片的全部存储空间分成几个分区存储不同的内容,典型的必然有如下几个分区:

    - boot 分区,也就是引导分区、启动分区,以u-boot居多(可以说大部分嵌入式linux用的都是u-boot)。这个分区非常重要,只要这个分区没坏,即便其他的所有分区都坏了,也可以很容易的修复。原因就是u-boot不但提供了启动功能,还提供了刷写固件的功能,可以说是不拆芯片修砖的最后一道防线。这个分区要是坏了,就只能采取更为麻烦的方法了(比如用编程器直接对芯片编程等)。

    - env 分区,有的叫para分区等名称,即环境分区或参数分区等,很小,存储的内容往往是传递给内核的启动参数。

    - kernel 分区,有的也叫os分区等,也就是内核分区,存储的就是linux内核。

上面3个分区一般建议经验不够丰富的不要轻易去动!

    - rootfs 分区,有的也叫root,就是linux的根文件系统。我之前修复的两台小蚁摄像头就是因为rootfs分区被搞坏了变砖了。

3.1.3 上面4个基本上所有嵌入式linux设备都会有的,下面的几个则不一定都会有,取决于厂家的具体设计。比如小蚁720p的摄像头(夜视版和非夜视版的固件完全相同)除了上面4个外还有以下几个分区:

    - conf 分区,看名字应为配置数据;

    - home 分区,注意!小蚁官方发布的固件升级文件名称就是home,升级的就是这个分区!这仅仅是前面强调的“全部固件”的一部分!之所以变砖后刷官方固件没用,原因就是其他分区如rootfs甚至kernel分区坏了、固件升级仅仅刷新home分区,当然就没用了!就像脚被砍断了你往他胳膊上缠绷带肯定不会有用是一个道理。

    - vd 分区,不知道干啥的,忽略吧(或者哪位大虾指教一下?)

3.2、小蚁1080p摄像头的分区除了720p7个外,多了一个ver分区,感觉像是保存版本信息的。小方摄像头的分区有:bootkernelrootfsrescure(感觉是急救用的)、etcusrconf6个。小米路由器mini(开发版)的分区有11个,可以看出和这几个摄像头的相似程度有多大:all(也就是全部,对应整个flash芯片)、bootloader(启动)、configfactoryos1rootfsos2overlaycrashreservedbdata

3.3、怎么看具体某台设备的分区信息呢?很简单,登录之后,cat/proc/mtd即可。

3.4、 嵌入式linux大多数都会设计一个TTL口用于调试维修等,这个口本质上是一个串口、设备启动后它就是一个终端,有的甚至连root密码都不用输就直接进入root用户登录状态。我们修复变砖摄像头的关键就是这个。

 

4、看完了上面的内容,相信你就知道如何修复变砖的摄像头了,其实很简单:就是既然固件坏了那就修复固件。

4.1、首先要找一台同型号的工作正常的摄像头,使用TTL连接或者telnetssh登录后备份出全部固件:

    - 先运行cat/proc/mtd看一下分区信息

    - 再运行mount命令看一下当前挂载的全部文件系统,比如小蚁的sd卡会挂载到/home/hd1,如果没有的话这儿要挂载sd卡或者nfs用作备份文件的存储目的地。

    - 使用dd命令备份所有分区,注意是所有。强烈建议破解或者连接ttl后第一件事就是备份所有分区。

         ddif=/dev/mtd0 of=/home/hd1/0boot.bin

         依次修改上述命令的数字和每个分区的备份文件名称(建议分区号+分区名称)并运行。

4.2、把拷有备份文件的sd卡插到故障摄像头、接好TTL线、开机,在终端运行以下命令恢复相应分区:

        ddif=/home/hd1/4rootfs.bin of=/dev/mtd4

        根据具体情况选择正确的备份文件和分区号,比如小蚁摄像头变砖一般都是这个分区。如果不行,再依次把mtd1env)、mtd2conf)、mtd5home,也可以卡刷)、mtd6vd)恢复(恢复一个重启一次观察是否恢复正常)。注意,轻易不要动mtd0也就是boot分区、mtd3也就是os分区。如果前面几个分区都恢复过还是不行,那就再恢复一次os(内核)分区,boot分区还是轻易不要动!

 

5、写在最后

如果需要帮你分析故障、出主意修复,请一定要说清楚具体型号、故障现象(灯啥色、多观察几分钟看闪不闪、有没有声)、出故障前你对它到底做了什么,信息不完整谁都没辙。

如果你根本看不懂我在说什么,也不了解linuxttl这些,也没有兴趣或精力搜索阅读相关文章,真心建议花点钱重新买个新的吧,旧的留作纪念等以后你有兴趣了再说,或者直接扔掉、卖掉、捐掉(也可以送给我,哈哈)。

  • 再说说我搞坏小蚁1080p摄像头和修复的过程,供参考。
    就是众筹129正式售价169的那款,破解后发现无法telnet,原因是小蚁为了防备大家破解去掉了重要的telnetd
    当时耍小聪明,直接拿720p摄像头的telnetd文件拷贝到sd卡使用(其实是busybox,两种型号用的都是海思的h3518芯片版本有点小差异),当时也可以正常的telnet登录。
    谁曾想这个来自720p摄像头的telnetd运行后会把rootfs分区给搞乱,重启前一切正常,重启后发现再也起不来了,具体表现就是亮黄灯、按重置键没用、刷官方固件也没用(客服给的建议)。
    好在破解后备份了全部分区,也幸好还可以启动到ttl登录的状态,用ttl恢复rootfs分区,重启后恢复正常。

当然,现在已经有了热心网友编译的包含telnetdbusybox,可以直接用了。

  • 另外,对于部分home分区损坏的情况,解决的办法就是卡刷官方固件。但是,客服也不会告诉你的一点就是:一定要卡刷和机身不同的版本!原因就是在卡刷的时候,小蚁设计的规则是先检查卡上的固件版本号并于机身固件版本号比较,如果一样的话就会认为不需要刷而跳过;必须换一个不同的版本才能有效刷机(也不知道小蚁的客服是不知道这一点还是不愿意告诉用户)。所以,救砖的第一步就是卡刷一个和机身不同的官方固件,也许就好了(刷的时候灯会黄色闪烁,没有看到这个现象的话就是没有刷)。

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
升级分区
[原创]openwrt下完整备份/还原的方法!!!
Openwrt文件系统及flash分区介绍
转 在s3c2410板上移植2.6 kernel_mmeelv
在Linux运行期间升级Linux系统(Uboot+kernel+Rootfs)
基于AM335X开发板 ARM Cortex-A8——NAND FLASH版本核心板使用说明
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服