藍芽位址問題

2021-08-20 21:47:57 字數 2050 閱讀 7906

[description]

對藍芽位址的作用及使用,我們常會有一些疑惑,下面是對其常見問題的彙總。[branch & version]下文涉及的nvram lid和藍芽位址均與具體藍芽晶元有關,請注意區別

[solution]

藍芽位址長度為6bytes, 每台藍芽裝置都應有乙個唯一的藍芽位址。目前,藍芽位址的使用需要向ieee申請授權使用。

1. 藍芽晶元的位址怎樣獲取?

藍芽位址儲存在nvram_ef_btradio_mt6601_lid/nvram_ef_btradio_mt6611_lid中。當藍芽poweron後,nvram中的藍芽位址會讀入到藍芽晶元當中,這樣藍芽晶元就獲取了藍芽位址。

2. ******xx6601這樣的藍芽位址有可能出現重複

首先需要宣告的是******xx6601這種預設生成的藍芽位址是mtk內部測試使用。

藍芽位址正確的獲取途徑是向ieee申請授權使用, 在download新的bin檔後, 可以通過相應的工具將申請藍芽位址寫入.

但是由於眾多廠家沒有申請藍芽位址,或者還申請了但還沒有正式寫入, 針對這種情況, 我們會給出乙個預設的位址,方便內部測試。預設位址具體生成的過程是這樣:在第一次藍芽poweron的時候, 如果判斷nvram中的藍芽位址的前2個bytes為0x01, 0x66或0x11, 0x66,系統會認為廠家並沒有寫入自己的藍芽位址,這時候系統會將藍芽位址中剩下的4bytes用一組隨機數來代替.

這樣我們會在bluetooth->about下看到這樣的藍芽位址******xx6601或******xx6611.由於隨機生成,還是有可能出現位址重複。

3. 藍芽位址反序

輸入的藍芽位址會以與輸入相反的順序顯示,常稱反序,這不是系統的bug.藍芽位址的顯示是遵循bluetooth的規範(gap profile section 3.2.1)。藍芽位址6bytes,分為lap,uap,nap三部分,輸入時,是從lsb->msb(lap uap nap),而顯示時則為msb->lsb(nap uap lap).如輸入1234567890ab,顯示則為ab:90:78:56:34:12.如果需要將藍芽位址以與輸入方式一致的方式顯示,可以參考mmi_bt_entry_about函式中藍芽位址的顯示方式(nap, uap, lap),修改為(lap,uap,nap).

4. 藍芽位址的作用?

藍芽位址是整個藍芽系統的基礎,它在很多地方會應用到。藍芽裝置間在連線時,藍芽位址會與輸入的pin組和一起生成link key;master的藍芽位址會用來決定整個piconet的physical channel和hopping sequence;在每個packet前面加入的access code,也是**於藍芽位址lap部分。

5.為什麼在meta工具中,使用mediatek bt tool修改藍芽位址後,重啟開機,進入bluetooth->about檢視,藍芽位址沒有改變?

a). 在手機的bluetooth->about 裡的藍芽位址是儲存在nvram中。藍芽poweron,藍芽晶元的位址會從nvram中對應的lid獲取。

b). meta的mediatek bt tool寫藍芽位址不是寫到nvram,而是直接通過hci命令寫到藍芽晶元。這樣做法是臨時改變藍芽位址。目的是方便藍芽晶元測試。因為如果該nvram,要使藍芽位址生效,必須是改之後,去power off bt,下次poweron的時候又從nvram中去讀取,才是改之後的位址,這樣太複雜。

因此通過mediatek bt tool不能永久修改藍芽位址。

6.怎樣永久修改藍芽位址?

目前有以下方法:

a)at+embt:具體使用方法請參考at_command_full.pdf。

ex. 

• 請用如下at命令實現藍芽位址的修改:

• at+embt=1 //poweron bt chip 

• ok

• at+embt=0,bt,1234567890ab //寫位址

• ok

• at+embt=2 //退出測試模式

• ok

• at+embt=5 //讀取位址 0xab9078563421

b)sn station tool(for production line). 怎樣使用請參考user manu。

解構藍芽位址以及藍芽MAC位址查詢

現實場景中,經常會碰到 搜尋到乙個藍芽位址,但是沒有名稱,無法確定是不是想連線的裝置等問題?這個時候就想著,如果可以從位址資訊中能解析出某些有用的資訊,幫助我們篩選就好了。別急,還真是有可能的,讓我們先來重新認識一下藍芽位址的構成。當然,這裡介紹的是bluetooth address,即public...

藍芽 Mac位址

在 br edr 裝置中,其位址是乙個 48bits 的數字,稱作 48 bit universal lan mac addresses 和電 腦的 mac 位址一樣 正常情況下,該位址需要向 ieee 申請 其實是購買 企業交錢,ieee 保證位址的唯 一性,皆大歡喜。當然,這種位址分配方式,在 ...

android 藍芽 獲取藍芽位址名字

bluetoothadapter 本地藍芽介面卡 首先需要新增藍芽許可權 uses permissionandroid name android.permission.bluetooth uses permissionandroid name android.permission.bluetooth...