找回密码
 注册

QQ登录

只需一步,快速开始

查看: 23538|回复: 30

【斐讯K2P】刷机教程完整版以及固件加工具包

[复制链接]
发表于 2018-3-31 02:14:30 | 显示全部楼层 |阅读模式
2 h, d# }4 L7 C7 v7 d+ E

; ~* u6 S4 N6 @; ]刷机前请先备份3 b; n) K4 ^4 ]
) u3 E  c) c$ E4 F6 |- N
斐讯K2P的配置文件加密方式与K2一模一样,因此可以用配置文件恢复法来开启telnet或运行任何命令。
# d- M3 D: D, ?, k7 |+ }3 d) m, m- ~' C/ j  ~/ R+ d

) h3 L* M' j( N. d  a2 ~# B
( \) n2 ^9 t! A* A- I- [注:下述方法仅保证在官方固件或官方定制固件 V22.5.7.85版本下有效,刷入第三方固件后执行不一定有效(命令和分区不同)/ j0 g+ _" s2 R$ f; _$ y8 K
K2P V22.5.7.85版本后新固件更改了配置文件加密方式,此方法已经失效,
) E. E7 n# ?7 |0 s# p; z9 P
【开启telnet方法】
9 S1 X" e( I# J/ d! ~# y* F" k% g1、进入http://iytc.net/k2p.php
2 I" O+ q% X4 f4 w: a, n, ]2、输入你的WAN口MAC地址,下载配置文件(如验证码不能校验,请开启cookie或更换浏览器再试)) ?. \/ p5 ]/ x2 p; _
3、用此配置文件恢复即可开启telnet
& p' A1 s1 {) K, u7 s$ z恢复此配置文件不会更改你的其他配置
: q, C: w# X, x恢复配置会重启路由器,重启完成后计算机即可通过telnet或putty工具连接K2P/ q! K7 F2 `' ?0 f
后续如需取消telnet,可以编辑/etc/rc.local,加#号注释telnet行即可:
. B9 O4 a. o. I4 l#/usr/sbin/telnetd -l /bin/login.sh% H$ \9 M8 D& J5 U0 n4 ]! ^" W8 e
, ]. z; F6 n2 a. i+ j/ q9 ^+ n2 B) Q" i

& f' @" ?) h( K2 I6 Y; h4 S【备份固件方法】# Q" a5 g6 C# ~0 F
2 H, R6 z/ H" T+ z
一、编程器固件备份(所有分区)
. p4 a% Y3 c7 Q: i* i) O-------------------------------------------------------------------------------------------------------
5 d% F/ U9 e$ G: i. @! y  k计算机telnet连接K2P后,按如下操作输入命令" _. g, J% j0 N0 r  T
1、将固件保存到内存% [0 R6 p  a0 _3 |  B% R
  • dd if=/dev/mtd0 of=/tmp/all.bin) g% Z' w8 `) C4 e& R
; O' C+ d: D  g9 ]' g
[color=rgb(51, 102, 153) !important]复制代码

% g  c! w2 W1 w2 I# f# \( m/ l, Z% w  J- S
2、将内存固件映射到http目录
( w5 d) G+ m+ h- p
  • cd /www
  • touch all.bin
  • mount --bind /tmp/all.bin /www/all.bin+ I% _6 e3 T9 }6 i) ^" X4 [, J

