找回密码
 注册

QQ登录

只需一步,快速开始

查看: 24166|回复: 30

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

[复制链接]
发表于 2018-3-31 02:14:30 | 显示全部楼层 |阅读模式
# ]. T& n, |6 J1 c* D- j5 f: `

* R% {2 S' k# C: K9 V刷机前请先备份
9 r+ V" D8 ^1 Q" D" B9 [& {' [
1 V' q4 ]1 ~* X2 d# J- }斐讯K2P的配置文件加密方式与K2一模一样,因此可以用配置文件恢复法来开启telnet或运行任何命令。+ C+ K4 w- q2 d
5 \8 l( o& F% I0 Q% u: b5 h

6 A& P1 Z: e$ B( L# I* L0 G0 Y; u! Z( N/ N
注:下述方法仅保证在官方固件或官方定制固件 V22.5.7.85版本下有效,刷入第三方固件后执行不一定有效(命令和分区不同)- x& e, r3 b7 H4 d: n1 B: b( m
K2P V22.5.7.85版本后新固件更改了配置文件加密方式,此方法已经失效,
/ N# S6 C  q# ?- f( b- w; ^9 d
【开启telnet方法】: i5 [9 J: W/ A/ d
1、进入http://iytc.net/k2p.php
3 |" R0 L; ^( ?) S6 A- h2、输入你的WAN口MAC地址,下载配置文件(如验证码不能校验,请开启cookie或更换浏览器再试)
8 `: n6 A8 b6 @+ [" Y3、用此配置文件恢复即可开启telnet
/ o: I9 I* C% B- p7 o恢复此配置文件不会更改你的其他配置
8 r' r" ?3 P( [恢复配置会重启路由器,重启完成后计算机即可通过telnet或putty工具连接K2P
: y4 S2 d4 p! i3 y  f后续如需取消telnet,可以编辑/etc/rc.local,加#号注释telnet行即可:6 H9 S: Z- Y9 ~9 t- [
#/usr/sbin/telnetd -l /bin/login.sh$ [9 j; w/ r  Q: C5 C
4 e) l5 o8 |1 i9 S5 D. f
) z3 }0 t8 J' v2 [7 i% z) p& }
【备份固件方法】! i3 z; A7 r1 f  o/ m/ z' x
0 I: N2 J: c6 c% E
一、编程器固件备份(所有分区)# t  H* U" y6 T! ~% k' l+ d& S2 G
-------------------------------------------------------------------------------------------------------. [& v% w8 S$ r1 U
计算机telnet连接K2P后,按如下操作输入命令
' z+ k- L( @* n+ S( {1、将固件保存到内存1 k* X5 E: k8 p* }5 }2 U
  • dd if=/dev/mtd0 of=/tmp/all.bin
    1 k4 J4 Z8 e* E  ?
; d; x0 g9 `3 T. a
[color=rgb(51, 102, 153) !important]复制代码

5 S1 I9 X5 f; K0 B
9 C4 U8 D1 ~$ N- I) U4 G9 L& j2、将内存固件映射到http目录
3 w9 l0 U) o  }/ s0 Y+ W( H
  • cd /www
  • touch all.bin
  • mount --bind /tmp/all.bin /www/all.bin
    6 W0 r, k: r* X
' K1 A2 D8 ^+ v7 A
[color=rgb(51, 102, 153) !important]复制代码

8 q2 f2 l3 ~, o* \8 v' H
9 B: d& j# z; K. Z3、下载备份固件到计算机
; G+ s  {0 {; k9 Y6 l计算机访问
' W' Z2 X. W1 y6 `http://192.168.2.1/all.bin
3 R' k9 c3 a7 t& ^+ b即可下载固件6 y6 s4 f5 {8 D7 H2 P+ U0 d9 O$ K
192.168.2.1为K2P地址,如你已修改,则更改此地址/ ?% |, d  \. H4 X6 D3 i
备份的固件大小为16M,为整个FLASH的备份(含boot、eeprom、固件及你的配置),这个就是所谓的编程器固件,适用于编程器刷入或用命令恢复整个FLASH
0 m3 L# N! W  p& k
8 ~/ ]( b. ?5 p& Z( u. d: k二、纯固件备份(firmware分区), B, z/ O( ]/ D( q7 @  }1 @
-------------------------------------------------------------------------------------------------------5 |9 C0 `3 H+ W2 S* _
如果要备份纯固件,则将mtd0改成mtd5,只备份纯固件(firmware)部分:
& t+ f; d; P; S( P$ C* y! }/ y- {- m
  • dd if=/dev/mtd5 of=/tmp/fs.bin
  • cd /www
  • touch fs.bin
  • mount --bind /tmp/fs.bin /www/fs.bin
    ! G, k$ }7 y  I' X; I% A

+ V: f% ^1 `+ w. ]! Z4 [[color=rgb(51, 102, 153) !important]复制代码

) R- `+ P% u, K
! z7 A7 @; ]% L( {1 ?7 A计算机访问8 Z9 X& ?7 D8 n( K: P  Y" I
http://192.168.2.1/fs.bin
8 Q% Z  C3 E. v6 }0 A  v& W$ N7 n即可下载fs固件
) O" O/ P" m5 x* m+ W7 @# g! y! z+ j0 {4 ?1 K: ^5 D
三、EEPROM备份(出厂分区Factory)
5 j, A! F% _, i6 |-------------------------------------------------------------------------------------------------------1 j7 v2 ~$ ~1 d) ~" q% k3 A5 ^
其实所谓的“EEPROM”就是FLASH中的Factory分区,标识为mtd3,包含了你K2P的一些关键参数信息,如MAC、无线出厂参数,此分区在编程器固件中已经包含
# h# m/ d  l. ^备份方法:# a( r4 ^# X- h; g
  • dd if=/dev/mtd3 of=/tmp/eeprom.bin
  • cd /www
  • touch eeprom.bin
  • mount --bind /tmp/eeprom.bin /www/eeprom.bin
      H: d. T7 Y6 b9 l2 B/ [0 ?# }6 B

! D' k2 b) [8 ~1 G4 S[color=rgb(51, 102, 153) !important]复制代码

5 F+ o) ?4 G4 W+ Z; R$ p$ o1 k4 R0 a# S# [  q
计算机访问
2 p; P) I0 {  |' A- ?: b. xhttp://192.168.2.1/eeprom.bin
9 ?/ H1 U6 Y$ R0 d* w9 M5 G即可下载eeprom固件
3 d" E) }4 A1 B+ d: z2 g注:升级官方固件或官方定制固件不会更改eeprom
! B7 W  J3 y* d' z7 b+ M4 ^* V: H  C5 I; s9 u
固件备份后建议重启一下路由器或"rm -f /tmp/*.bin"删除备份固件,否则会占用内存1 \4 }5 U5 X3 \) |& u5 I" j
重启后可以用“rm -f /www/*.bin”删除多余文件
+ U8 x% ]7 x& O6 C) N) O) U9 S( z7 }+ e, D4 p
【恢复固件方法】# `0 _1 H+ C7 q8 ^9 |% |
注意:此操作为高危操作,请仔细阅读下面的说明: y' b# |* y& @7 M  d: r

9 c% {% y5 k2 q/ A9 g. ?一、编程器固件恢复方法
0 v1 c9 {# @0 y1 x( s9 A-------------------------------------------------------------------------------------------------------. ^$ n& Y# K4 R. K( Z& x3 `4 @2 u
一定要是编程器固件【大小应该是16,777,216字节】哦,不然死给你看:
  b8 j" S" e" x+ f( G1、检查编程器固件all.bin的大小是否为16,777,216字节,不是的话不要刷
* s0 a% g% Q3 e/ p# y5 }2、用winscp将编程器固件all.bin传到/tmp目录 4 ^, h3 Y2 m7 P
3、telnet连接K2P,输入- i1 G' V* P- k3 @4 e. l
  • mtd -r write /tmp/all.bin ALL
    ( b. R& V" k9 n- g

. g. ^. n6 u' d8 O, i' Y0 z: l[color=rgb(51, 102, 153) !important]复制代码
4 @5 z; o7 H5 }9 I3 _6 E* g
: R" m* g0 K6 U- O0 e; ~  m, f
注意ALL要大写5 P2 k- R; L% T
耐心等待FLASH写完,K2P会自动复位,启动后即恢复为原始固件
( o2 v/ u1 R: \+ K% g0 t* O# n7 a8 R
如果你刷了第三方固件,上面第3步的命令可能不一定合适,你需要先用cat /proc/mtd命令查看分区信息,然后mtd刷入包含整个FLASH的分区
0 U- x, i( K% w) |* S$ T) ?比如潘多拉固件,他的分区信息如下:
) U. Q$ B2 H3 O) V# V9 \1 P5 c
& i" P, L0 W8 [. I) N整个flash的分区是mtd3(size大小为0x1000000),名称为fullflash,那么恢复编程器固件的命令为:# @, ?) ~- j! w+ H7 a
  • mtd -r write /tmp/all.bin fullflash+ Z3 ~" c9 {3 C8 k+ n. X/ o2 e# ?

+ \% s# c+ d( m+ i# n7 I[color=rgb(51, 102, 153) !important]复制代码
- Y+ C+ ~, }) L- T" ]
5 N1 G8 Z5 u2 o$ B  i
第3步改成上面的命令即可: v. k/ M* ^* H! G: X  G9 G
$ L- i0 D7 ?4 b" ^7 A5 N$ f
二、单独分区的恢复方法, ?2 ~  K; \! z
-------------------------------------------------------------------------------------------------------6 h+ `4 ?3 n  z0 e) t1 B
如果你恢复了编程器固件,就不再需要恢复单独的分区了
6 {5 B/ T4 E5 m2 x
& u  x9 s" i) i, h/ x2 X如果你需要在官方或官改固件单独恢复eeprom或firmware,只需执行如下操作:
0 Z3 m; f$ j9 r6 j3 z( E9 v恢复eeprom:! @! k+ a2 ^5 q$ Z! [' O, j$ M
用winscp将编程器固件eeprom.bin传到/tmp目录,执行“mtd -r write /tmp/eeprom.bin Factory”
4 {# f7 Z2 B2 A& S. Z: G恢复firmware纯固件:
# a/ V! D( J3 b  g% G7 F用winscp将编程器固件fs.bin传到/tmp目录,执行“mtd -r write /tmp/fs.bin firmware”- H' B  ?0 [9 N$ ?7 S
其他第三方固件操作方式类似,但命令需根据分区名称来修改
, w8 \: B( r- e/ o4 O5 I) t
3 Z' T" Y! D- `, x) f: u9 X# E2 {【安装开启SSH】
9 G8 Q) R  H& O9 ]. d1、安装SSH
$ G/ d8 s* k/ |2 E& }5 O5 |8 B0 e8 c& C' i+ {  y/ z2 X& L& p
[color=rgb(51, 102, 153) !important]复制代码
' p9 F* |7 w  o  D2 F8 \
安装过程中会提示错误,可以不用理会,继续往下执行。
! w" |. h6 ^4 o' W, r2、设置ssh自启动,添加ssh账户
( ~5 H$ F8 D' z" u; Y/ ^7 ]
  • /etc/init.d/dropbear enable
  • echo -e 'admin\nadmin' | passwd root
  • /etc/init.d/dropbear start
    4 v  w$ n. X9 z3 A

3 P. x# g. }( `9 m) [( S2 M/ ^6 B[color=rgb(51, 102, 153) !important]复制代码

" ~- e% I& g" d& Yssh用户名root,密码admin8 z" Z! f0 v+ i" Y( x

, s! @9 [9 O: v【净化方法】
$ A3 ]8 _( U- s. }5 Q3 T+ ~计算机telnet连接K2P后,按如下操作输入命令9 E7 b6 ^, z" L5 ?! u+ s
1、禁用广告推送
0 F7 a. q- Y& u
  • /etc/init.d/adpush stop
  • /etc/init.d/adpush disable/ ~5 u9 }+ G+ P7 I
: }" L; V# y! y/ S2 u
[color=rgb(51, 102, 153) !important]复制代码
5 W* u6 _  O5 {3 e1 @) Z" l, T

4 E3 u" o2 a* e0 A$ l. t2、禁用可疑进程
% E9 r% Q" `4 M' q' |注:下面几个禁用后无法使用APP远程:
: k2 R+ t1 w+ w3 A# Z9 s5 B
  • /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- F3 b6 D( X7 h4 [5 r, \, T+ a
( {3 t, f+ H9 Q
[color=rgb(51, 102, 153) !important]复制代码
- t; W# N, L+ v" d- W* q

" Q; _2 z; z- B* g- G  R8 O+ h3 r

本帖子中包含更多资源

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

×
发表于 2018-3-31 13:42:00 | 显示全部楼层
K2P有两种版本,一种是BCM芯片(博通)的,另外一种是MTK芯片(联发科)。1 l; u* a8 a& _7 w6 ~

& f1 U# t+ @. Y" l楼主这篇文章只适用于MTK芯片的K2P。
0 `1 Z- X, g! \( N5 v7 R; g5 u- q; {! H
还有,现在生产的K2P都是博通芯片的了。
( \% R. [+ B( k1 x, X* c- ]! m$ ?& s( I  v
如何查看自己的K2P是哪种芯片的?只需查看机器底部的标签所标的硬件版本就可以知道
2 I  z% F. {3 ?3 j1 X# g5 m% f" \" t$ Q; P
所标硬件版本为A1或A2的是MTK芯片,硬件版本为B1的为BCM芯片。如下图:8 [$ F+ C8 d- O4 q/ A9 u
8 ]+ k; X7 v( |7 d
发表于 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-6-17 02:41 , Processed in 0.027927 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5 Licensed

Copyright © 2001-2020, Tencent Cloud.

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