|
1.文件说明 a& l# s3 m+ H' ^8 n
Android OS系统
+ z: ^% K/ V5 I. r, M+ ] 文件说明:2 N1 w) i I4 U( b- R; Y
Android_tool/rtlbtmp: 应用程序
- j6 o6 ?0 r* `, \6 {9 {$ u k Android_tool/btmp.default.so: 应用程序6 y) U6 @0 y& L, z
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
$ I' P: ^1 k; \# h, O BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config " o/ x3 R* T/ s) E! K; m
Readme/Readmexxxx.txt: 本说明文档
$ j1 d$ T+ o. Y$ C0 q User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集
& C3 S3 H6 N' W) n% S/ {9 m 0 O* X1 G4 ^% l; W' q) ~( ~
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:# n9 g9 h4 C4 x/ R& B' l
---------------------------------------------------------------------------------
* {3 t, s( r9 Z+ K | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
- Z* C* S; p* k3 X5 f- ?6 h1 X |---------------------------------------------------------------------------------|0 e& ]* {2 w2 _
| RTL8703AS | rtl8703as_config | mp_rtl8703as_config |
/ l5 i. y: t( `/ C. | | RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |
, `( F: u9 H5 A | RTL8723AS | rtl8723as_config | mp_rtl8723as_config |( W4 S& Q: D: ]- O
| RTL8723A | rtl8723a_config | mp_rtl8723a_config |2 ]5 @, O7 u2 N( ~
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |0 P! Q4 ~( @7 u
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |# A0 {9 O2 N. @: ?
| RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |0 g6 @- Q1 J, n/ _
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
; X5 S- g6 X0 K! \! s* P/ p | RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
6 M; v- d" n1 `& N | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |- B( ?* w" o$ \. z8 ]1 C
| RTL8723CU | rtl8723c_config | mp_rtl8723c_config |
" s, X3 G( Y \/ \ | RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |4 K- g+ R8 k& ~; w
| RTL8723DE | rtl8723d_config | mp_rtl8723d_config |! X$ D& A8 a# V: h( W8 O7 {
| RTL8723DU | rtl8723d_config | mp_rtl8723d_config |& Q4 {* T3 K, X; p
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |& C! j% k4 S- L3 n4 ]9 f/ D
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |' U8 d% ^8 u4 c
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |' D( E& f9 _2 i# y# i& y9 b9 T4 ^2 q
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |
3 V6 B- O2 K: L$ A* q+ @8 Z% T$ q | RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |) G8 P. }2 j$ S5 v4 r, S& @
| RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |
$ Y& p: C5 L# s! o | RTL8821AS | rtl8821as_config | mp_rtl8821as_config |4 h2 ?5 d4 ?0 w4 G- ~' C
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |* x; v% J% p+ g' Q4 t% B
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |, o8 U8 n2 c* l) v; W' P5 m
| RTL8821CE | rtl8821c_config | mp_rtl8821c_config | |( S+ Q4 e; r' F8 ~9 y5 K j7 r1 U
| RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |1 }6 g# W/ f! W1 T0 M* i( m o
| RTL8821CU | rtl8821c_config | mp_rtl8821c_config |# I& k! M" X# r3 v* w# Y
| RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |' |/ R6 [8 \4 L
| RTL8822BE | rtl8822b_config | mp_rtl8822b_config |" ~+ J' t2 [/ ~' D1 V* R
| RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |# a0 e0 i4 z3 C9 ?
| RTL8822BU | rtl8822b_config | mp_rtl8822b_config |5 A3 w1 W: x5 b0 y7 f4 B
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |" _# @( ~3 e8 Q, @
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
( M. S3 U" P& C; P$ \ | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |8 B8 a/ e( Z8 K3 y$ Z6 A) [& `
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |
! @9 y+ H* ~3 Y! u ---------------------------------------------------------------------------------
* T& d; k# @1 y& z/ U- bLinux OS 系统
2 r1 ?2 Q6 G- i8 C3 z- x: @ 文件说明:
/ I, R& \1 @! F Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成% G; e! b) L( S3 u9 o( g9 i2 B
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
: J; Y( K' x" G& w r# ~2 T BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
" a# \% h! `# Z& L* A* r- l Readme/Readmexxxx.txt: 本说明文档+ d/ z& ]5 K4 R0 u, _! c5 p
User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集
7 m, t$ W, [( A* |! f 下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:1 m; R- N# v$ [# V* `* M
-----------------------------------------------------------------------------------, W3 f' y* y4 i& s
| 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
& C$ e5 q& l9 W# c& y5 O |----------------------------------------------------------------------------------|
& a' f: }& ?1 M6 i* q9 n0 p | RTL8703AS | rtl8703a_config | mp_rtl8703as_config |
/ }" R6 I3 [9 { t! @' i | RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |, x0 T$ B7 P9 R4 C: y
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |3 l) \. `) Z& B% s5 G
| RTL8723AS | rtl8723a_config | mp_rtl8723as_config |- e0 u9 a% o: d# \3 d j' v
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
. ^7 X( K+ M, p* {7 N | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |# A4 I/ J, p8 O9 e4 S$ F
| RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |* u. R+ P1 {! U6 j! I" \
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |9 K4 V8 E+ V* [6 A: B/ W
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |( q0 l4 N9 W3 E1 w$ D1 ~ _7 l R
| RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |
1 F7 u% ^; f: `7 q7 n | RTL8723DU | rtl8723du_config | mp_rtl8723d_config |
0 P* |* o+ J% Y. W | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
) F: ~, G# i" m) O( | | RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |
1 a* c' n" w e4 E7 I7 @/ `) l | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
% V) q5 a/ Q2 R! c | RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |
7 |6 b5 r1 @* b& [: H | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |: L q7 q5 {: R4 B% u- q
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |1 F$ H$ w) M' x( C
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |5 x7 z+ i5 K' A
| RTL8821AS | rtl8821a_config | mp_rtl8821a_config |, s2 L' H2 f- f+ x0 {3 t
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |8 t' B* W+ w1 @6 t) v9 u" t
| RTL8821CS | rtl8821c_config | mp_rtl8821c_config |
! l! g1 p: Z- D | RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |* p) D' D0 q" q7 z# _( f, V+ f
| RTL8822BS | rtl8822b_config | mp_rtl8822b_config |
; ^) @8 @ M B/ j | RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |5 ?. ^9 C) Q7 g- s- G8 ?% B- {& _
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |
; u4 r% `% c# j/ s2 O | RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
7 X% D: T( p$ u5 e# B) u& [ | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |& M; W5 G8 A! B5 U8 n5 R
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |
3 h, U# P! o' F- E9 s8 Z) z/ ^% ` -----------------------------------------------------------------------------------* ^/ F7 [& _) x! u6 P- t- q
0 z2 {; H+ x* a8 R$ ~7 m
2.运行环境搭建5 Z6 U; \. F9 m% q! {
Android OS 环境
; o/ @ j4 `' D4 }; B将 tool 所需文件放到系统里; ^$ ^5 h7 Z% |% [- m
将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;
: t5 k5 M0 z/ ]8 f# s# aadb push rtlbtmp /system/bin/
3 b! g0 x! |; |) h: K+ s; dadb chmod 777 /system/bin/rtlbtmp
\ c+ L# m" ~ ?% s$ M7 L将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;
- G7 Y0 o g" O# Gadb push btmp.default.so /system/lib/hw/9 s; E3 n( Q% U7 h5 l/ r$ o4 l
adb chmod 644 /system/lib/hw/btmp.default.so
; M" |; ?& |! g3 `* d$ O0 r将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;
( D) H ^9 E* p; W7 uadb push mp_rtlxxxx_config /system/etc/firmware/$ \) G4 ]# E+ | Y2 l% ^
adb chmod 644 /system/etc/firmware/mp_rtlxxxx_config4 P/ @2 d% v5 b0 s( @# H
将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;
s% T" t3 W( \. \adb push mp_rtlxxxx_fw /system/etc/firmware/
9 F% @( {+ y5 w$ nadb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw2 l g* j& g1 c1 d' s1 _
: @, P: q" B0 T% M: U/ G" @ W
9 E* ]0 M) x6 f5 E; T9 c% R" x+ e
#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面
) o. j7 c7 Y; Q$ ^1 q D将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;
/ A3 K+ }) Q zcp rtlbtmp /vendor/bin/7 u, Z: F6 J1 ^& L& U; W: B
chmod 777 /vendor/bin/rtlbtmp: y. F0 T4 n4 n4 ]
将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;
6 {$ N& _/ b+ x6 ecp btmp.default.so /vendor/lib/hw/# ]6 Z' h" f# V! z6 k; n
chmod 644 /vendor/lib/hw/btmp.default.so
, ?2 k5 B8 t& [5 J将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;8 K) I$ E# W6 [, z
cp mp_rtlxxxx_config /vendor/firmware/. {/ v3 E* _) N9 ?0 j) I
chmod 644 /system/vendor/firmware/mp_rtlxxxx_config8 n; Z( t4 U" N- h/ a8 |3 {
将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;
0 P# u& ^' V6 @) Zcp mp_rtlxxxx_fw /vendor/firmware/. `; E7 S$ Y5 s/ r2 w
chmod 644 /vendor/firmware/mp_rtlxxxx_fw
8 b7 B, w# l6 @' W" d以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;
& j- \3 H8 g2 i) L# m. k8 A& V5 ` 关闭 normal BT
7 p. J% V. A0 c+ v, l* I# n( q- Urtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案: S4 E3 h- y8 ]2 y$ E- L6 ]) |
service call bluetooth_manager 8(关) /6(开)
' \' ? Y2 p2 a/ J! _( T或者0 [+ k, E/ S1 o: h* [
cd /system/lib/hw
0 k, E9 Z( e- lmv bluetooth.default.so bluetooth.default.so_ORG
" @1 I5 E. p4 \2 k% E$ n4 g, ]: f(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)6 W5 I* j1 z3 ^% H3 q- K" A
reboot
; ]4 e0 @% A( J0 l+ f9 Q5 P7 K7 C9 l" @! K
Linux OS 环境
: p8 h+ F( w! @$ \8 ~* q 将 tool 所需文件放到系统里
7 q. f: M! \/ t& Fcp rtlbtmp /usr/sbin/* l0 k$ c: m! r0 l0 b: r
chmod 777 /usr/sbin/rtlbtmp* C) ^$ {( w( W; R
cp mp_rtlxxxx_config /lib/firmware/0 X. w2 s( @% ?2 X+ d+ G# i9 x* c
chmod 644 /lib/firmware/mp_rtlxxxx_config7 [- B8 Y% b& i1 Y* o
cp mp_rtlxxxx_fw /lib/firmware/& C! Q* Z1 V0 h) Z* w
chmod 644 /lib/firmware/mp_rtlxxxx_fw/ T4 ?' ?7 Z4 @5 J) Q/ Y: t- w
UART 接口芯片准备9 e. Y2 o" ~& y$ ~. z/ R
请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;3 {1 @: |% M7 o- V2 e
USB 接口芯片准备6 b4 i, z0 |" X5 }1 c$ L8 w/ g. P
先打开 normal 蓝牙,再 hciconfig hci0 up8 l# I* i, r. d* k6 I$ B8 h3 _6 p
/ G8 S" ]! q- J" r, Q3 v$ \1 H
4 f2 l# z, a& o" s7 O+ u9 x3.BT RF Performance Test & TX Power Calibration
6 {1 _ {( i# J E& w3 _( T参考User Guide
. ?* K4 r4 {- H& H#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide
7 X# j# S5 b+ D4 o* d+ f( ?
/ T% k5 y3 A9 u
6 v0 B5 p8 F" h0 m1 Y6 s一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!
' R1 ^5 D) F) b9 h
, o8 u6 S/ c3 ` m2 m" s* J2 E- w: E. L b( Y
|
|