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