|
|
本帖最后由 IamManho 于 2019-10-6 16:38 编辑 c* Q, B. w! ?0 d3 t
& [: S! G/ C) ~
本方案仅针对 原版猫盘使用USB直刷X3P 有效。如使用一键刷机1.0和TTL等刷机方案不需要尝试,因为原机MAC和SN已经被覆盖。而一键刷机2.0,修改成对应的MAC也有效。6 `! W: _! n3 T1 k N( N1 f$ U" d6 Q
' ~3 K& @5 ?7 v U
1、登陆SSH。* A, g4 Z) v0 k
2、输入命令行。2 y5 W, S7 E o5 a% U: _- [
2.1、输入”mount -o remount,rw /“3 Q) N1 Y8 T( S$ H
2.2、输入”vi /etc/init.d/S21wire“最下面找到如图修改后保存。 这个步骤需要注意,我的方案是完美恢复原机MAC。
, q( R3 Y% H' C( V" A 也就是原机主板MAC和后盖的MAC是一致的,而不是其他教程修改成其他非原机MAC。
1 E+ v- t5 Y$ _5 w- D1 E! @0 T$ ?$ E 修改MAC为原机前三段(猫盘后盖就是你的原机MAC,通常都是4C:65:A8),不是修改后三段。7 S0 J0 \2 a5 @( Z ?* K
6 r+ O4 R E/ S( h* y+ a% K: P; B2.3、输入”reboot“重启。( N [" s: F8 z# F. g
7 h! P! ?0 T. T2 w
" l% c4 }. o8 Q+ O7 M
5 {' \9 R! }. Z r& X; s0 h顺便给大家科普一下这段代码的意思,与教程无关。setWireMacaddr()
; {5 {3 d9 }3 ^7 I. U/ Q{
9 Q4 K+ W& l2 n% I+ j I0 ? local face=$1
* t) U! Q r% q! r MacAddr=`/opt/bin/mac_tool read $2` //读取主板的MAC,例如原装主板MAC为 4C:65:A8:AA:BB:CC
" Z- S$ a1 F3 y. Y* y. }. i3 d9 p #if [ "ff:ff:ff:ff:ff:ff" != "$MacAddr" ] ; then
. z6 d. b. D) D! g # ifconfig ${face} hw ether $MacAddr
' ]. Y- n5 R4 o) G: ^$ R) ` #fi- K# Z0 m0 s( E6 M* O, R1 Q
0 K) ^ A" m8 Q5 _+ \6 E o MAC_ADDR_PRO="78:C2:C0" //预设字符串 78:C2:C0
8 U) b8 U) T! W9 `% i' b; s MAC_ADDR_ERR="E0:E0:E0"0 Z5 C5 r0 e; K4 E2 u7 [7 k' x
PRO_TMP=${MacAddr:0:8} //截取主板的MAC前八位字符为4C:65:A8
% p, \4 o: I) t% Y( y0 O" C: \/ Y pool=(A B C D E F 1 2 3 4 5 6 7 8 9 0)
8 _5 O) b" e: a& V" c# x2 Y num=${#pool}
5 {' N0 o) b( X$ n# ~$ X T" w E3 M ADDERR="${pool[$((RANDOM%num))]}""${pool[$((RANDOM%num))]}":"${pool[$((RANDOM%num))]}""${pool[$((RANDOM%num))]}":"${pool[$((RANDOM%num))]}""${pool[$((RANDOM%num))]}"4 |! M8 k. G4 T4 ^; S) \$ P# L) O5 K( C
0 t W- e4 g8 L: ~- ]! Y3 s- A
eth_part=$(echo $PRO_TMP | tr [a-z] [A-Z])% Q8 j c! R: [- A; F: k& j
pro_tmp=$(echo $MAC_ADDR_PRO | tr [a-z] [A-Z])
! n1 P: J) G( E if [ X"$eth_part" = X"$pro_tmp" ];then //判断MAC——主板八位MAC(4C:65:A8)与预设字符串(78:C2:C0)
; V, }3 F7 \# i3 f c ifconfig ${face} hw ether $MacAddr //如果MAC前八位一致,则使用主板MAC - ?/ J D% a/ ~4 q+ w
else. Z. g$ M! M1 Q/ v8 H @/ `% E
ifconfig ${face} hw ether "$MAC_ADDR_ERR":"$ADDERR" //不一致,则使用 (E0:E0:E0)+(随机生成的后八位组合),这一句就是为什么每次重启MAC都不一样的原因。6 ^4 Z& g i2 J& h8 U, d
fi
" |8 ]: B( n/ U: l" O4 K4 @}3 ^7 t0 B7 ^: H, m3 K0 L M
+ s! U8 N1 X: _# T) q通过分析代码可以得出,如果你的猫盘是原装未经过TTL或者一键刷机,那么主板内置的MAC和SN和你后盖是一致的。
b. w6 }, C3 X: |! i Z" D那么只需要修改预设字符串为主板前三段即可,不需要像其他教程那样乱改。
, G$ A1 j5 G1 w. G& i8 l# [如果你是已经过TTL或一键刷机,原机MAC有可能已经被覆盖,如何在分区内恢复原机SN和MAC,看心情开贴。. K* Y; A6 ^% o! c. w% F
|
评分
-
查看全部评分
|