|
本帖最后由 IamManho 于 2019-10-6 16:38 编辑
) q( I3 d) H- L! B0 G C8 h' n- i9 b( ?+ L
本方案仅针对 原版猫盘使用USB直刷X3P 有效。如使用一键刷机1.0和TTL等刷机方案不需要尝试,因为原机MAC和SN已经被覆盖。而一键刷机2.0,修改成对应的MAC也有效。
: \8 F4 G+ U6 ?( F4 a7 O: ^; E1 P
# v$ s+ o- k5 c- {0 d$ Y1、登陆SSH。
% Y- g5 l& H0 I! `8 {. C7 i( B* {2、输入命令行。
$ \, Z) n7 k8 G8 t2 }$ ]! l2.1、输入”mount -o remount,rw /“
6 \, G2 e# r; i: E7 |2.2、输入”vi /etc/init.d/S21wire“最下面找到如图修改后保存。 这个步骤需要注意,我的方案是完美恢复原机MAC。( O+ P3 ^: A' K, X
也就是原机主板MAC和后盖的MAC是一致的,而不是其他教程修改成其他非原机MAC。$ \3 b( v7 I* F3 X
修改MAC为原机前三段(猫盘后盖就是你的原机MAC,通常都是4C:65:A8),不是修改后三段。
/ t) w/ z0 \) R/ |
+ b7 `+ l* r4 q% u# n/ @2.3、输入”reboot“重启。
2 E+ @) S9 Q) [) P8 c
& d2 b; \. }9 ^; R9 ~% g
: E3 R# E5 B$ o$ F8 o s
$ \3 Y3 q( H: d4 |5 P* w顺便给大家科普一下这段代码的意思,与教程无关。setWireMacaddr()
: ^9 m# T" x' L6 \0 x& D$ ?{' V" `: U( T$ r/ D; `4 J
local face=$1" g6 S) Z1 q) ]9 @
MacAddr=`/opt/bin/mac_tool read $2` //读取主板的MAC,例如原装主板MAC为 4C:65:A8:AA:BB:CC
8 J! Y2 y* K. L9 I #if [ "ff:ff:ff:ff:ff:ff" != "$MacAddr" ] ; then
1 K8 u1 F) V% h- y0 }, H # ifconfig ${face} hw ether $MacAddr
# n4 H) M9 c3 n! C/ V5 z' N P2 C #fi
$ W0 o- R9 m! r, R8 V$ B0 ]) v+ a
1 C! q, \: H1 s9 p% ~3 k MAC_ADDR_PRO="78:C2:C0" //预设字符串 78:C2:C0
9 g+ y! W6 Y. `& p MAC_ADDR_ERR="E0:E0:E0". H: X" u" `+ o9 X4 R
PRO_TMP=${MacAddr:0:8} //截取主板的MAC前八位字符为4C:65:A8
' U* x' d2 U% [- w6 g/ h pool=(A B C D E F 1 2 3 4 5 6 7 8 9 0)
3 d) G/ u8 Z4 p2 i3 J num=${#pool}! Y0 ]9 \* J% h! t2 D( X* n9 g
ADDERR="${pool[$((RANDOM%num))]}""${pool[$((RANDOM%num))]}":"${pool[$((RANDOM%num))]}""${pool[$((RANDOM%num))]}":"${pool[$((RANDOM%num))]}""${pool[$((RANDOM%num))]}"4 {+ y) Q1 u& }, `% T3 c! T( a
8 O) U- ~! g# P3 d/ t7 Q2 B2 T% { N eth_part=$(echo $PRO_TMP | tr [a-z] [A-Z])
# v" Y9 n, y6 E pro_tmp=$(echo $MAC_ADDR_PRO | tr [a-z] [A-Z])$ L5 \5 r- x: H5 y4 @
if [ X"$eth_part" = X"$pro_tmp" ];then //判断MAC——主板八位MAC(4C:65:A8)与预设字符串(78:C2:C0)# U/ ^& v1 K* p' Y, R
ifconfig ${face} hw ether $MacAddr //如果MAC前八位一致,则使用主板MAC + j0 O+ o3 Q! R# y* t$ g
else
8 f3 ^5 y, p) ?) s& \( L8 ^ ifconfig ${face} hw ether "$MAC_ADDR_ERR":"$ADDERR" //不一致,则使用 (E0:E0:E0)+(随机生成的后八位组合),这一句就是为什么每次重启MAC都不一样的原因。
v- k& O: F, \/ G6 ?; s fi
& U( q7 u# X6 y( Q}
$ N2 q6 Y6 i1 G2 g3 j! ]5 p- |+ ?
/ f/ O) \% t' z通过分析代码可以得出,如果你的猫盘是原装未经过TTL或者一键刷机,那么主板内置的MAC和SN和你后盖是一致的。2 A& d' H, a+ F
那么只需要修改预设字符串为主板前三段即可,不需要像其他教程那样乱改。
0 ^8 B9 t$ J! E$ O1 I; ]如果你是已经过TTL或一键刷机,原机MAC有可能已经被覆盖,如何在分区内恢复原机SN和MAC,看心情开贴。
# s5 @5 o, r: {3 N5 e |
评分
-
查看全部评分
|