| 1 N0 `2 @) G; s7 ] 恩山上找到的,也不知道这里让不让发链接,我复制了一下* h- ], t5 v: Q! U) f
 & _0 r( s9 \. O
 固件备份,没有风险的,但是固件还原有一定风险,小白进阶的教程。目前光猫固件备份有 四种方式:( `6 W: `9 O! y( A) }! ^
 1.通过芯片烧录器备份
 # s) {* Q. s) n2 v# }2.通过telnet备份
 ) F" r) [# n9 I2 m1 P3.通过ttl备份6 l) Y9 Y& X8 i& i0 n
 4.通过JTAg备份(不常见,这里不做介绍)
 ) a: z* |1 @4 [# o  m: o, {: M- j: ^  t! E8 H
 下面我们先介绍最简单的第1种6 c9 o; l5 h" C6 Q( p) o' H0 d
 . m9 L- G" M' P3 K
 把芯片用吹风机吹下来,最好是买个专业的焊台,带热风枪和烙铁的那种,把芯片放在编程器上直接读。非常简单,如果有不会的,可以回复我(记得贴图)。
 9 J, u- t* p& a! V' s0 p: N( ?5 K
 % w) g7 H2 x& ?' q9 }, D2 [然后我们来说下最常见的备份方法,通过telnet、TTL备份4 j6 h/ @& ^! R+ g8 \+ H) X" a' E
 ' N+ R, d1 x! |2 A( U7 m
 进入系统后,我们再putty里回车(按Enter键,怕小白不懂),进入这个系统可以说就是Shell,也可以说linux  d  j! u) M4 w. [6 a  w4 k! o
 我们就能通过命令来完成我们的备份,首先第一个命令,如果显示无此命令呢,说明当前shell不完整,还需要补齐,这个我会另开一个帖子写% i5 c: v! p3 i; [
 cat /proc/mtd; \1 Z! }9 V) I$ I% X2 J9 W/ L
 这里我们选择华为8145v为试验环境,别的光猫可能有不一样的地方" M$ z8 c9 `& X( |1 k
 dev:    size   erasesize  name
 ( y$ q3 v" O: [mtd0: 00100000 00020000 "
 & B- q' \: }+ L3 Imtd1: 0ff00000 00020000 "ubifs"! d' C, i3 j8 G4 b
 mtd2: 00000000 00000000 "reserved"; B9 s# X4 {( l" v( R; B! n, j! I
 mtd3: 0009b000 0001f000 "ubootA"
 ! |6 ]% j# n; U# Y! J: Ymtd4: 0009b000 0001f000 "ubootB"  [* q. y9 ]% a9 b
 mtd5: 0003e000 0001f000 "flash_configA"& |# q; s4 t& @, U( o
 mtd6: 0003e000 0001f000 "flash_configB"
 ( Z4 s, Y7 V4 G# `mtd7: 0003e000 0001f000 "slave_paramA"# n! O3 z4 h) K' u+ ]8 _1 i7 X
 mtd8: 0003e000 0001f000 "slave_paramB"2 K. V: I; H! C) \, g
 mtd9: 00307000 0001f000 "kernelA"
 6 w% e+ p* Q/ g1 Gmtd10: 00307000 0001f000 "kernelB"& X0 l1 _( i, q* p( Z( t9 {/ b# K: E
 mtd11: 02815000 0001f000 "rootfsA"
 / i( W" C, \3 Z) Z# Tmtd12: 02815000 0001f000 "rootfsB"
 * w9 a. `. K( [2 h, Amtd13: 0003e000 0001f000 "wifi_paramA"
 8 Q; q( P9 m2 a# emtd14: 0003e000 0001f000 "wifi_paramB"
 , R8 f! X; `% Kmtd15: 0003e000 0001f000 "system_param"
 7 p# B, h- T! e. ?1 Z* hmtd16: 0141a000 0001f000 "file_system"7 Z4 D$ ^9 S: Q
 mtd17: 0081d000 0001f000 "frameworkA"0 v  e. O0 W, D% x  E7 {
 mtd18: 0081d000 0001f000 "frameworkB"0 M  L. k) h) h! `! `
 mtd19: 07003000 0001f000 "apps") D+ r. Y. d5 n: e/ M5 H( b* i, P
 
 / i. n9 @9 ^' G* t) X! X看到这么多分区,以及地址,养成一个好习惯,复制下来存到文本中  `$ b! D" e- v6 a
 mtd0: ="startcode"
 6 Y4 \  q8 W, V2 J1 P' B$ }2 D" Tmtd1: ="ubifs"7 T4 p4 f' L( i) f3 e' j0 G: a/ o
 mtd2: = "reserved"3 g% O( R% G3 j* Q
 mtd3: = "ubootA"
 8 O$ Y- I5 b! H6 v: u% hmtd4: = "ubootB"
 3 j0 k% n9 ?. ~5 s# b# L$ E# hmtd5: = "flash_configA"
 ) ]8 {* U5 s# U% Smtd6: = "flash_configB"
 1 @2 Z+ T( ~- e" k. amtd7: = "slave_paramA"0 S' u, E! {4 h4 }. s6 B% e+ D  [1 `
 mtd8: = "slave_paramB"$ @% w* i, p" n$ R
 mtd9: = "kernelA"+ l5 r0 X' Q& N+ B/ c
 mtd10: = "kernelB"0 }9 z+ l; a1 o) |
 mtd11: = "rootfsA"+ z5 l/ }1 K6 E/ K0 z
 mtd12: = "rootfsB"
 + @9 G) a# _( N& C7 ]5 [" umtd13: = "wifi_paramA"7 j  [- s: \; Z$ U
 mtd14: = "wifi_paramB"
 / T; }: B$ u) w0 Z! Jmtd15: = "system_param"% m( Z) l$ c. C# u
 mtd16: = "file_system"/ r"
 & `5 W  }9 n5 b: vmtd17: = "frameworkA"
 ' }% `7 ^, k, [& E; s5 p8 p9 l# umtd18: = "frameworkB"
 , k/ h* M" x5 Vmtd19: = "apps"
 - J, O" x4 V2 k' v9 v, lubi0_13 = "jffs2"
 9 v2 z1 i# O, O0 G; f7 dA和B分区是一样的,所以只需备份其中一个即可,现在都设置为双启动,一个使用一个备份可以切换的,从设计角度讲6 l) [) d% _6 T! l6 ~. z
 ' t2 t# y- U' O7 H$ L( Q
 下面我们进行备份,首先你要准备一个U盘(fat32格式化,防止不认盘)插到光猫的接口上,如果光猫没接口,那就应该淘汰了,当然tftp大法也是可以的,太麻烦了,这里不介绍
 8 b2 s5 |; ^7 h, T据我所知从天翼网关1.0开始就配USB口了,因为AB分区都一样,所以只备份一个就可以了
 8 M9 f3 n6 @3 ]+ E$ ?下面输入备份命令,每行输入一次
 , G, L) p' M$ Y. {- Udd if=/dev/mtd0 of=/mnt/usb/USB_disc1/0.bin# z0 H  s; ~& ^, R5 W$ W
 dd if=/dev/mtd1 of=/mnt/usb/USB_disc1/1.bin
 9 `6 f. ]( K+ Cdd if=/dev/mtd2 of=/mnt/usb/USB_disc1/2.bin1 d  E' a9 R  x* f0 V) ~: U% f
 dd if=/dev/mtd3 of=/mnt/usb/USB_disc1/3-uboot.bin* D' f) G' D5 Y4 p
 dd if=/dev/mtd5 of=/mnt/usb/USB_disc1/5.bin& L# ^& i- q$ N* Q& ~
 dd if=/dev/mtd7 of=/mnt/usb/USB_disc1/7.bin
 ' [! g/ a( g3 g6 F3 `" {$ N* `dd if=/dev/mtd9 of=/mnt/usb/USB_disc1/9-kernel.bin: r" d/ X& n# f: {
 dd if=/dev/mtd11 of=/mnt/usb/USB_disc1/11-rootfs.bin
 - B6 I  ]" v$ [dd if=/dev/mtd13 of=/mnt/usb/USB_disc1/13.bin7 K, D3 \5 l) ?. @/ D4 t- D: Z
 dd if=/dev/mtd15 of=/mnt/usb/USB_disc1/15.bin7 s& i' Q1 X5 h  U2 f$ ?; ?
 dd if=/dev/mtd16 of=/mnt/usb/USB_disc1/16.bin
 : P/ S5 W! l+ H" n' r% I- ydd if=/dev/mtd17 of=/mnt/usb/USB_disc1/17.bin
 7 u% M0 v8 _  s5 tdd if=/dev/mtd19 of=/mnt/usb/USB_disc1/19.bin45 y2 q/ v, L4 v1 B! C
 dd if=/dev/ubi0_13 of=/mnt/usb/USB_disc1/0_13.bin
 |