( Q: `6 m/ \  B* U. V! e2 D* |& z[color=rgb(51, 102, 153) !important]复制代码

9 V% `! r) M6 e' C1 ?+ M+ o
; N  Q* n% H8 D# u5 t5 x3、下载备份固件到计算机
0 |4 p' B  W% G/ ?计算机访问
+ l; ]- O- _( ]/ Jhttp://192.168.2.1/all.bin8 Q$ n' E5 [$ S6 Q$ E7 U
即可下载固件( o2 @. u- d# i* [/ H  A4 q5 T
192.168.2.1为K2P地址,如你已修改,则更改此地址( W/ Y  d$ D* @/ W+ A
备份的固件大小为16M,为整个FLASH的备份(含boot、eeprom、固件及你的配置),这个就是所谓的编程器固件,适用于编程器刷入或用命令恢复整个FLASH
4 q4 a0 |/ ^. q0 s; W' H6 [) v! [
) ]4 O2 q# A% X7 O+ ]7 g$ h2 p二、纯固件备份(firmware分区)
; E  j8 J, }* d* z-------------------------------------------------------------------------------------------------------
7 j4 }- ~$ H! V  q9 j1 ]9 n; R如果要备份纯固件,则将mtd0改成mtd5,只备份纯固件(firmware)部分:
. H8 ~& N, o( |+ U2 d
  • dd if=/dev/mtd5 of=/tmp/fs.bin
  • cd /www
  • touch fs.bin
  • mount --bind /tmp/fs.bin /www/fs.bin
    ( `$ a/ ~! Y2 a4 ]3 e. e
0 n( Z  l8 g. x2 A, a0 b) Z: {! H
[color=rgb(51, 102, 153) !important]复制代码
" r# O  `, f3 `" G
( a, X' k& O% y9 M4 }' d
计算机访问
# [# C& g& Y+ R2 E8 {http://192.168.2.1/fs.bin
/ C, p5 J3 S: Q% S: m+ h& A- l即可下载fs固件
. a: F0 ~6 |3 [9 h, Z0 z4 |- k+ i- v* ^& |6 H9 \& [9 d% v
三、EEPROM备份(出厂分区Factory)
+ S0 Z; {8 i+ u-------------------------------------------------------------------------------------------------------
! G% A" F2 I, Z$ |其实所谓的“EEPROM”就是FLASH中的Factory分区,标识为mtd3,包含了你K2P的一些关键参数信息,如MAC、无线出厂参数,此分区在编程器固件中已经包含
6 z; W) X3 N/ j' F1 ~备份方法:2 M  p/ @' ~2 ?
  • dd if=/dev/mtd3 of=/tmp/eeprom.bin
  • cd /www
  • touch eeprom.bin
  • mount --bind /tmp/eeprom.bin /www/eeprom.bin
    9 o! H, g$ \. r3 D. Y  @. G
* }, ^; r( r5 z3 d9 o( b
[color=rgb(51, 102, 153) !important]复制代码

3 U* P( ~) i* C& {
2 x" m0 E$ x" \$ r# u3 d! l计算机访问4 ?- s* T% l( g* a: `
http://192.168.2.1/eeprom.bin
7 G. a. o4 s7 R" N# b4 _' j: v即可下载eeprom固件
- e7 O/ w! a  ^5 p, L0 G- N注:升级官方固件或官方定制固件不会更改eeprom
- G' @* n5 x# v7 Y( |2 \7 @5 O: ]. E+ z1 G$ Y
固件备份后建议重启一下路由器或"rm -f /tmp/*.bin"删除备份固件,否则会占用内存) d' s: R! b7 ^; H% f' e: A
重启后可以用“rm -f /www/*.bin”删除多余文件& X6 s! ^) B1 _* I. A( ~

2 D6 [. A' `% y. d% I7 ]5 P0 S( {【恢复固件方法】
# s4 T8 O0 L, I' g1 o注意:此操作为高危操作,请仔细阅读下面的说明. Q/ Y: N$ Y# W0 E& W2 L% _& N

% c" a5 n9 Q$ x一、编程器固件恢复方法, |( s: _2 @' j7 Y2 T$ g
-------------------------------------------------------------------------------------------------------1 y8 |& [* ~  c! h
一定要是编程器固件【大小应该是16,777,216字节】哦,不然死给你看:: k, L& |! j. m& @! a1 |
1、检查编程器固件all.bin的大小是否为16,777,216字节,不是的话不要刷
2 l! z# z( E- [% G7 ?: i- k; Y2、用winscp将编程器固件all.bin传到/tmp目录 / M; }4 e$ _5 g$ \( q
3、telnet连接K2P,输入! A: ?# g  N/ U9 S$ }4 G
  • mtd -r write /tmp/all.bin ALL" R* v) e) n/ ?: E2 s: h" y/ A
" d- Q2 ]! W4 K
[color=rgb(51, 102, 153) !important]复制代码
1 A) i2 `: q1 K/ W% ]4 c+ E

* }! A: q" D( a! X$ O. B注意ALL要大写
  c( J, Z/ }( N; h9 S. [0 |耐心等待FLASH写完,K2P会自动复位,启动后即恢复为原始固件
& V5 l4 S. d+ `$ o, j7 e# A. |% d) ?; A0 u6 x% B
如果你刷了第三方固件,上面第3步的命令可能不一定合适,你需要先用cat /proc/mtd命令查看分区信息,然后mtd刷入包含整个FLASH的分区- ~! u8 w! D+ D# h8 z
比如潘多拉固件,他的分区信息如下:
  A! x: r1 Y% N - l1 Z+ [# A0 T: }" N! O, |! b
整个flash的分区是mtd3(size大小为0x1000000),名称为fullflash,那么恢复编程器固件的命令为:
. q8 [' A6 T  J) e+ g
  • mtd -r write /tmp/all.bin fullflash
    , L$ ^8 k# S) v; B$ @- q
# z" a# q$ |2 ^2 N" ?8 n# N
[color=rgb(51, 102, 153) !important]复制代码

  h/ _, i3 y& `& Z4 _& q( z. B7 l: T# ^- y: N4 R. l: R
第3步改成上面的命令即可
" I  S- ?. J# c8 S! ^$ B* f# l! J5 n  ~" I! k& M( q
二、单独分区的恢复方法
2 u+ K1 O3 }- u7 D3 T3 r- E- C3 y-------------------------------------------------------------------------------------------------------. x1 ?, \3 e/ `' u, [( y
如果你恢复了编程器固件,就不再需要恢复单独的分区了- m5 i: h: v! M: A5 t
9 W3 |$ i% x! a7 t
如果你需要在官方或官改固件单独恢复eeprom或firmware,只需执行如下操作:1 p+ T* e9 z$ a, ]& f( x* \0 R& x
恢复eeprom:
2 J+ C, i% ?6 x; V+ O( K用winscp将编程器固件eeprom.bin传到/tmp目录,执行“mtd -r write /tmp/eeprom.bin Factory”
  R3 Y( Y' U4 z2 s恢复firmware纯固件:4 p3 M- v6 W7 {3 r! p
用winscp将编程器固件fs.bin传到/tmp目录,执行“mtd -r write /tmp/fs.bin firmware”
- [' A9 ^+ {3 W' X0 D其他第三方固件操作方式类似,但命令需根据分区名称来修改  ^; D! Z2 Z7 V& O5 y

. j6 [! Y  n: Z! a  s4 Y' y【安装开启SSH】
9 h, c) m& Z: @1、安装SSH' O( n0 z* v5 I* D* r1 q

$ W2 M# @6 X) D& D[color=rgb(51, 102, 153) !important]复制代码
1 N' w$ L9 J3 m4 f9 G9 z2 f6 t
安装过程中会提示错误,可以不用理会,继续往下执行。
4 K! r0 [: F' o# I2 ?6 Y$ Z2、设置ssh自启动,添加ssh账户5 l+ J" X! K4 C% e% k' ]
  • /etc/init.d/dropbear enable
  • echo -e 'admin\nadmin' | passwd root
  • /etc/init.d/dropbear start
    / R+ G/ }& |1 F. Q. B" ?3 `% n1 s
1 |' n! C4 W4 @( |$ ?1 x
[color=rgb(51, 102, 153) !important]复制代码

" O4 a* N3 x& v: C2 s) jssh用户名root,密码admin
5 g% L6 _0 v+ @4 l/ |+ X3 I9 m/ i, {5 V
【净化方法】
" j7 {# p' V! W9 e计算机telnet连接K2P后,按如下操作输入命令
( K0 J% V4 }4 U$ Y( H1、禁用广告推送
: X, ^; B$ u  i3 n( U" o
  • /etc/init.d/adpush stop
  • /etc/init.d/adpush disable) X  Q/ r( G  m, G  N4 F# M% p

  n4 N# p6 e, A; g  H2 r[color=rgb(51, 102, 153) !important]复制代码
" |+ r: B2 ?) H! x- d  g
" c. z) H, |) q$ M
2、禁用可疑进程
& j/ o% |6 N- L6 _9 N5 \8 U注:下面几个禁用后无法使用APP远程:9 \  v4 W: w( W. A& b  G
  • /etc/init.d/lc stop
  • /etc/init.d/lc disable
  • /etc/init.d/tr069 stop
  • /etc/init.d/tr069 disable
  • /etc/init.d/collect stop
  • /etc/init.d/collect disable
  • /etc/init.d/capp stop
  • /etc/init.d/capp disable, S4 j, {) V& X5 `8 D: C

  f# z: n- Z+ |! A% Z4 m[color=rgb(51, 102, 153) !important]复制代码
* x! o! X; s, D( J# j- `
( t3 Z+ S( Q7 M5 a: @6 a

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2018-3-31 13:42:00 | 显示全部楼层
K2P有两种版本,一种是BCM芯片(博通)的,另外一种是MTK芯片(联发科)。0 A4 {  e+ K5 P6 l7 y+ |$ C- N8 ?+ u
& ?/ o2 P0 S4 v# G$ g
楼主这篇文章只适用于MTK芯片的K2P。
# y6 X' Q$ [) q9 Q5 [
# m. R+ T" _5 E& t- b% i还有,现在生产的K2P都是博通芯片的了。+ B7 n8 V6 ^  w, G) B
) R1 ?0 s8 T- y( ]
如何查看自己的K2P是哪种芯片的?只需查看机器底部的标签所标的硬件版本就可以知道
# |: H1 N' r9 N: I4 o& k
$ G" |1 t) Y, q所标硬件版本为A1或A2的是MTK芯片,硬件版本为B1的为BCM芯片。如下图:9 C) T/ \" S+ n( r8 Y

9 Y- o# n: R0 }8 i
发表于 2018-4-1 03:29:44 | 显示全部楼层
感谢分享,吼吼。。
发表于 2018-4-27 17:23:29 | 显示全部楼层
转载记得注明出处
发表于 2018-5-3 20:55:11 | 显示全部楼层
感谢分享,赚取猫粮
发表于 2018-6-6 23:22:25 | 显示全部楼层
学习了,感谢分享
发表于 2018-6-14 10:50:27 | 显示全部楼层
都是神一样的存在啊
发表于 2018-6-14 19:24:31 | 显示全部楼层
谢谢楼主的分享
发表于 2018-7-18 14:26:49 | 显示全部楼层
这个恩山上面有,还要猫粮换?
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|宽带技术网 |网站地图 粤公网安备44152102000001号

GMT+8, 2025-5-1 23:18 , Processed in 0.030164 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表