首頁(yè) 收藏 QQ群
 網(wǎng)站導(dǎo)航

ZNDS智能電視網(wǎng) 推薦當(dāng)貝市場(chǎng)

TV應(yīng)用下載 / 資源分享區(qū)

軟件下載 | 游戲 | 討論 | 電視計(jì)算器

綜合交流 / 評(píng)測(cè) / 活動(dòng)區(qū)

交流區(qū) | 測(cè)硬件 | 網(wǎng)站活動(dòng) | Z幣中心

新手入門(mén) / 進(jìn)階 / 社區(qū)互助

新手 | 你問(wèn)我答 | 免費(fèi)刷機(jī)救磚 | ROM固件

查看: 23005|回復(fù): 3
上一主題 下一主題
[分享]

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2024-8-7 17:45 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式 | 來(lái)自上海
在探索將晶晨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

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程 S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程 S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程 S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程 S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

感覺(jué)貌似是修復(fù)成功了?。。?!我需要再測(cè)試看看有什么BUG。

操作步驟

首先了解自己是機(jī)頂盒用的是那款芯片,我的是螃蟹rtl8761btv。

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

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

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程 S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程 S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

2.安裝藍(lán)牙軟件

在命令行輸入armbian-config回車

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

下面選擇箭頭所指的選項(xiàng)按回車

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

等待一下

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

選擇箭頭所指的選項(xiàng)按回車

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程 S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

安裝完畢

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

看到這個(gè)界面退出即可

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

3.上傳meson-gxl-s905l3b-m302a.dtb文件

將編譯好的meson-gxl-s905l3b-m302a.dtb文件上傳到以下目錄

/boot/dtb/amlogic目錄下,原始文件自己備份后,就可以刪除上傳自己編譯的meson-gxl-s905l3b-m302a.dtb文件

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

4.上傳rtl8761b_config文件

將2m波特率的config文件復(fù)制到/lib/firmware/rtl_bt/rtl8761b_config.bin,系統(tǒng)自帶的config文件備份后刪除。

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程 S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程 S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

5.查詢藍(lán)牙狀態(tài)

命令處輸入systemctl status bluetooth

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

圖示為藍(lán)牙未啟動(dòng),命令處輸入systemctl start bluetooth啟動(dòng)藍(lán)牙,再次查詢systemctl status bluetooth

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

手動(dòng)按機(jī)頂盒開(kāi)關(guān)機(jī)鍵,重啟后命令處輸入systemctl status bluetooth

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

命令處輸入hciconfig,用于配置和管理藍(lán)牙適配器參數(shù)??梢允褂胔ciconfig命令來(lái)查看藍(lán)牙適配器的狀態(tài)

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

查看藍(lán)牙日志是否正常

正常的如下

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

下圖是不正常的

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

下圖是檢查藍(lán)牙是否正常命令

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

提取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文件

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

提取boot.img

1.將中興B860AV3.2-M_S905L3_9.0線刷包.img用解包工具進(jìn)行解包,得到以下文件

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

2.解壓boot.img,使用解包工具對(duì)boot.img進(jìn)行解包得到以下文件

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

3.boot.img-second文件是gzip壓縮后的dt.img,也就是dtb文件

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

4.將解壓后的boot文件修改重命名為dt.img

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

提取獨(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的目錄,目錄下的文件列表如下

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

2.轉(zhuǎn)成dts文件

dtc -I dtb -O dts -o 01_dtbdump_Amlogic.dts 01_dtbdump_Amlogic.dtb

就會(huì)得到以下文件

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

3.查詢01_dtbdump_Amlogic.dts文件中GPIO編號(hào)

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

XCray大佬原文如下:

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

其中<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

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

然后armbian里用gpioinfo查看,這個(gè)bank里有100個(gè)引腳,編號(hào)0-99,0x63轉(zhuǎn)換成10進(jìn)制是99

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程 S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

這里500-401也是100



在開(kāi)心電視助手中連接機(jī)頂盒安卓系統(tǒng),使用ADB Shell中輸入 cat /sys/kernel/debug/gpio

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

安卓的/sys/kernel/debug/gpio顯示為gpiochip1: GPIOs 398-500,這是103個(gè)呀,比armbian里的100多了三個(gè)!

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

按照大佬說(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)牙用不了

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

手動(dòng)按開(kāi)關(guān)機(jī)鍵后藍(lán)牙正常

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

查詢了半天資料,沒(méi)有公開(kāi)的資料,感覺(jué)只能靠猜測(cè)試GPIO的編號(hào)??!我提取盒子內(nèi)的安卓系統(tǒng)dtb,目前GPIO編號(hào)已獲得還未開(kāi)展測(cè)試。(測(cè)試了一段時(shí)間我解決不了)

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程

2.以下是我安裝Home Assistant Supervised截圖

已安裝Home Assistant Supervised測(cè)試藍(lán)牙正常。

S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程 S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程 S905l3b芯片刷armbian系統(tǒng)修復(fù)Homeassistant教程


相關(guān)閱讀:
電視怎么看2024乒乓球男團(tuán)體育直播 奧運(yùn)會(huì)獎(jiǎng)牌榜及今日看點(diǎn)

s905l3b芯片刷armbian系統(tǒng)設(shè)置Homeassistant保姆級(jí)教程

QQ截圖20240807165938.jpg (7.92 KB, 下載次數(shù): 3)

QQ截圖20240807165938.jpg

上一篇:s905l3b芯片刷armbian系統(tǒng)設(shè)置Homeassistant保姆級(jí)教程
下一篇:DTB提取工具
沙發(fā)
發(fā)表于 2024-8-7 17:45 | 只看該作者 | 來(lái)自廣東
你好,請(qǐng)問(wèn)如何更新homeassistant版本
板凳
 樓主| 發(fā)表于 2024-8-7 17:45 | 只看該作者 | 來(lái)自上海
月下橋 發(fā)表于 2024-8-7 17:45
你好,請(qǐng)問(wèn)如何更新homeassistant版本

提示有更新了,點(diǎn)一下立即更新就行了
地板
發(fā)表于 2024-8-10 15:38 | 只看該作者 | 來(lái)自江蘇
純正技術(shù)貼大佬級(jí)別頂起來(lái)!

本版積分規(guī)則

Archiver|新帖|標(biāo)簽|軟件|Sitemap|ZNDS智能電視網(wǎng) ( 蘇ICP備2023012627號(hào) )

網(wǎng)絡(luò)信息服務(wù)信用承諾書(shū) | 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證:蘇B2-20221768 丨 蘇公網(wǎng)安備 32011402011373號(hào)

GMT+8, 2024-12-22 10:24 , Processed in 0.081463 second(s), 14 queries , Redis On.

Powered by Discuz!

監(jiān)督舉報(bào):report#znds.com (請(qǐng)將#替換為@)

© 2007-2024 ZNDS.Com

快速回復(fù) 返回頂部 返回列表