本帖最后由 张小牛 于 2022-2-15 10:04 编辑
2 Q/ {. z; A9 d% ^+ ]4 b- Q) y: w7 d I0 z
需要一个固件分区备份,或者谁有,试一下告诉我,最好手里有TTL或编程器,不然变砖可能救不回来。$ j0 m9 C; m! d- u8 z
秘密就是内置的mtd是阉割版,不能解锁、不能写入,升级一下mtd软件包,1、8、9、10、13、14等分区就都可以解锁了。再安装一个nand-utils查一下就更清楚。虽然6、7不能解锁,但是flash总共就256M,所以mtd1是mtd2-14的复合体,mtd1能写基本上就能解决问题。退一步说,9和10能写,可玩性也很高。
. D& H9 ]" v2 f. S: ~8 N8 o
6 R! _; Y; `) B! croot@SAF:/usr/sbin# cat /proc/mtd& ]4 p/ X% T5 a8 E5 ]4 _
dev: size erasesize name
* O# ]' L0 W4 }mtd0: 00100000 00020000 "bootcode"7 ~' o# {2 }/ O# s- x
mtd1: 0ff00000 00020000 "ubilayer_v5") {& O7 _# S3 ?( Y" `! K. T
mtd2: 0001f000 0001f000 "flash_configA"0 z$ P% }( c3 ?
mtd3: 0001f000 0001f000 "flash_configB"
2 |5 ?4 Q0 ]( Y+ o) J, kmtd4: 0001f000 0001f000 "slave_paramA"
6 z9 p1 K/ }9 o+ s4 H- f; ^( emtd5: 0001f000 0001f000 "slave_paramB" R2 [. d+ B' d& [( n
mtd6: 030ec000 0001f000 "allsystemA"
( k* t7 e; C! a4 K6 Cmtd7: 030ec000 0001f000 "allsystemB"
/ q9 l' c7 x, s s9 Q1 Nmtd8: 00117000 0001f000 "keyfile"
( D( N% O, u3 n! S! L2 xmtd9: 0103a000 0001f000 "frameworkA"
% L2 D8 c- A6 F1 ?) }$ vmtd10: 0103a000 0001f000 "frameworkB"1 A2 M0 j7 A" G; t y% H, f
mtd11: 0001f000 0001f000 "wifi_paramA"
* N. D5 S! W1 `1 Vmtd12: 0001f000 0001f000 "wifi_paramB"
0 p2 T. W7 I C- G7 Gmtd13: 00a0d000 0001f000 "file_system". U& H! d( X5 q; v
mtd14: 06064000 0001f000 "apps"3 f) r2 n: g a" y& t( B0 w4 ~' r
" F- d. B" W0 @/ u: S- @/ H" ?8 V/ R' G/ O% b+ r: m6 ?, n" q, ?3 y
root@SAF:/usr/sbin# cat /proc/partitions
5 m! q8 L7 X& k1 imajor minor #blocks name
+ h/ u$ b, ?) q) o* G) }/ \
1 m9 b! J/ j( c$ y s- \ 1 0 50000 ram0( W1 i) q, q$ A0 p4 V' j t$ @
1 1 50000 ram1# h8 A3 x+ A; t5 m' `: ~4 Q# D" p
1 2 50000 ram25 ?8 ?6 n' ]2 [6 ?/ T
1 3 50000 ram3
8 D# G0 @, e1 M' C( O 31 0 1024 mtdblock00 n4 E( v0 ^3 a5 o
31 1 261120 mtdblock1
' z3 l6 W! j! ^5 o% V 31 2 124 mtdblock2- [. R3 X! \- O% [3 [5 H: v* Y
31 3 124 mtdblock3
0 R8 r/ C5 ~6 Z* M/ d& c 31 4 124 mtdblock45 t0 x6 a- B4 U: D9 B3 I( K
31 5 124 mtdblock57 L9 U9 \* u0 F8 E: u
31 6 50096 mtdblock6& n& f( d* f" [) F7 p
31 7 50096 mtdblock7
$ {1 u( L S( V: Y+ n 31 8 1116 mtdblock8
8 A) h0 P3 Q, j 31 9 16616 mtdblock9
. @+ ?+ _7 e( [+ x 31 10 16616 mtdblock108 S! b3 M) |3 {! b% j
31 11 124 mtdblock11# T0 _) l |5 y9 C8 L
31 12 124 mtdblock124 r: f4 G% b+ D$ W& L. b
31 13 10292 mtdblock138 q' |* l$ v; E1 m( K: f
31 14 98704 mtdblock14
8 q& P9 u; k% p 7 0 92 loop06 `$ j. w' _5 _% E- H- t% r# P1 ]/ [
, C' E9 [/ Z' ^* }8 j$ u* \6 ]: j0 E' w- }! g. Z. _# y9 ^
root@SAF:/usr/sbin# mtdinfo --all8 t; `, h6 l3 F1 w
Count of MTD devices: 15: k- O2 K6 E C; t4 M( x: J
3 d; w5 H( D/ l6 {5 iPresent MTD devices: mtd0, mtd1, mtd2, mtd3, mtd4, mtd5, mtd6, mtd7, mtd8, mtd9, mtd10, mtd11, mtd12, mtd13, mtd14' t( W8 p4 @$ G3 _
Sysfs interface supported: yes
. J6 _" k6 S s( i) n8 M# ]2 Y
% E( Z5 @) C6 L& C. Q9 S# U" p5 Nmtd0
$ p1 \2 W* d7 |- l( S" j/ BName: bootcode* M7 ]! ~4 b% ? j, B+ ^! D
Type: nand" D N, P; N) d" l) E D7 _& g
Eraseblock size: 131072 bytes, 128.0 KiB
) M6 l! r) |& b( ]/ WAmount of eraseblocks: 8 (1048576 bytes, 1024.0 KiB)4 x9 X0 @( I5 V
Minimum input/output unit size: 2048 bytes
5 P' s" I2 u% U8 w# _Sub-page size: 2048 bytes
( C8 N }# M4 I6 l& sOOB size: 64 bytes$ F8 O- o/ o0 Z: R7 C7 e9 g
Character device major/minor: 90:0
Z$ n( F M" {4 @/ z* uBad blocks are allowed: true6 b! U7 Q6 ?8 z+ K1 m9 v# f' b
Device is writable: false
, @5 i+ ~8 u: j, b
4 t- R( V- z" ]6 Gmtd17 Q& `* j' D' S# Y
Name: ubilayer_v5+ {0 G! q y( a* c3 \
Type: nand
8 }1 O# H/ ^9 S* b6 u3 c% b- ZEraseblock size: 131072 bytes, 128.0 KiB) o; L# D, U- ?4 \, j
Amount of eraseblocks: 2040 (267386880 bytes, 255.0 MiB)5 o8 I2 `' z: A/ _+ N1 j/ \
Minimum input/output unit size: 2048 bytes, w$ H2 `* ?" P+ ?' c
Sub-page size: 2048 bytes
$ c9 v- M$ Z) t8 F2 qOOB size: 64 bytes1 O0 h' a2 r$ j( ?, R2 u/ q: m+ d, d
Character device major/minor: 90:2 h6 U& K- k3 ]. \0 ~! _5 t0 `4 A
Bad blocks are allowed: true! v" |. K1 c8 A5 W
Device is writable: true9 {: Z' O9 m F# q# r; y5 z4 {$ ~% X
7 T, u* Z+ O& Y+ E. Z$ k/ C+ Rmtd2' F* t' x: ~/ i9 s! ~. M; }/ b& R
Name: flash_configA
* m$ L" ~9 D7 O8 Y% J# o8 yType: ubi& W4 N7 K! R0 H6 y* O
Eraseblock size: 126976 bytes, 124.0 KiB# Y# N4 B9 L1 L) H. d. |
Amount of eraseblocks: 1 (126976 bytes, 124.0 KiB)
4 |3 u9 X% N1 q cMinimum input/output unit size: 2048 bytes
) \& O8 G. O( i& p6 @Sub-page size: 2048 bytes
. k/ W) r3 D3 v7 u$ _Character device major/minor: 90:4
4 }+ q3 B# ^& B4 `5 \Bad blocks are allowed: false
3 Y- {8 R Z+ vDevice is writable: false
& B, u7 n9 S* ]% T7 Y1 F
' e: q6 Y" x' L- A& |0 w* Xmtd3" e" {( n0 p* ?7 V/ n9 W/ Y8 o
Name: flash_configB8 o( R2 E: Q8 n: s0 b# v3 Y
Type: ubi
3 G/ V3 l% _' w8 V9 ]Eraseblock size: 126976 bytes, 124.0 KiB
1 N2 U3 O% C) N+ y. PAmount of eraseblocks: 1 (126976 bytes, 124.0 KiB) I) \$ P# `! O6 P2 ?
Minimum input/output unit size: 2048 bytes" m" E; M. G5 ^
Sub-page size: 2048 bytes
2 B+ ~7 @3 H* q& ] Z) u. O# WCharacter device major/minor: 90:6
" Y0 r; h7 k; @7 N* t3 ^2 qBad blocks are allowed: false
) {! F8 p1 L. x Y- n) DDevice is writable: false
- {7 U' z, L* g+ v J. Z$ I1 R& x. S4 U* _7 D
mtd4; i7 P* @% T& `! x/ a6 Q
Name: slave_paramA* v4 k+ N$ o- w" O; P- x
Type: ubi
3 M: c7 V5 A1 X8 d: \+ @Eraseblock size: 126976 bytes, 124.0 KiB. [4 `# ? T: _- L5 T
Amount of eraseblocks: 1 (126976 bytes, 124.0 KiB)& V6 P2 W* q) O" t/ O: S
Minimum input/output unit size: 2048 bytes
& L m' |- A+ I i3 a" C3 BSub-page size: 2048 bytes
2 Z2 L2 p6 ^/ I' PCharacter device major/minor: 90:8- N: `+ [7 x$ f5 x$ u
Bad blocks are allowed: false
: M* x; @$ [" r% P6 O) l8 v9 nDevice is writable: false: w/ ~& `0 I: ?8 d
8 P. d1 [, N( d6 k8 p
mtd5
$ t5 Q" d* U1 t M SName: slave_paramB
& i% ^1 J2 M9 T& `. QType: ubi/ t# O4 q' t {$ N+ p8 K
Eraseblock size: 126976 bytes, 124.0 KiB" |; K" T, M6 t9 I) P O' Z
Amount of eraseblocks: 1 (126976 bytes, 124.0 KiB)
" f# @& G8 L% {& K9 yMinimum input/output unit size: 2048 bytes
4 x! y f1 F* I4 W) D8 CSub-page size: 2048 bytes
7 I* I( I1 e I% i# s. ZCharacter device major/minor: 90:10
* c8 `& y' h5 MBad blocks are allowed: false7 z9 B+ x4 }: ]; H. P% L- J! y
Device is writable: false
/ |$ ^ I7 z) F3 |) T2 G: v
0 B j" A( Q: J/ imtd6$ C4 R2 r- H9 {1 A: ~
Name: allsystemA! O- I) T: m& k) }* K
Type: ubi: w4 l0 p/ k2 I* S* [
Eraseblock size: 126976 bytes, 124.0 KiB% u& `, O v/ m6 Z- s
Amount of eraseblocks: 404 (51298304 bytes, 48.9 MiB)
( s8 ^" v, `9 W- E+ E# ?+ VMinimum input/output unit size: 2048 bytes6 F8 X! _7 D$ c3 f$ f- y4 `, w
Sub-page size: 2048 bytes: K5 F6 F2 h" D. C5 k- V* Q4 @7 ^
Character device major/minor: 90:12
, X( B2 M, Q& m1 u) s' N( \7 iBad blocks are allowed: false
& \0 ]- i! M5 j( a+ H6 KDevice is writable: false0 j* K8 n9 Z, L9 v" V' |+ ^
; K/ D6 u( Q- W. K$ k: n6 u
mtd7( ~9 F1 b+ k' l" P" i* y0 C
Name: allsystemB
/ q+ |$ m- g" L mType: ubi
0 s6 m$ j3 I$ \2 i4 Q4 D' s4 g5 BEraseblock size: 126976 bytes, 124.0 KiB
1 J( R7 Y- r6 B3 d3 x: y2 v1 WAmount of eraseblocks: 404 (51298304 bytes, 48.9 MiB)
" F# D- \+ k' p. L9 sMinimum input/output unit size: 2048 bytes$ E: d" D0 t& H
Sub-page size: 2048 bytes: q5 r' ]. ~0 B8 @5 @4 u- b
Character device major/minor: 90:14* K; W7 i5 p5 H
Bad blocks are allowed: false: ]7 H# T- t- x5 d
Device is writable: false
' F7 S9 A' [2 e: {. n' o/ V: B% |' h5 k" |$ t
mtd8. ^2 g o$ \. o- U( ]5 R9 _) \' c
Name: keyfile
( t; T; X% i$ q5 u' }2 Q4 aType: ubi/ u8 ]% w7 |" ]! u
Eraseblock size: 126976 bytes, 124.0 KiB
" }, m! b4 Z% |3 Q& Y& G' F1 UAmount of eraseblocks: 9 (1142784 bytes, 1.1 MiB)
! K" Y# H: K0 jMinimum input/output unit size: 2048 bytes5 k' E0 O( j. g; w0 m: C( s/ D
Sub-page size: 2048 bytes j5 L; y: ^/ T; G
Character device major/minor: 90:16- Y1 s0 M/ m' W$ e# ?# q! |
Bad blocks are allowed: false; {1 H! E& V& ?4 V$ X
Device is writable: true
$ F6 k, y% \) w& V( ^$ A; S$ ~2 s1 l$ H6 G! @
mtd9, m1 d9 N; f: R: r: R
Name: frameworkA
$ R/ ~# I6 F* i0 Q% |7 ?6 gType: ubi
1 ~' S0 L# F$ O" x( @Eraseblock size: 126976 bytes, 124.0 KiB
: W- Y6 T. B7 V- s* o9 b1 Q8 Q$ y0 OAmount of eraseblocks: 134 (17014784 bytes, 16.2 MiB)9 {+ Y+ |7 ^# A
Minimum input/output unit size: 2048 bytes! g$ ^/ M; R1 N% S2 s7 T% d. w
Sub-page size: 2048 bytes
% v0 {- F; k# }8 ^1 E; [* I/ \6 p( RCharacter device major/minor: 90:18 x( P( _" v! |; ?0 x: O" j
Bad blocks are allowed: false8 d8 X5 ]4 J& `/ W
Device is writable: true
+ t0 P) v3 F% V: @5 N% w
( C: x0 d0 b' Y5 ]1 r3 wmtd10
# c4 w! [6 M# c' sName: frameworkB2 C6 W1 `/ C: I+ d d T3 `
Type: ubi; k2 a3 J0 E4 Q
Eraseblock size: 126976 bytes, 124.0 KiB
+ u& m9 w" [& I+ r& y8 ZAmount of eraseblocks: 134 (17014784 bytes, 16.2 MiB)
; j) v& M' E( I( bMinimum input/output unit size: 2048 bytes2 l- T! m8 O7 a8 P) w2 z4 M& N
Sub-page size: 2048 bytes0 N. {6 C7 b$ p5 V1 B2 ~# x% ~" U
Character device major/minor: 90:20
( g2 x$ L, k: o1 T; C5 uBad blocks are allowed: false$ O' l% Z$ j: A* j5 f$ ?
Device is writable: true
+ D# k8 a( U! K) |9 z0 n" U! a! y
mtd11
8 h6 w- I2 P. O" q4 W7 v6 U, aName: wifi_paramA
. N6 B& @. h _. r: `) p8 E$ c0 cType: ubi
( s' J7 Y+ z8 zEraseblock size: 126976 bytes, 124.0 KiB+ N! i6 }7 j, R! D/ X7 i
Amount of eraseblocks: 1 (126976 bytes, 124.0 KiB)
; [2 x, n2 O2 ^, P+ _1 H" X3 WMinimum input/output unit size: 2048 bytes
% l: V; l) T- n# OSub-page size: 2048 bytes
; ?! A+ ~# p3 c# f. sCharacter device major/minor: 90:22
) ~7 q; S/ }8 s6 _* X- tBad blocks are allowed: false& w- ~: a/ k8 `# v! d0 ]& ]* {7 s v
Device is writable: false
: ?! \8 m4 W) n
0 b* r& }% i* y j7 y0 q' \mtd12
: i1 l9 C' w9 ZName: wifi_paramB
; H5 g. v) ]- O$ sType: ubi
4 D. Q$ _$ ?, c& Q7 G! g5 d QEraseblock size: 126976 bytes, 124.0 KiB
3 S5 [- W/ r8 e: P- n9 }9 YAmount of eraseblocks: 1 (126976 bytes, 124.0 KiB)
( O' ], t$ z0 q B; Q4 {Minimum input/output unit size: 2048 bytes
) ?6 _" }: W6 n7 k% x6 ~6 Q8 bSub-page size: 2048 bytes
" K' F" V# X1 E, v9 x2 o2 {Character device major/minor: 90:242 j4 S$ X9 R* ^ x( v: s
Bad blocks are allowed: false; [$ Q! i# x. e1 T
Device is writable: false
* o# O* O$ s9 |/ O5 J, v5 e @ @
mtd134 v' s) Z* f1 b6 v! p& `7 H
Name: file_system8 K' C J. @: p/ S4 j/ j" I1 }' E
Type: ubi
$ [' y1 [7 ?% q9 L: CEraseblock size: 126976 bytes, 124.0 KiB
0 F% `/ [9 Q7 Y; ^$ @Amount of eraseblocks: 83 (10539008 bytes, 10.1 MiB)
- T4 K" e- @ R+ P. r- O* N/ ~Minimum input/output unit size: 2048 bytes
% Y" X# {! M! o Z" ^7 \- DSub-page size: 2048 bytes
* m. ~! k0 L& ^$ n6 cCharacter device major/minor: 90:26
7 W. g' Q% F) P2 pBad blocks are allowed: false
$ _7 _* ?( H b$ M1 PDevice is writable: true
" r3 f( r1 I, p! L5 |5 L7 [6 C$ r, Z2 ]* L$ O
mtd142 W5 Z# {7 ]: i
Name: apps2 C7 w7 ]) Y* y% @1 W
Type: ubi3 `' s: D0 g8 A' Y }
Eraseblock size: 126976 bytes, 124.0 KiB1 y9 x( I' x4 q& a
Amount of eraseblocks: 796 (101072896 bytes, 96.4 MiB)! O- O; n Q$ p; P7 ^& @/ o2 x4 q9 T
Minimum input/output unit size: 2048 bytes
- D% w( E; ~. y- _" e$ I+ nSub-page size: 2048 bytes1 J& g0 F0 D0 C2 l$ V" e8 R2 Y
Character device major/minor: 90:28! d' ?" g2 ?% L( s3 s- A$ j
Bad blocks are allowed: false6 P/ b4 T3 K3 e
Device is writable: true
5 `$ N7 {% U/ |" \
( W1 r8 ]7 K# u% x |