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

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

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

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

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

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

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

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

查看: 67599|回復(fù): 19
上一主題 下一主題
[討論&交流]

75D6S通過外接USB藍(lán)牙適配器實(shí)現(xiàn)藍(lán)牙功能

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-8-14 18:03 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式 | 來自海南
新買的康佳 75D6S 不帶藍(lán)牙功能,可以通過外接USB藍(lán)牙適配器實(shí)現(xiàn)藍(lán)牙功能嗎?我看到有些品牌的電視是可以的,關(guān)鍵在于固件中有內(nèi)置藍(lán)牙芯片的驅(qū)動(dòng)。不知道這款行不行,如果行是支持哪種藍(lán)牙芯片方案?android的藍(lán)牙硬件驅(qū)動(dòng)一般在系統(tǒng)哪個(gè)文件夾里可以看到?求高人解答!
藍(lán)牙耳機(jī)和藍(lán)牙手柄鍵盤都能用上不是很香嗎!

機(jī)型平臺信息如下:

75D6S通過外接USB藍(lán)牙適配器實(shí)現(xiàn)藍(lán)牙功能

上一篇:康佳LED43S1系統(tǒng)
下一篇:led50x9500uf 可以刷機(jī)嗎 刷那個(gè)系統(tǒng)
沙發(fā)
發(fā)表于 2020-8-14 19:25 | 只看該作者 | 來自江西
反正我知道鏈接當(dāng)貝盒子肯定就能用藍(lán)牙功能了
板凳
 樓主| 發(fā)表于 2020-10-15 18:51 | 只看該作者 | 來自海南
本帖最后由 jamyu 于 2020-10-15 19:22 編輯

爬帖半天居然沒有人關(guān)注這樣的問題,只能自己去找答案了。經(jīng)過一番折騰,終于找到答案了。

1、進(jìn)入工廠模式,開啟開發(fā)者調(diào)試功能及root模式。
2、adb connect; adb shell 讓我們進(jìn)系統(tǒng)看看吧。
3、通過查找ko模塊驅(qū)動(dòng)文件找到了驅(qū)動(dòng)的位置:/vendor/lib/modules ,
看看有哪些驅(qū)動(dòng):

這里面btusb.ko btmtk_usb.ko 就是藍(lán)牙的驅(qū)動(dòng)了,但是通過 lsmod命令我們列出系統(tǒng)只加載了btmtk_usb.ko。且手動(dòng)加載另外一個(gè)驅(qū)動(dòng)btusb.ko 也是顯示只有btmtk_usb驅(qū)動(dòng)。
讓我們具體看看這兩個(gè)驅(qū)動(dòng)是什么吧:

75D6S通過外接USB藍(lán)牙適配器實(shí)現(xiàn)藍(lán)牙功能
75D6S通過外接USB藍(lán)牙適配器實(shí)現(xiàn)藍(lán)牙功能
原來btusb.ko和 btmtk_usb.ko 其實(shí)是同一個(gè)驅(qū)動(dòng),只是MTK的藍(lán)牙驅(qū)動(dòng),原本用作通用USB藍(lán)牙驅(qū)動(dòng)的btusb.ko被廠商改為MTK的了。故得出結(jié)論,該型號的電視只能支持基于MTK藍(lán)牙芯片的藍(lán)牙適配器。所以手上如果有MTK的藍(lán)牙適配器應(yīng)該是插上就能啟動(dòng)藍(lán)牙功能了。

遺憾的是我手上的CSR藍(lán)牙適配器沒法用,因?yàn)橥ㄓ抿?qū)動(dòng)btusb.ko被換掉了。但是如果換回正常的btusb.ko系統(tǒng)就能支持了。正常的btusb.ko的信息應(yīng)該如下:

75D6S通過外接USB藍(lán)牙適配器實(shí)現(xiàn)藍(lán)牙功能
這個(gè)是我從 ubuntu內(nèi)核里找到的,是沒法用的。需要自己在開發(fā)平臺編譯源碼生成,苦于沒有海思Hi3751V560平臺的開發(fā)環(huán)境...,所以繼續(xù)折騰 待續(xù)。。。。
期待有懂海思開發(fā)的助力!



