|
|
本帖最后由 IamManho 于 2019-10-6 16:38 编辑
. x' B. E7 w; s# }9 G
: U6 S, F8 c; c# r5 D5 e5 F本方案仅针对 原版猫盘使用USB直刷X3P 有效。如使用一键刷机1.0和TTL等刷机方案不需要尝试,因为原机MAC和SN已经被覆盖。而一键刷机2.0,修改成对应的MAC也有效。% P: F( t4 }$ k9 _. E6 K+ }
9 c. Z! h6 g g+ ^, I
1、登陆SSH。! w2 f9 L& R F; X- b% A' @" |
2、输入命令行。
7 q3 n. W. V8 {7 j8 Z" g2.1、输入”mount -o remount,rw /“
% Z+ w. R$ F- d# @9 ]2.2、输入”vi /etc/init.d/S21wire“最下面找到如图修改后保存。 这个步骤需要注意,我的方案是完美恢复原机MAC。1 \3 d. k- O; W* Y: J6 a, p
也就是原机主板MAC和后盖的MAC是一致的,而不是其他教程修改成其他非原机MAC。: J& ?- q: X" {) I
修改MAC为原机前三段(猫盘后盖就是你的原机MAC,通常都是4C:65:A8),不是修改后三段。2 y9 \0 r- o$ A5 p
, b( v; k+ U6 a4 U/ e
2.3、输入”reboot“重启。2 x; K5 |* k, v: T' G8 E
) p- c7 |, P% ?2 e% d: E
# E$ C9 C+ T6 f. I# h8 t0 i8 g8 ]' q7 R4 r6 n! @5 H
顺便给大家科普一下这段代码的意思,与教程无关。setWireMacaddr()0 b% w6 w$ a' U2 R+ q
{
( i" o4 b2 A& a2 ]+ Y$ D: h local face=$1
+ o/ ~- o s2 c& V7 m) ^" N3 o MacAddr=`/opt/bin/mac_tool read $2` //读取主板的MAC,例如原装主板MAC为 4C:65:A8:AA:BB:CC
/ E9 P* D0 U) e) [4 ^/ t #if [ "ff:ff:ff:ff:ff:ff" != "$MacAddr" ] ; then6 k A7 a; Q' k4 B/ l
# ifconfig ${face} hw ether $MacAddr; l* F' M0 g# M5 J* D4 k
#fi
3 p7 r4 Q& `- l1 C1 Z/ D
' G5 Z( M8 k. X- M3 ?4 Z4 J8 t MAC_ADDR_PRO="78:C2:C0" //预设字符串 78:C2:C0
0 [$ A. F2 |6 e# ?, i# _2 d. _ MAC_ADDR_ERR="E0:E0:E0"6 V; _1 s1 [( N* R) J
PRO_TMP=${MacAddr:0:8} //截取主板的MAC前八位字符为4C:65:A8: A7 @! g: u2 C! w5 b5 D: G
pool=(A B C D E F 1 2 3 4 5 6 7 8 9 0)0 ?7 s! O ^9 Y7 \# x3 O
num=${#pool}
& ]* \0 n* Q6 I9 U3 q; q ADDERR="${pool[$((RANDOM%num))]}""${pool[$((RANDOM%num))]}":"${pool[$((RANDOM%num))]}""${pool[$((RANDOM%num))]}":"${pool[$((RANDOM%num))]}""${pool[$((RANDOM%num))]}"
7 Y0 j! V l+ f ?! K; q: [
$ R5 j4 [: }8 Q3 a9 M: M- ] eth_part=$(echo $PRO_TMP | tr [a-z] [A-Z]); ~ l; ^$ [" f) H) a1 e. p0 v
pro_tmp=$(echo $MAC_ADDR_PRO | tr [a-z] [A-Z])
`) I/ ^% }9 T, N+ d if [ X"$eth_part" = X"$pro_tmp" ];then //判断MAC——主板八位MAC(4C:65:A8)与预设字符串(78:C2:C0)
5 K3 R1 o+ T. s+ k- }( ]+ R ifconfig ${face} hw ether $MacAddr //如果MAC前八位一致,则使用主板MAC $ |( m5 P& @* Z
else8 `2 A7 ~4 S, K; Y/ v; G
ifconfig ${face} hw ether "$MAC_ADDR_ERR":"$ADDERR" //不一致,则使用 (E0:E0:E0)+(随机生成的后八位组合),这一句就是为什么每次重启MAC都不一样的原因。1 d8 q8 y9 X6 |- u' A) ]+ J
fi* v" B0 X, W/ |! g- }/ O
}
: C, U9 I. O* m0 Z+ D+ g8 Y9 P+ @
& ]1 _2 ~/ ?+ T9 l3 H8 b% }7 F通过分析代码可以得出,如果你的猫盘是原装未经过TTL或者一键刷机,那么主板内置的MAC和SN和你后盖是一致的。
O; ~. Z& A' h' |% o. ^那么只需要修改预设字符串为主板前三段即可,不需要像其他教程那样乱改。; w+ n6 V! b( `
如果你是已经过TTL或一键刷机,原机MAC有可能已经被覆盖,如何在分区内恢复原机SN和MAC,看心情开贴。
4 Y) E3 r* z0 o; ~1 |0 a |
评分
-
查看全部评分
|