|
本帖最后由 linuxoa 于 2016-4-30 11:02 编辑 ! C# ?6 I7 O1 d! t* ~
- G; |9 q, v1 x
关于光猫固件升级的方法, 大家知道的最多的是, 通过WEB界面进行手动上传来升级. 想了解是否还有其他固件升级的方法呢?
+ `% q! |; q5 r& _$ C; i因为光猫支持运营商远程固件下发升级, 这可能是其中一种, 但是一般人也没有这样的局端设备和相关知识, 基本上很难实现;
! o3 m7 F- J; V4 b6 n9 `: z2 \7 U) h1 ^2 P1 ]6 X8 E# \3 f9 Q
在想是否可能在shell下面来升级固件呢, 不确定是否有类似的命令, 有谁有这方面的经验可以分享吗?/ B4 H" X* p: M1 ]7 T; `
或者换个思路: 从官方固件中解压出独立的固件文件包: 比如: uboot.bin, kernel.bin, rootfs.bin等, 然后通过dd命令写入到MTD中
/ @) G/ v5 k4 Y0 [5 u
; N+ f, m7 p9 {6 Y) F7 F下面是可能的步骤, 待验证:( g9 h. B2 {8 i3 h
+ T4 c) h6 L" J2 ~' K4 f1. 解包官方固件得到各个文件包 -- 这个目前已经可以实现2. 将上面的文件复制到U盘, 并挂载到光猫USB
3 _3 W* s% L& \5 v, L) p! l3. TELNET登录光猫(必须有完整shell和dd命令)
5 L( b, M2 T' n4 J; q4. 通过dd命令将将各个文件包写入到/dev/目录下相应的mtdxx设备 -- 可以参考下面了解各个文件对应的mtd设备名称(xxxA -- master MTD, xxxb -- slave MTD)
' M" X2 [6 s( B0 l' G0 p$ E( W4 ^& ~7 v( W9 c+ e, @$ L L
# HG8245C2改HG8245H版本8 ^8 D& o" h7 [
WAP(Dopra Linux) # cat /proc/mtd
/ ?# ]7 L- k ]dev: size erasesize name6 C& Q; h, n( I7 Y4 E1 x3 [
mtd0: 00100000 00020000 "startcode"
5 X- C5 G# }* w. r. N( Hmtd1: 07f00000 00020000 "ubifs"6 q& w7 H0 y7 y% j5 [
mtd2: 00000000 00000000 "reserved") {, K4 {- V1 O8 N% b4 o! `9 R
mtd3: 0009b000 0001f000 "ubootA"7 @# F$ X: i- M' q( ~
mtd4: 0009b000 0001f000 "ubootB"
9 s+ W+ j1 t2 F% r' W# |- B) gmtd5: 0003e000 0001f000 "flash_configA"% w; L9 X+ b# _0 f3 d# [5 @7 j
mtd6: 0003e000 0001f000 "flash_configB"1 ~$ B+ o% D7 Z! I, o
mtd7: 0003e000 0001f000 "slave_paramA"
+ K [6 q% ^8 F0 `% k9 d1 Wmtd8: 0003e000 0001f000 "slave_paramB"
+ u: A0 ]$ c. A) Emtd9: 00307000 0001f000 "kernelA"% k0 v" M6 P0 l! r$ u& J5 S
mtd10: 00307000 0001f000 "kernelB"
% ~; T3 K7 Q& t) t% Y9 A' Xmtd11: 01c18000 0001f000 "rootfsA"
/ |! j5 d: g5 dmtd12: 01c18000 0001f000 "rootfsB"4 D9 }5 f" q0 N
mtd13: 0003e000 0001f000 "wifi_paramA"
) q) L. L/ E9 Jmtd14: 0003e000 0001f000 "wifi_paramB"
5 L$ y, I) Z9 p b5 M: Cmtd15: 0003e000 0001f000 "system_param"
9 K1 K; m: Q, B% b' m/ Jmtd16: 0141a000 0001f000 "file_system" " s' Y, ^7 @' D% G
! y& l# k, C6 Q ~, S' m ~ |
|