地板
發(fā)表于 2020-11-2 11:50 | 只看該作者 | 來自北京
支持樓主研究折騰
5#
 樓主| 發(fā)表于 2020-11-4 12:23 | 只看該作者 | 來自海南
通過上一期分析我們知道要實(shí)現(xiàn)支持藍(lán)牙是有可能的,方法有兩個(gè):

方法一、選擇使用電視已內(nèi)置藍(lán)牙驅(qū)動(dòng)的藍(lán)牙適配器。
目前電視只支持MTK的藍(lán)牙適配器,我找了很久沒有找到,目前市面上主要是csr、broadcom、realtek方案的藍(lán)牙適配器。后查到MTK沒有藍(lán)牙單芯片方案、只有Wifi+藍(lán)牙的SOC方案,所以只能選擇帶有藍(lán)牙功能的MTK USB無線網(wǎng)卡,MT7662 MT7632 MT7632都屬于這類方案,貌似系統(tǒng)有明確支持 MT7668(Wifi驅(qū)動(dòng)已內(nèi)置)。不過手上并沒有這類硬件無法測試。

方法二、給系統(tǒng)增加其它藍(lán)牙硬件驅(qū)動(dòng)。
電視系統(tǒng)是android 9.0,采用Linux內(nèi)核,先來看看系統(tǒng)的信息。
cat /proc/version
Linux version 4.9.127_s5 (zhangchao@ubuntu) (gcc version 7.4.1 20181213 (gcc-linaro-7.4-2019.02 glibc-2.29 czyong Sat Oct 26 16:24:24 CST 2019) ) #4 SMP PREEMPT
Linux內(nèi)核版本是4.9.127_s5 用編譯gcc version 7.4.1 20181213編譯
增加驅(qū)動(dòng)需要有開發(fā)環(huán)境,查看系統(tǒng)build.prop文件,可以看到電視系統(tǒng)是使用海思的SDK環(huán)境,開發(fā)包版本是HiDPTAndroidV600R001C00SPC060_20191216
由于海思的SDK不開放無法獲取,沒有開發(fā)環(huán)境,只能自己根據(jù)內(nèi)核信息搭建一個(gè)接近的開發(fā)環(huán)境。于是我從 linaro.org 下載了7.4版的交叉編譯鏈;從kernel.org下載了 linux 4.9.127原生內(nèi)核源碼搭建了編譯環(huán)境,現(xiàn)在開始生成驅(qū)動(dòng)。
先從電視取得/proc/config.gz,這是電視系統(tǒng)內(nèi)核編譯配置,把它放進(jìn)linux 4.9.127源碼,果然這個(gè)配置沒有選擇內(nèi)核支持的其它藍(lán)牙模塊驅(qū)動(dòng)支持。我們把其他的藍(lán)牙驅(qū)動(dòng)選上,其它設(shè)置不變。開始編譯,成功生成了驅(qū)動(dòng)。我們來看看生成驅(qū)動(dòng)vermagic信息:vermagic:       4.9.127_s5 SMP preempt mod_unload modversions ARMv7 p2v8 ,和運(yùn)行環(huán)境是一致。
將生成的驅(qū)動(dòng)文件 adb push到電視insmod試下,報(bào)exec format錯(cuò)誤,dmesg查看錯(cuò)誤信息為disagrees about version of symbol module_layout。顯然是電視內(nèi)核對驅(qū)動(dòng)的校驗(yàn)不通過。modinfo --dump-modversion 查看生成驅(qū)動(dòng)和電視自帶驅(qū)動(dòng)的module_layout值不同,故內(nèi)核CRC校驗(yàn)不通過無法載入,換了幾個(gè)不同版本的交叉編譯鏈重新編譯,仍然不行。原則上相同版本的內(nèi)核源代碼生成的值應(yīng)該是相同的才對,顯然電視機(jī)系統(tǒng)內(nèi)核并不是選用的原生版本,而是經(jīng)過改動(dòng)的分支版本,且加上了驅(qū)動(dòng)加載校驗(yàn)安全機(jī)制。要想載入增加的驅(qū)動(dòng)只能是獲得電視系統(tǒng)對應(yīng)的內(nèi)核源代碼進(jìn)行編譯才能確保CRC一致校驗(yàn)通過,或者是用自己新編譯的內(nèi)核更換掉電視系統(tǒng)中的內(nèi)核(這個(gè)風(fēng)險(xiǎn)太大沒敢試,畢竟是電視機(jī)不是網(wǎng)絡(luò)機(jī)頂盒,磚了可不是一個(gè)小磚頭那么簡單!)。暫時(shí)宣告失敗,老老實(shí)實(shí)尋找內(nèi)核源碼和HiDPTAndroidV600R001C00SPC060_20191216開發(fā)包。






