|
本帖最后由 linuxoa 于 2016-4-30 11:02 编辑
: y( d* c( z9 s6 B! s% `. ]& T' S8 n/ y7 y- v7 e5 ~# D! q
关于光猫固件升级的方法, 大家知道的最多的是, 通过WEB界面进行手动上传来升级. 想了解是否还有其他固件升级的方法呢?
, Z6 x- {3 x/ H' e" |因为光猫支持运营商远程固件下发升级, 这可能是其中一种, 但是一般人也没有这样的局端设备和相关知识, 基本上很难实现;
5 L9 F5 c9 u+ p) O6 M7 \
, s/ S! N/ I4 N3 }在想是否可能在shell下面来升级固件呢, 不确定是否有类似的命令, 有谁有这方面的经验可以分享吗?
, B" c9 h' q b: d1 F4 I或者换个思路: 从官方固件中解压出独立的固件文件包: 比如: uboot.bin, kernel.bin, rootfs.bin等, 然后通过dd命令写入到MTD中
. Y& G+ ] R. q' k7 G6 {: r: f* Y# B2 D8 F- `
下面是可能的步骤, 待验证:
9 ?% s9 b. Q) d* g
& y- b2 f: f1 ? w* l r1. 解包官方固件得到各个文件包 -- 这个目前已经可以实现2. 将上面的文件复制到U盘, 并挂载到光猫USB
1 p; w [+ n1 _3. TELNET登录光猫(必须有完整shell和dd命令)( z4 {2 N& U1 Q+ E; F, F
4. 通过dd命令将将各个文件包写入到/dev/目录下相应的mtdxx设备 -- 可以参考下面了解各个文件对应的mtd设备名称(xxxA -- master MTD, xxxb -- slave MTD)
- X( _. q# U; E" W& m* N
6 K4 `/ a( ?0 {! H+ e F# HG8245C2改HG8245H版本
2 Y9 [8 W+ ]: S' I% h9 w3 S R1 BWAP(Dopra Linux) # cat /proc/mtd7 b: d) k- c# X$ h6 [' s% H9 D3 i
dev: size erasesize name" n, e0 T3 m9 y% c
mtd0: 00100000 00020000 "startcode"
! n: N2 m( S6 J* m# F+ Emtd1: 07f00000 00020000 "ubifs"
) N. N% u; u7 Fmtd2: 00000000 00000000 "reserved"
* ?& c2 _9 }5 i! X* qmtd3: 0009b000 0001f000 "ubootA"" @: U8 h+ \8 T7 I9 {
mtd4: 0009b000 0001f000 "ubootB"
- D. ^ s/ A5 P6 q* }. q% [mtd5: 0003e000 0001f000 "flash_configA"
# g8 z( b1 H, T# c9 {7 Nmtd6: 0003e000 0001f000 "flash_configB"
: ^4 F* H6 S# j( T. q$ e5 Emtd7: 0003e000 0001f000 "slave_paramA"$ t: W4 u4 C. P
mtd8: 0003e000 0001f000 "slave_paramB"
2 l) e% f7 t" @- l, Y$ s: }- qmtd9: 00307000 0001f000 "kernelA"
/ K+ \$ g2 F+ |0 `$ Imtd10: 00307000 0001f000 "kernelB"
: M+ A* [/ I J% B j0 g0 q1 Q& smtd11: 01c18000 0001f000 "rootfsA"& F. `; v3 ?- o' a b$ O8 a9 n
mtd12: 01c18000 0001f000 "rootfsB"
/ }! F! n+ ~9 B- }mtd13: 0003e000 0001f000 "wifi_paramA"! S3 x) k! m d
mtd14: 0003e000 0001f000 "wifi_paramB"2 d1 D" B) {$ |2 F& V
mtd15: 0003e000 0001f000 "system_param"2 v8 L& M$ a* k7 B
mtd16: 0141a000 0001f000 "file_system"
! G( v0 |6 }5 A! ?; Z: _* y2 ^9 O/ m" T' J# i
|
|