|
|
本帖最后由 IamManho 于 2019-10-6 16:38 编辑
- i, F) Q5 Z) P, X
0 h7 \4 \6 @% Q N! G$ }7 Q本方案仅针对 原版猫盘使用USB直刷X3P 有效。如使用一键刷机1.0和TTL等刷机方案不需要尝试,因为原机MAC和SN已经被覆盖。而一键刷机2.0,修改成对应的MAC也有效。3 @% O) f1 j7 w
! ?- M4 ~9 U) m8 g- s9 ?. _
1、登陆SSH。" c z+ A0 w3 V
2、输入命令行。
4 e) n! Z% G! d5 x6 Y2.1、输入”mount -o remount,rw /“
) y5 O! {% Q1 t1 c8 |: n; b0 n3 @; c2.2、输入”vi /etc/init.d/S21wire“最下面找到如图修改后保存。 这个步骤需要注意,我的方案是完美恢复原机MAC。0 U" ]- {( N' ]5 s. |
也就是原机主板MAC和后盖的MAC是一致的,而不是其他教程修改成其他非原机MAC。" a* E! |6 V, D2 G7 i2 ~3 M- W
修改MAC为原机前三段(猫盘后盖就是你的原机MAC,通常都是4C:65:A8),不是修改后三段。
- |- R# \7 G" g4 ]8 X7 [
5 V+ y" _' f3 O s2.3、输入”reboot“重启。, w h$ C' L, M4 ~) }# k
) P7 ^2 |- u* q* P& E
& Q' b+ {. W3 y$ w) k0 @8 [) H8 ]5 P/ Y; a; r( |/ u$ k
顺便给大家科普一下这段代码的意思,与教程无关。setWireMacaddr()) z& n8 @8 A' E6 x1 A; ~: {
{6 \) o, M. q: y; E
local face=$1
' r: B! I8 I7 Z2 Y; z8 v MacAddr=`/opt/bin/mac_tool read $2` //读取主板的MAC,例如原装主板MAC为 4C:65:A8:AA:BB:CC$ C& `8 V9 ?: }; H2 G3 o. F
#if [ "ff:ff:ff:ff:ff:ff" != "$MacAddr" ] ; then
. I& c, i4 d+ Q # ifconfig ${face} hw ether $MacAddr
7 F' Z) n% f' k. G5 g! Y) ^ #fi% [$ Q+ j* k6 p* Z9 c$ _
: @+ e! `3 U# j. r. B8 w
MAC_ADDR_PRO="78:C2:C0" //预设字符串 78:C2:C0
2 g9 c4 K: h9 f) e& b7 {7 b, E MAC_ADDR_ERR="E0:E0:E0"6 d4 K2 |# P. M4 W- v' b: |# I4 B& k
PRO_TMP=${MacAddr:0:8} //截取主板的MAC前八位字符为4C:65:A8
: f& g) O' [3 z# e: ^& ? pool=(A B C D E F 1 2 3 4 5 6 7 8 9 0)1 n1 A {% E9 b1 [- ^! p
num=${#pool}
+ U7 P2 ]1 I0 j$ s ADDERR="${pool[$((RANDOM%num))]}""${pool[$((RANDOM%num))]}":"${pool[$((RANDOM%num))]}""${pool[$((RANDOM%num))]}":"${pool[$((RANDOM%num))]}""${pool[$((RANDOM%num))]}") r+ Y0 `4 G# [7 P2 h. Z m, k- K
. O1 c- D1 M7 E( F" X
eth_part=$(echo $PRO_TMP | tr [a-z] [A-Z])
7 B. G+ G1 `- B! e pro_tmp=$(echo $MAC_ADDR_PRO | tr [a-z] [A-Z]). I9 U& e) `1 x/ d0 f0 ?3 E& Y3 s. t! u
if [ X"$eth_part" = X"$pro_tmp" ];then //判断MAC——主板八位MAC(4C:65:A8)与预设字符串(78:C2:C0)6 L1 \9 ]# p( U+ s" A; G0 l$ Z$ f
ifconfig ${face} hw ether $MacAddr //如果MAC前八位一致,则使用主板MAC
# B W$ {* Z7 c- V6 A- X) _: D! i else. U( t2 a( T- |( j f. L) @+ i
ifconfig ${face} hw ether "$MAC_ADDR_ERR":"$ADDERR" //不一致,则使用 (E0:E0:E0)+(随机生成的后八位组合),这一句就是为什么每次重启MAC都不一样的原因。" }* y, s; \: M) Y% K8 y3 P" \
fi
! Q8 D; _2 Y1 ^: j2 ^' ^) E}2 J/ D+ e. C ?. i
2 }. }3 d: d# `) N1 d' x! E3 O通过分析代码可以得出,如果你的猫盘是原装未经过TTL或者一键刷机,那么主板内置的MAC和SN和你后盖是一致的。
( F: j! L2 n4 ]( o5 L P9 n那么只需要修改预设字符串为主板前三段即可,不需要像其他教程那样乱改。2 X" s. O* Z1 c
如果你是已经过TTL或一键刷机,原机MAC有可能已经被覆盖,如何在分区内恢复原机SN和MAC,看心情开贴。* m( M' z5 f1 S' G& e9 S
|
评分
-
查看全部评分
|