本帖最后由 網(wǎng)癮少年鄭某某 于 2019-3-29 15:29 編輯
圖片1.jpg (115.36 KB, 下載次數(shù): 11)
下載附件
保存到相冊(cè)
2019-3-29 13:18 上傳
首先,請(qǐng)將 華為悅盒刷機(jī)ROOT,但注意要用保留IPTV功能的方案進(jìn)行,然后把光貓與另兩個(gè) 路由設(shè)置在三個(gè)不同的網(wǎng)段,并把鋪路由IPTV拔號(hào)的這個(gè)MAC地址手工改為華為悅盒的MAC。
第二步,將網(wǎng)絡(luò)按上圖所示連接好設(shè)備,確保兩個(gè)路由各自拔號(hào)都能成功!PS: 若不記得拔號(hào)密碼請(qǐng)到網(wǎng)上營(yíng)業(yè)廳在線重置取回密碼。 此時(shí),你可以在電視盒中測(cè)試一下外網(wǎng)連接,將盒子IP設(shè)為靜態(tài)192.168.0.100,網(wǎng)關(guān)取值 192.168.0.1 其它項(xiàng)基本默認(rèn)值即可,打開(kāi)第三方APP,就可以看視頻,網(wǎng)絡(luò)功能正常再來(lái)測(cè)試一下IPTV網(wǎng)絡(luò),將盒子IP設(shè)為靜態(tài)192.168.2.100,網(wǎng)關(guān)取值 192.168.2.1 其它項(xiàng)基本默認(rèn)值即可,打開(kāi)IPTV,就可以看直播,功能也正常。
提示一下,上面兩個(gè)小測(cè)試中,你可以觀察一下在測(cè)試用第三方APP時(shí),光貓的千兆口燈在狂閃;而在測(cè)試IPTV時(shí),則光貓的IPTV燈在狂閃,符合預(yù)期。
到現(xiàn)在為止,你已可以進(jìn)行兩個(gè)網(wǎng)絡(luò)的切換了,但卻要人工操作,還是不方便,所以我們需要寫(xiě)個(gè)腳本,讓這切換自動(dòng)完成。(若對(duì)代碼編程沒(méi)接觸過(guò)且沒(méi)頭緒的,不建議往下折騰了)
第三步,測(cè)試IPTV運(yùn)行時(shí)appid的變化規(guī)律 你需要準(zhǔn)備一臺(tái)PC,保證這電腦與華為悅盒在同一局域網(wǎng),在這臺(tái)電腦中運(yùn)行CMD,在命令窗口中用telnet 192.168.0.100對(duì)盒子進(jìn)行連接,再準(zhǔn)備一個(gè)USB鍵盤(pán)與USB鼠標(biāo)插好到華為悅盒中,等會(huì)寫(xiě)腳本要用;在華為悅盒中安裝一個(gè)文本編輯器以便接下來(lái)編寫(xiě)腳本,我是直接用root explorer完成的,在/system/bin目錄中新建一個(gè)測(cè)試腳本 test.sh 注意要將此文件的權(quán)限設(shè)定為可讀寫(xiě)可執(zhí)行屬性,以編輯方式打開(kāi)test.sh文件,用剛才接好的鍵盤(pán)輸入以下腳本內(nèi)容并保存好文件:
#!/system/bin/sh while [ 1 ] do appid=$check_app check_app=$( dumpsys window w | grep -E com.huawei.iptv | grep / | busybox wc -l ) if [ "$check_app" != "$appid" ] ; then echo "appid: $check_app" fi done
編寫(xiě)Shell腳本時(shí)一定要細(xì)心,因?yàn)閟hell語(yǔ)法非常變態(tài),對(duì)空格與標(biāo)點(diǎn)很敏感,若發(fā)現(xiàn)腳本運(yùn)行出錯(cuò),請(qǐng)檢查語(yǔ)法,有關(guān)shell學(xué)習(xí)請(qǐng)自行百度!
在電腦的cmd窗口運(yùn)行剛才的測(cè)試腳本/system/bin/test.sh 細(xì)心觀察IPTV運(yùn)行時(shí)appid的值是變化著的,網(wǎng)上有人說(shuō)就直接取大于0的最小appid值作為判斷依據(jù),這是不完美的,在斷電開(kāi)機(jī)后,首次運(yùn)行IPTV時(shí),你會(huì)發(fā)現(xiàn)appid值的從小到大一直在變化著比如 3,5,8,15,26,33……,而關(guān)閉IPTV后,再運(yùn)行IPTV,你會(huì)發(fā)現(xiàn)此時(shí)的appid的值并不會(huì)太小,既然運(yùn)行IPTV時(shí)appid值的變化沒(méi)太大規(guī)律,那可以換個(gè)思路,觀察一下IPTV在退出時(shí),這appid的值幾乎是固定的2-3個(gè)值22,23,24,這是我自己的盒子測(cè)試的結(jié)果,雖然不保證其他人的盒子也如此變化,但思路是正確的,你就觀察IPTV在退出時(shí)appid的變化規(guī)律,一旦發(fā)現(xiàn)了這規(guī)律,你就可以判斷IPTV何時(shí)退出了,就可以寫(xiě)另一個(gè)腳本,在判斷IPTV退出時(shí),自動(dòng)切換外網(wǎng)IP,以下為本人自己的自動(dòng)切換網(wǎng)絡(luò)的腳本:
#!/system/bin/sh #分配地址 ipA=“192.168.0.100 “ ipB=“192.168.2.100 “ routeA=“192.168.0.1” routeB=“192.168.2.1” networkline=““ appid=0 time_count=0 while [ 1 ] do time_count=`expr $time_count + 1` check_app=$( dumpsys window w | grep -E com.huawei.iptv | grep / | busybox wc -l ) case “$check_app” in 0 | 1 | 22 | 23 | 24) if [ “$networkline” != “DCHP-APP” ] ; then networkline=“DCHP-APP” echo “app mode...” ifconfig eth0 $ipA netmask $routemask sleep 0.5 ip route add default via $routeA dev eth0 echo “app mode done” fi ;; *) if [ “$networkline” != “PPPOE-IPTV” ] ; then networkline=“PPPOE-IPTV” echo “iptv mode...” ifconfig eth0 $ipB netmask $routemask sleep 0.5 ip route add default via $routeB dev eth0 echo “iptv mode done” fi ;; esac sleep 1 if [ $time_count -gt 362 ] ; then exit 0 fi done
將上面切換的腳本保存為 /system/bin/autonetwork.sh 并設(shè)置讀寫(xiě)執(zhí)行的權(quán)限,腳本中使用到了expr命令,你可能需要從其它版本的sh中找到這expr文件復(fù)制到/system/bin中,同樣也要設(shè)置讀寫(xiě)執(zhí)行的權(quán)限,強(qiáng)烈建議上面的腳本要自己在盒子中用鍵盤(pán)慢慢輸入,注意shell腳本變態(tài)的語(yǔ)法格式要求;若你是在windows中編輯好,再?gòu)?fù)制到盒子中,會(huì)無(wú)法運(yùn)行,因?yàn)椴煌到y(tǒng)對(duì)換行的處理編碼是不同的,但你可以通過(guò)第三方程序?qū)@種格式進(jìn)行轉(zhuǎn)換,相關(guān)方法,請(qǐng)百度。 在電腦cmd窗口中,測(cè)試一下剛才的腳本 /system/bin/autonetwork.sh 若出現(xiàn)錯(cuò)誤提示,則自己再檢查輸入是否有誤,最后直到?jīng)]有錯(cuò)誤,腳本就完成了。
接下來(lái),就想辦法讓盒子開(kāi)機(jī)啟動(dòng)時(shí)自動(dòng)運(yùn)行我們這個(gè)腳本,若按傳統(tǒng)的方案修改init的話,我們就要重新編譯并刷入修改后的rom非常麻煩,這里給出個(gè)更為簡(jiǎn)單的方法:經(jīng)過(guò)對(duì)init一步步的分析,追蹤到系統(tǒng)會(huì)在 init.bigfish.rc 中啟動(dòng)一項(xiàng)bigfish-setup的服務(wù),這項(xiàng)服務(wù)的腳本文本為/system/etc/init.bigfish.sh,這下好辦了,我們可以直接在這個(gè)init.bigfish.sh的最后面掛上我們的腳本即可,具體操作,就是修改/system/etc/init.bigfish.sh腳本文件,在最后面加上一行 /system/bin/autonetwork.sh & 保存修改并退出。 此時(shí),已完成了全部工作了,你可以斷開(kāi)盒子電源,重新啟動(dòng)盒子,啟動(dòng)后會(huì)出現(xiàn)一個(gè)提示框,大概是提醒系統(tǒng)已補(bǔ)破壞,不必理會(huì),因?yàn)榫褪俏覀冏约盒薷哪莻€(gè)腳本文件的。
打開(kāi)IPTV,看看直播,觀察光貓IPTV口的燈在狂閃,證明走的是iptv電信內(nèi)網(wǎng)通道。關(guān)閉iptv后,運(yùn)行一下第三方app,此時(shí)再觀察光貓的燈,iptv的燈已不再狂閃,改為千兆口的燈在狂閃,這就對(duì)了。 至此,不用wifi,只靠一條網(wǎng)線,就完美實(shí)現(xiàn)了有線雙網(wǎng),然后就能去當(dāng)貝市場(chǎng)里隨意下載安裝應(yīng)用打開(kāi)使用,再也不需要拔插網(wǎng)線或者斷開(kāi)網(wǎng)絡(luò)了!
timg.jpg (18.34 KB, 下載次數(shù): 8)
下載附件
保存到相冊(cè)
2019-3-29 15:28 上傳
|