6#
 樓主| 發(fā)表于 2020-11-10 13:46 | 只看該作者 | 來自海南
續(xù)上回......
     感謝CSDN網(wǎng)友Reverse-xiaoyu分享的 基于海思平臺的linux內(nèi)核4.9.y版本的源碼,經(jīng)核對其Module.symvers符號表與75D6S電視內(nèi)核的一致,可以確定我75D6S的內(nèi)核就是來自于這個(gè)。在此源碼基礎(chǔ)上繼續(xù)開始編譯藍(lán)牙驅(qū)動(dòng)模塊,成功!adb push 驅(qū)動(dòng)到75d6S,insmod加載驅(qū)動(dòng),成功了?。?!內(nèi)核底層藍(lán)牙驅(qū)動(dòng)的問題解決了,已經(jīng)成功一大半了!下一步需要做的工作就是調(diào)試Android 能夠調(diào)用硬件驅(qū)動(dòng)進(jìn)行初始化實(shí)現(xiàn)通訊了。  待續(xù)。。。。。。

能找到75D6S海思開發(fā)包仍然很重要,可以幫助加快后續(xù)工作的進(jìn)程。

模塊符號表文件供參考
Module.symvers.zip (121 KB, 下載次數(shù): 3)
分享我編譯好的驅(qū)動(dòng)(內(nèi)核 4.9.127_s5),可以直接使用。
bluetooth.tar.gz (363.84 KB, 下載次數(shù): 7)
7#
發(fā)表于 2020-11-14 19:11 | 只看該作者 | 來自重慶
本帖最后由 西瓜就是圓的 于 2020-11-14 20:07 編輯

請問樓主d6s開啟了adb root和adbd,怎么刪除內(nèi)置軟件和去廣告 我用adb shell rm刪除不了,提示只讀
給他su也提示cannt link executable dependencies libo.so is 32-bit instead of 64-bit
如何解決。
75D6S通過外接USB藍(lán)牙適配器實(shí)現(xiàn)藍(lán)牙功能
8#
發(fā)表于 2020-11-14 20:13 | 只看該作者 | 來自重慶
請問樓主d6s開啟了adb root和adbd,怎么刪除內(nèi)置軟件和去廣告
顯示root權(quán)限,但是adb shell rm命令刪除不了。
adb shell su提示cannt link executable dependencies libo.so is 32-bit instead of 64-bit
9#
發(fā)表于 2020-11-14 20:14 | 只看該作者 | 來自重慶
這是命令顯示圖。樓主能指教下嗎
75D6S通過外接USB藍(lán)牙適配器實(shí)現(xiàn)藍(lán)牙功能
10#
發(fā)表于 2020-11-14 20:15 | 只看該作者 | 來自重慶
cannt link executable dependencies libo.so is 32 instead of 64如何解決
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

GMT+8, 2025-1-3 07:00 , Processed in 0.063416 second(s), 13 queries , Redis On.

Powered by Discuz!

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

© 2007-2024 ZNDS.Com

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