|
|
本帖最后由 IamManho 于 2019-10-6 16:38 编辑
: S9 U5 n8 a7 I5 r) |# a% q4 z5 G9 s# S- n
本方案仅针对 原版猫盘使用USB直刷X3P 有效。如使用一键刷机1.0和TTL等刷机方案不需要尝试,因为原机MAC和SN已经被覆盖。而一键刷机2.0,修改成对应的MAC也有效。, t/ g; T1 V5 u
: C# H/ q# y4 m5 e5 Y* @
1、登陆SSH。
0 c. ^2 z; N# f) I2、输入命令行。0 g% O) ?4 o5 O; p# M
2.1、输入”mount -o remount,rw /“
5 p7 _6 U; l5 Q+ B2.2、输入”vi /etc/init.d/S21wire“最下面找到如图修改后保存。 这个步骤需要注意,我的方案是完美恢复原机MAC。
: }8 x, O) e- i; u 也就是原机主板MAC和后盖的MAC是一致的,而不是其他教程修改成其他非原机MAC。
9 B9 i1 Z5 E7 o0 C 修改MAC为原机前三段(猫盘后盖就是你的原机MAC,通常都是4C:65:A8),不是修改后三段。
) Q+ e; K0 |$ `2 j& h) I0 P
: w* }; R! {* h% {4 c2.3、输入”reboot“重启。+ {# Y% q4 D& @0 d- M% R
, E( m% l1 b3 ~% I [0 U0 Y1 R7 T# @5 T- ^: a% z. Z1 q- K8 a/ {; k
/ P$ \3 I+ k1 ]2 P* @& |6 c, C顺便给大家科普一下这段代码的意思,与教程无关。setWireMacaddr()
% Z+ N7 e' m8 x; `" G* z8 ^2 u{% ~" ^5 H6 Z8 V3 `4 G6 w
local face=$1
& s' g7 b) ^3 `) Q$ s B+ X MacAddr=`/opt/bin/mac_tool read $2` //读取主板的MAC,例如原装主板MAC为 4C:65:A8:AA:BB:CC
/ | I: U) x. g+ h #if [ "ff:ff:ff:ff:ff:ff" != "$MacAddr" ] ; then
$ z3 f" r) o# b* A& r. e1 N' s1 C # ifconfig ${face} hw ether $MacAddr: S" Y z4 \3 v- T; I, Y% B! @+ {
#fi$ }' [0 L* l( b/ _6 V1 G
5 ~8 K: }! i" @" A i/ d
MAC_ADDR_PRO="78:C2:C0" //预设字符串 78:C2:C09 }! l; r$ Q, J* N$ j, |8 @4 S
MAC_ADDR_ERR="E0:E0:E0" a; Z4 R* |. N9 O
PRO_TMP=${MacAddr:0:8} //截取主板的MAC前八位字符为4C:65:A8
# J- b9 H2 G% \7 r" T pool=(A B C D E F 1 2 3 4 5 6 7 8 9 0)* ]; B: v3 p- @- v; S
num=${#pool}
- ^ H$ p3 q+ `; {) s+ B* S7 C* ~ y ADDERR="${pool[$((RANDOM%num))]}""${pool[$((RANDOM%num))]}":"${pool[$((RANDOM%num))]}""${pool[$((RANDOM%num))]}":"${pool[$((RANDOM%num))]}""${pool[$((RANDOM%num))]}"
. n- n9 n8 y1 e* S9 }
% A0 @+ G& C8 k* s+ @& p# ^ eth_part=$(echo $PRO_TMP | tr [a-z] [A-Z])4 }) @& N1 ~; {6 p0 r- Y/ ~
pro_tmp=$(echo $MAC_ADDR_PRO | tr [a-z] [A-Z])
3 T. M H% R- h7 ^0 L3 O if [ X"$eth_part" = X"$pro_tmp" ];then //判断MAC——主板八位MAC(4C:65:A8)与预设字符串(78:C2:C0)7 O; g5 ^* _+ g/ w* t) P
ifconfig ${face} hw ether $MacAddr //如果MAC前八位一致,则使用主板MAC 1 q! S( c% K E1 y+ U, n
else
2 y6 Y- d7 \* ]4 u7 M% m! K' C7 k F ifconfig ${face} hw ether "$MAC_ADDR_ERR":"$ADDERR" //不一致,则使用 (E0:E0:E0)+(随机生成的后八位组合),这一句就是为什么每次重启MAC都不一样的原因。
6 z" h5 b* }/ [ d% l fi7 x7 z9 q4 ^ |; j
}5 \* q* ?, ^5 h. \% @1 |" s
M' _" O/ P% s5 E0 {通过分析代码可以得出,如果你的猫盘是原装未经过TTL或者一键刷机,那么主板内置的MAC和SN和你后盖是一致的。
4 \. Y h5 m* I% L& q那么只需要修改预设字符串为主板前三段即可,不需要像其他教程那样乱改。- m" w! a6 i; {8 Y, `
如果你是已经过TTL或一键刷机,原机MAC有可能已经被覆盖,如何在分区内恢复原机SN和MAC,看心情开贴。
. M) ]' [$ O$ g+ h2 l |
评分
-
查看全部评分
|