|
|
本帖最后由 IamManho 于 2019-10-6 16:38 编辑 $ H8 H, Z4 D( I) X# s
$ o% m+ E, j6 b# _3 e, e3 Z本方案仅针对 原版猫盘使用USB直刷X3P 有效。如使用一键刷机1.0和TTL等刷机方案不需要尝试,因为原机MAC和SN已经被覆盖。而一键刷机2.0,修改成对应的MAC也有效。! N7 g w: a3 P- L0 r
3 e9 z/ o% C5 ]# W' s& u
1、登陆SSH。) e% X% {/ {3 z* I
2、输入命令行。
7 m* k- y6 l( z' y2 Y4 `- @/ Y2.1、输入”mount -o remount,rw /“
; G, ]2 C: V* e. d. F9 p& c" e5 W, t2.2、输入”vi /etc/init.d/S21wire“最下面找到如图修改后保存。 这个步骤需要注意,我的方案是完美恢复原机MAC。
8 ^$ ~( u# E; P3 _; w2 ?, g 也就是原机主板MAC和后盖的MAC是一致的,而不是其他教程修改成其他非原机MAC。
- `. l. J$ f/ U/ w% T 修改MAC为原机前三段(猫盘后盖就是你的原机MAC,通常都是4C:65:A8),不是修改后三段。
. M" G4 N2 ~" f% J8 Q9 G
3 Q h* l3 J# q3 Q8 Q" f0 Y0 v( d* o/ W2.3、输入”reboot“重启。
# g" G0 t) f# ?
' X3 t' `; Q6 o! F8 M- o% ~& z' k8 L2 r9 _, L
- ]' s7 H1 g x6 T8 G1 }1 \: N$ z顺便给大家科普一下这段代码的意思,与教程无关。setWireMacaddr()
; B% K( x& S0 K1 K1 z$ z/ v, v: A{5 \4 ?) h9 i, ?2 R# E6 t
local face=$1
3 x& q( \' e3 @1 w MacAddr=`/opt/bin/mac_tool read $2` //读取主板的MAC,例如原装主板MAC为 4C:65:A8:AA:BB:CC5 a b# L4 c4 H( ]0 z# C
#if [ "ff:ff:ff:ff:ff:ff" != "$MacAddr" ] ; then
, }$ y. r% ]- {+ V # ifconfig ${face} hw ether $MacAddr
9 k& l. }- x( s' W& p1 A7 ^( W- j" j #fi9 P3 k5 f- W4 @" h# A
/ H1 _: ^. l' v- {/ y% y) j& p
MAC_ADDR_PRO="78:C2:C0" //预设字符串 78:C2:C0
* E5 e% ]2 j6 X5 P; ^9 G MAC_ADDR_ERR="E0:E0:E0"8 Y% d; ?9 L/ `, n( \! \! v2 U6 F* i; c
PRO_TMP=${MacAddr:0:8} //截取主板的MAC前八位字符为4C:65:A8
6 |! ~0 G; a: z pool=(A B C D E F 1 2 3 4 5 6 7 8 9 0)/ d- v# j; d) [6 X; S4 [& c
num=${#pool}
9 K7 X7 i7 C6 N4 W9 n }, g ADDERR="${pool[$((RANDOM%num))]}""${pool[$((RANDOM%num))]}":"${pool[$((RANDOM%num))]}""${pool[$((RANDOM%num))]}":"${pool[$((RANDOM%num))]}""${pool[$((RANDOM%num))]}"
$ P2 n; @4 [/ l0 i* w- v1 p3 Y! A8 g2 _
eth_part=$(echo $PRO_TMP | tr [a-z] [A-Z]); I8 ^% }. E$ l/ e
pro_tmp=$(echo $MAC_ADDR_PRO | tr [a-z] [A-Z])6 B4 n1 B9 A( y$ a) n; N' x
if [ X"$eth_part" = X"$pro_tmp" ];then //判断MAC——主板八位MAC(4C:65:A8)与预设字符串(78:C2:C0)0 O7 d& `: m m) S2 k$ l
ifconfig ${face} hw ether $MacAddr //如果MAC前八位一致,则使用主板MAC
! _1 c- \5 y8 c f; D1 Q* E$ l, p else
; B5 R7 T0 c# |- i, S! h3 ~ ifconfig ${face} hw ether "$MAC_ADDR_ERR":"$ADDERR" //不一致,则使用 (E0:E0:E0)+(随机生成的后八位组合),这一句就是为什么每次重启MAC都不一样的原因。
% V8 T9 m( |! [% M" C9 H fi
6 P/ ^4 q5 o4 @' I* _- m+ F' j# b}
: N8 v* @3 A Y$ z( S' F; C9 f
$ \" h" o! B5 {6 H8 z @. _0 R. I通过分析代码可以得出,如果你的猫盘是原装未经过TTL或者一键刷机,那么主板内置的MAC和SN和你后盖是一致的。2 \) E! i. l9 N3 h2 A
那么只需要修改预设字符串为主板前三段即可,不需要像其他教程那样乱改。$ |- U% K3 S0 ^+ l8 h0 d
如果你是已经过TTL或一键刷机,原机MAC有可能已经被覆盖,如何在分区内恢复原机SN和MAC,看心情开贴。, n/ d7 A( k2 q. D9 }
|
评分
-
查看全部评分
|