|
|
本帖最后由 IamManho 于 2019-10-6 16:38 编辑
( F- z1 }% f+ z5 ]5 R' ^0 C' W( @" E/ \4 ^: r
本方案仅针对 原版猫盘使用USB直刷X3P 有效。如使用一键刷机1.0和TTL等刷机方案不需要尝试,因为原机MAC和SN已经被覆盖。而一键刷机2.0,修改成对应的MAC也有效。) O( y* S" w. G& T) {6 l& [/ D
- ~1 x9 h8 V% A6 w4 d+ p8 z1、登陆SSH。% l6 h& j1 J- n) K% B$ ?$ L2 j, o
2、输入命令行。: v1 @ _$ N& H# p# w% U) J9 m- k! d
2.1、输入”mount -o remount,rw /“* q7 [ K3 [8 w: q
2.2、输入”vi /etc/init.d/S21wire“最下面找到如图修改后保存。 这个步骤需要注意,我的方案是完美恢复原机MAC。/ c$ {, i# h: q$ u& W L
也就是原机主板MAC和后盖的MAC是一致的,而不是其他教程修改成其他非原机MAC。
a- [( {+ V$ D' ~2 k% M 修改MAC为原机前三段(猫盘后盖就是你的原机MAC,通常都是4C:65:A8),不是修改后三段。5 \" Y( \2 y% d# o# x9 ]6 R U/ o
% W P0 ]6 D1 {' [2.3、输入”reboot“重启。
) h f; O+ ?! X) D4 o1 ^3 n! x
" h2 L' J: [/ ^4 C
3 ?/ p q; }6 u% ]8 f
; C, V, r& f: B1 y/ }* x顺便给大家科普一下这段代码的意思,与教程无关。setWireMacaddr()% o2 r! ?& s" u$ @$ i3 r5 c, k
{
5 j, m X" C: g& o) j local face=$1
; X& C1 [) x' T+ b3 W! g1 r& C MacAddr=`/opt/bin/mac_tool read $2` //读取主板的MAC,例如原装主板MAC为 4C:65:A8:AA:BB:CC
2 b4 @2 _. I/ Q7 p: a& e$ k3 C #if [ "ff:ff:ff:ff:ff:ff" != "$MacAddr" ] ; then+ T/ ?# o S; F2 `) `. ]
# ifconfig ${face} hw ether $MacAddr6 y; E' c2 M' |9 D* @0 S
#fi
0 g5 h, {, J$ V2 |" N1 ?& ?( i" Z! Z) o5 K) W9 m7 Q
MAC_ADDR_PRO="78:C2:C0" //预设字符串 78:C2:C0
; M' r* e0 b3 C% d! e4 m MAC_ADDR_ERR="E0:E0:E0"
( z0 d+ o. L7 @- v% ^1 U, R, p- Q PRO_TMP=${MacAddr:0:8} //截取主板的MAC前八位字符为4C:65:A8
$ O/ ~) Q+ b" w. c pool=(A B C D E F 1 2 3 4 5 6 7 8 9 0)
, w4 j0 B. H/ w num=${#pool}
4 T8 W1 j5 K; ^% v# e ADDERR="${pool[$((RANDOM%num))]}""${pool[$((RANDOM%num))]}":"${pool[$((RANDOM%num))]}""${pool[$((RANDOM%num))]}":"${pool[$((RANDOM%num))]}""${pool[$((RANDOM%num))]}"
3 `. z, t# s% v. G0 z, m5 _% M8 |' L; z z
eth_part=$(echo $PRO_TMP | tr [a-z] [A-Z])
9 u* |! z, M- H+ N. w8 f5 S. \ pro_tmp=$(echo $MAC_ADDR_PRO | tr [a-z] [A-Z])* @3 U: l3 f$ o7 I5 u
if [ X"$eth_part" = X"$pro_tmp" ];then //判断MAC——主板八位MAC(4C:65:A8)与预设字符串(78:C2:C0)
2 @9 B' Y3 G. p( @ ifconfig ${face} hw ether $MacAddr //如果MAC前八位一致,则使用主板MAC
8 Z/ E+ Y! E) J+ t7 F1 P else% F8 ~( d4 G. v- a
ifconfig ${face} hw ether "$MAC_ADDR_ERR":"$ADDERR" //不一致,则使用 (E0:E0:E0)+(随机生成的后八位组合),这一句就是为什么每次重启MAC都不一样的原因。
1 P! Y8 j, N% v! [, ^& {" ^9 \8 | z fi9 o+ w' Z* U1 h6 F. a
}
4 m' O2 y& y* Y; {" l
. o7 J4 W# y6 H4 O" l通过分析代码可以得出,如果你的猫盘是原装未经过TTL或者一键刷机,那么主板内置的MAC和SN和你后盖是一致的。# |; M. F# R9 a* I m+ \
那么只需要修改预设字符串为主板前三段即可,不需要像其他教程那样乱改。+ P a. D' |% |$ m! b
如果你是已经过TTL或一键刷机,原机MAC有可能已经被覆盖,如何在分区内恢复原机SN和MAC,看心情开贴。
4 F% l# ~/ S9 _& r3 K1 A6 O; ` |
评分
-
查看全部评分
|