|
在探索將晶晨S905L3B芯片的機(jī)頂盒運(yùn)行Armbian系統(tǒng),并成功部署智能家居控制中心Homeassistant的過(guò)程中,不少用戶遇到了藍(lán)牙連接不穩(wěn)定的難題。本文旨在針對(duì)這一常見(jiàn)問(wèn)題,詳細(xì)闡述如何通過(guò)一系列步驟修復(fù)機(jī)頂盒上的藍(lán)牙功能,確保Homeassistant能夠順暢地與各類藍(lán)牙設(shè)備通信,實(shí)現(xiàn)智能家居的無(wú)縫集成與控制。
聲明:
由于固件、軟件、鏡像等持續(xù)更新,本文僅代表當(dāng)前所使用版本的流暢安裝記錄。行文略長(zhǎng),關(guān)鍵代碼處會(huì)配以截圖展示,請(qǐng)自行對(duì)比是否存在差異導(dǎo)致安裝失敗!如有疏忽之處,還請(qǐng)見(jiàn)諒!刷機(jī)有風(fēng)險(xiǎn),請(qǐng)慎重選擇,一切源于本文造成的后果自負(fù),筆者概不負(fù)責(zé)!
Linux反編譯
根據(jù)XCray大佬文章需要換用啟用了串口uart_A的dtb,網(wǎng)上找或自己編譯(我是沒(méi)有找到只能自己編譯);原來(lái)的dtb默認(rèn)都是禁用了這個(gè)串口。換dtb后ls /dev/tty*確認(rèn)串口已出現(xiàn)在系統(tǒng)里。比如ttyAML1;
經(jīng)過(guò)這幾天的研究反編譯修改meson-gxl-s905l3b-m302a.dtb,串口已經(jīng)出現(xiàn)ttyAML6
QQ截圖20240807165427.jpg (96.5 KB, 下載次數(shù): 13)
下載附件
保存到相冊(cè)
2024-8-7 17:14 上傳
QQ截圖20240807165448.jpg (50.88 KB, 下載次數(shù): 12)
下載附件
保存到相冊(cè)
2024-8-7 17:14 上傳
QQ截圖20240807165459.jpg (81.27 KB, 下載次數(shù): 14)
下載附件
保存到相冊(cè)
2024-8-7 17:14 上傳
QQ截圖20240807165509.jpg (19.03 KB, 下載次數(shù): 14)
下載附件
保存到相冊(cè)
2024-8-7 17:14 上傳
QQ截圖20240807165517.jpg (82.54 KB, 下載次數(shù): 13)
下載附件
保存到相冊(cè)
2024-8-7 17:14 上傳
感覺(jué)貌似是修復(fù)成功了?。。?!我需要再測(cè)試看看有什么BUG。
操作步驟
首先了解自己是機(jī)頂盒用的是那款芯片,我的是螃蟹rtl8761btv。
QQ截圖20240807165526.jpg (52.68 KB, 下載次數(shù): 12)
下載附件
保存到相冊(cè)
2024-8-7 17:14 上傳
1.更新系統(tǒng)內(nèi)核及軟件
我是重新安裝 的armbian系統(tǒng),第一步更新系統(tǒng)內(nèi)核及軟件(國(guó)外源我沒(méi)有注釋掉,我也沒(méi)有測(cè)試國(guó)內(nèi)鏡像源是否會(huì)影響藍(lán)牙修復(fù))
命令處輸入apt update && apt upgrade -y
QQ截圖20240807165539.jpg (151.73 KB, 下載次數(shù): 14)
下載附件
保存到相冊(cè)
2024-8-7 17:14 上傳
QQ截圖20240807165550.jpg (148.53 KB, 下載次數(shù): 14)
下載附件
保存到相冊(cè)
2024-8-7 17:14 上傳
QQ截圖20240807165601.jpg (130.61 KB, 下載次數(shù): 12)
下載附件
保存到相冊(cè)
2024-8-7 17:14 上傳
2.安裝藍(lán)牙軟件
在命令行輸入armbian-config回車
QQ截圖20240807165611.jpg (6.88 KB, 下載次數(shù): 12)
下載附件
保存到相冊(cè)
2024-8-7 17:14 上傳
下面選擇箭頭所指的選項(xiàng)按回車
QQ截圖20240807165617.jpg (26.81 KB, 下載次數(shù): 14)
下載附件
保存到相冊(cè)
2024-8-7 17:14 上傳
等待一下
QQ截圖20240807165621.jpg (4.57 KB, 下載次數(shù): 12)
下載附件
保存到相冊(cè)
2024-8-7 17:14 上傳
選擇箭頭所指的選項(xiàng)按回車
QQ截圖20240807165626.jpg (31.58 KB, 下載次數(shù): 14)
下載附件
保存到相冊(cè)
2024-8-7 17:14 上傳
QQ截圖20240807165638.jpg (19.8 KB, 下載次數(shù): 18)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
安裝完畢
QQ截圖20240807165645.jpg (7.93 KB, 下載次數(shù): 12)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
看到這個(gè)界面退出即可
QQ截圖20240807165649.jpg (31.45 KB, 下載次數(shù): 13)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
3.上傳meson-gxl-s905l3b-m302a.dtb文件
將編譯好的meson-gxl-s905l3b-m302a.dtb文件上傳到以下目錄
/boot/dtb/amlogic目錄下,原始文件自己備份后,就可以刪除上傳自己編譯的meson-gxl-s905l3b-m302a.dtb文件
QQ截圖20240807165659.jpg (89.07 KB, 下載次數(shù): 13)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
4.上傳rtl8761b_config文件
將2m波特率的config文件復(fù)制到/lib/firmware/rtl_bt/rtl8761b_config.bin,系統(tǒng)自帶的config文件備份后刪除。
QQ截圖20240807165708.jpg (97.93 KB, 下載次數(shù): 15)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
QQ截圖20240807165716.jpg (79.19 KB, 下載次數(shù): 16)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
QQ截圖20240807165727.jpg (41.84 KB, 下載次數(shù): 16)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
5.查詢藍(lán)牙狀態(tài)
命令處輸入systemctl status bluetooth
QQ截圖20240807165735.jpg (33.41 KB, 下載次數(shù): 13)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
圖示為藍(lán)牙未啟動(dòng),命令處輸入systemctl start bluetooth啟動(dòng)藍(lán)牙,再次查詢systemctl status bluetooth
QQ截圖20240807165741.jpg (23.33 KB, 下載次數(shù): 13)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
手動(dòng)按機(jī)頂盒開(kāi)關(guān)機(jī)鍵,重啟后命令處輸入systemctl status bluetooth
QQ截圖20240807165751.jpg (75.47 KB, 下載次數(shù): 14)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
命令處輸入hciconfig,用于配置和管理藍(lán)牙適配器參數(shù)??梢允褂胔ciconfig命令來(lái)查看藍(lán)牙適配器的狀態(tài)
QQ截圖20240807165759.jpg (46.1 KB, 下載次數(shù): 13)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
查看藍(lán)牙日志是否正常
正常的如下
QQ截圖20240807165809.jpg (101.65 KB, 下載次數(shù): 13)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
下圖是不正常的
QQ截圖20240807165816.jpg (65.75 KB, 下載次數(shù): 12)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
下圖是檢查藍(lán)牙是否正常命令
QQ截圖20240807165824.jpg (59.95 KB, 下載次數(shù): 14)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
提取Android盒子中興ZXV10 B860AV3.2-M dtb文件,查詢GPIO編號(hào)
將668-中興B860AV3.2-M_S905L3_9.0_EmotnUI艾蒙頓線刷固件包(內(nèi)有教程及短接點(diǎn))【親測(cè)】.zip這個(gè)文件進(jìn)行解壓,得到中興B860AV3.2-M_S905L3_9.0線刷包.img文件
QQ截圖20240807165838.jpg (58.06 KB, 下載次數(shù): 12)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
提取boot.img
1.將中興B860AV3.2-M_S905L3_9.0線刷包.img用解包工具進(jìn)行解包,得到以下文件
QQ截圖20240807165845.jpg (45.39 KB, 下載次數(shù): 14)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
2.解壓boot.img,使用解包工具對(duì)boot.img進(jìn)行解包得到以下文件
QQ截圖20240807165851.jpg (41.26 KB, 下載次數(shù): 15)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
3.boot.img-second文件是gzip壓縮后的dt.img,也就是dtb文件
QQ截圖20240807165904.jpg (38.8 KB, 下載次數(shù): 13)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
4.將解壓后的boot文件修改重命名為dt.img
QQ截圖20240807165913.jpg (20.8 KB, 下載次數(shù): 12)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
提取獨(dú)立的dtb文件
1.Linux系統(tǒng)下,由于包含了當(dāng)前設(shè)備所有的dtb文件,故解壓后需要利用extract-dtb提取獨(dú)立的dtb文件
pip install extract-dtb #安裝extract-dtb
extract-dtb dt.img #提取dtb文件
命令執(zhí)行完畢,在執(zhí)行路徑會(huì)創(chuàng)建名字為dtb的目錄,目錄下的文件列表如下
QQ截圖20240807165920.jpg (25.27 KB, 下載次數(shù): 13)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
2.轉(zhuǎn)成dts文件
dtc -I dtb -O dts -o 01_dtbdump_Amlogic.dts 01_dtbdump_Amlogic.dtb
就會(huì)得到以下文件
QQ截圖20240807165926.jpg (16.2 KB, 下載次數(shù): 15)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
3.查詢01_dtbdump_Amlogic.dts文件中GPIO編號(hào)
QQ截圖20240807165932.jpg (21.34 KB, 下載次數(shù): 13)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
XCray大佬原文如下:
QQ截圖20240807170016.jpg (27.46 KB, 下載次數(shù): 16)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
其中<0x19>是bank@ff6346c0的phandle,0x53我就猜測(cè)是一個(gè)引腳編號(hào)。
(仿照這個(gè)放到armbian的dtb里,沒(méi)有什么效果。)
然后armbian里用gpioinfo查看,這個(gè)bank里有85個(gè)引腳,編號(hào)0-84,0x53轉(zhuǎn)換成10進(jìn)制是83,感覺(jué)應(yīng)該是它,于是就各種折騰它,沒(méi)任何收獲。
都快要放棄的時(shí)候,忽然注意到之前記錄的安卓的/sys/kernel/debug/gpio顯示為gpiochip1: GPIOs 410-495,這是86個(gè)呀,比armbian里的85多了一個(gè),于是抱著試一下的想法試了試82,果真就是它!
按照大佬的思路,<0x15>是bank@4b0的phandle
QQ截圖20240807165947.jpg (20.83 KB, 下載次數(shù): 13)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
然后armbian里用gpioinfo查看,這個(gè)bank里有100個(gè)引腳,編號(hào)0-99,0x63轉(zhuǎn)換成10進(jìn)制是99
QQ截圖20240807165954.jpg (68.39 KB, 下載次數(shù): 14)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
QQ截圖20240807170006.jpg (78.87 KB, 下載次數(shù): 13)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
這里500-401也是100
在開(kāi)心電視助手中連接機(jī)頂盒安卓系統(tǒng),使用ADB Shell中輸入 cat /sys/kernel/debug/gpio
QQ截圖20240807170021.jpg (30.2 KB, 下載次數(shù): 13)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
安卓的/sys/kernel/debug/gpio顯示為gpiochip1: GPIOs 398-500,這是103個(gè)呀,比armbian里的100多了三個(gè)!
QQ截圖20240807170026.jpg (10.97 KB, 下載次數(shù): 13)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
按照大佬說(shuō)的方法多次測(cè)試,各種折騰無(wú)果。這是我參照大佬的帖子,目前無(wú)法測(cè)試出reboot命令重啟機(jī)頂盒正常使用藍(lán)牙的方法。
https://github.com/ophub/amlogic-s9xxx-armbian/issues/639
https://bbs.hassbian.com/thread-17392-1-1.html
https://bbs.hassbian.com/thread-18366-1-1.html
已知BUG,XCray大佬文章中說(shuō)的問(wèn)題,我目前無(wú)法解決。
系統(tǒng)不斷電reboot后藍(lán)牙無(wú)法操作,根據(jù)文檔,應(yīng)該在reboot過(guò)程中“拉低 BT_RST pin,1s 后,BT controller 才能真正進(jìn)入 power down 模式”,這樣系統(tǒng)重啟后才可以繼續(xù)操控藍(lán)牙。
可是我不知道怎么去“拉低”這個(gè)引腳(根據(jù)安卓dts判斷好像是gpiochip0的83號(hào))。 gpiod裝了,試過(guò)gpioset,不行(原來(lái)沒(méi)用過(guò)這個(gè))。
經(jīng)過(guò)苦苦思索和搜索,搜索和思索,外加嘗試,終于搞定了。具體方法見(jiàn)65樓。這樣直接reboot重啟藍(lán)牙也可以繼續(xù)工作了。
(以上是大佬原文中問(wèn)題的解決辦法)
1.我目前測(cè)試藍(lán)牙存在的問(wèn)題
1.無(wú)法通過(guò)reboot命令實(shí)現(xiàn)重啟時(shí)復(fù)位藍(lán)牙電路的問(wèn)題,手動(dòng)按開(kāi)關(guān)機(jī)鍵可以復(fù)位藍(lán)牙電路,實(shí)現(xiàn)重啟后才可以繼續(xù)操控藍(lán)牙。
reboot藍(lán)牙用不了
QQ截圖20240807170032.jpg (16.19 KB, 下載次數(shù): 17)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
手動(dòng)按開(kāi)關(guān)機(jī)鍵后藍(lán)牙正常
QQ截圖20240807170037.jpg (9.55 KB, 下載次數(shù): 13)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
查詢了半天資料,沒(méi)有公開(kāi)的資料,感覺(jué)只能靠猜測(cè)試GPIO的編號(hào)!!我提取盒子內(nèi)的安卓系統(tǒng)dtb,目前GPIO編號(hào)已獲得還未開(kāi)展測(cè)試。(測(cè)試了一段時(shí)間我解決不了)
QQ截圖20240807170050.jpg (75.97 KB, 下載次數(shù): 13)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
2.以下是我安裝Home Assistant Supervised截圖
已安裝Home Assistant Supervised測(cè)試藍(lán)牙正常。
QQ截圖20240807170057.jpg (19.06 KB, 下載次數(shù): 13)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
QQ截圖20240807170104.jpg (17.87 KB, 下載次數(shù): 12)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
QQ截圖20240807170110.jpg (16.1 KB, 下載次數(shù): 12)
下載附件
保存到相冊(cè)
2024-8-7 17:13 上傳
相關(guān)閱讀:
電視怎么看2024乒乓球男團(tuán)體育直播 奧運(yùn)會(huì)獎(jiǎng)牌榜及今日看點(diǎn)
s905l3b芯片刷armbian系統(tǒng)設(shè)置Homeassistant保姆級(jí)教程
|
上一篇: s905l3b芯片刷armbian系統(tǒng)設(shè)置Homeassistant保姆級(jí)教程下一篇: DTB提取工具
|