|
1.文件说明) ?/ A- d7 E/ x" a$ ]+ }% |# X
Android OS系统& ^6 Q% b2 n" g3 a/ a. H
文件说明:1 u! M" n$ Z( ^! K9 |: H& }1 {9 w, _* w
Android_tool/rtlbtmp: 应用程序/ O: T# M. p7 H6 Q8 u: m3 |0 |
Android_tool/btmp.default.so: 应用程序$ Z& F$ L# {$ ?$ Y( U
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware) R. ?( M1 y. v4 h3 g& h
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
1 m/ [+ J, H2 ]3 {1 s4 } Readme/Readmexxxx.txt: 本说明文档& Y% ~) H7 v$ A! A* u+ L
User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集
4 V, Q" n. X3 B0 x. u
& e( M. Y! }2 X8 W 下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:4 o, G* [6 [4 w0 W* n$ B
---------------------------------------------------------------------------------8 d) n" _3 N. ^; x0 `& H2 I! S
| 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
& |- A) x2 q+ |5 T+ Z1 b( K8 a |---------------------------------------------------------------------------------|8 |. g# c9 h `6 H9 L
| RTL8703AS | rtl8703as_config | mp_rtl8703as_config |
m2 C; X, W/ l" \- B& b q | RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |
% U: L0 t7 m/ X p1 W | RTL8723AS | rtl8723as_config | mp_rtl8723as_config |, {& Q9 k2 c: t: ]% f
| RTL8723A | rtl8723a_config | mp_rtl8723a_config |: _$ f& \# y* b3 A* o
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
4 l1 C$ |3 A+ c/ g | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
* q) S2 v, ^9 q& K. C" K | RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |# L, w/ ~/ o4 n) ]- I6 l/ n9 S$ z- X
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
8 _; [& X9 b* ?# U# F | RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |/ p: e- R0 w! x& `2 x
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
9 G, v l! s! R6 P2 i | RTL8723CU | rtl8723c_config | mp_rtl8723c_config |
( d* z6 L: k6 s3 }7 U | RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |5 K, z5 C4 {) ^4 T6 X7 \! P; }# S
| RTL8723DE | rtl8723d_config | mp_rtl8723d_config |( ^$ { u9 d5 D! s
| RTL8723DU | rtl8723d_config | mp_rtl8723d_config |
5 a" U8 M5 |1 C% S5 L4 P | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |0 `" U- v6 K% V9 k/ [7 \; H1 _
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
3 m0 w# n1 t8 G7 | | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
9 g5 T( K1 u- s1 \* G | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |, J9 O/ ^# P: F' s
| RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |( L$ i* a) a8 [7 [) s$ K1 k" g
| RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |! F$ S7 }( g# d) G% T$ ?- A
| RTL8821AS | rtl8821as_config | mp_rtl8821as_config |
+ m B# @& D' U4 ?0 Z+ A" ~+ p | RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
* i* m( ~4 f9 X) b5 B: |+ U | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |
- @4 C6 J8 z) c- t | RTL8821CE | rtl8821c_config | mp_rtl8821c_config |
$ h1 c+ {0 c; ~- \! Z1 s# e | RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |+ V5 t+ r% K/ l% \( m
| RTL8821CU | rtl8821c_config | mp_rtl8821c_config |
) a7 t( G+ j. k K9 H1 G | RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |
! [: n5 D- S0 _$ ]) { | RTL8822BE | rtl8822b_config | mp_rtl8822b_config |7 U2 l% [/ l8 c! g9 F) v4 R9 c W1 Q
| RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |
& M# q5 f* ~! \+ P | RTL8822BU | rtl8822b_config | mp_rtl8822b_config |
. D8 d9 ~2 B }* m( _% K | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |- U& c$ c# ]2 @( q
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |6 j: e- N4 k9 d9 P
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
. N" f2 d- u+ F! Y1 l7 r2 n2 N | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |
5 }9 A9 D/ V# H/ z ---------------------------------------------------------------------------------) `" W* D! f# g- p- \8 k
Linux OS 系统
1 N c5 g) ~) [. ?9 w) J- S 文件说明:
/ d- g4 |7 b+ H. _7 B5 s Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成
. V$ j$ |6 {8 L; B8 t; Y BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware8 X) k0 s1 I+ o# ^
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config * ^: C, x8 v' Q7 f9 I& s
Readme/Readmexxxx.txt: 本说明文档
% ]0 p2 M- q! r4 v' A: m8 R+ b User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集1 M. e3 N4 ^8 d L$ z
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:! j9 U9 D8 r6 W7 ]
-----------------------------------------------------------------------------------
& u- s: s8 T1 U9 Q | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 | S6 V/ }3 L& r# T3 U
|----------------------------------------------------------------------------------|
1 [& i2 Z" _4 j" s | RTL8703AS | rtl8703a_config | mp_rtl8703as_config |* E2 R. ]+ j1 _# W3 y/ s8 m
| RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |
Z( R: i1 l. ~6 Y | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
# }& e& P: N2 X. f | RTL8723AS | rtl8723a_config | mp_rtl8723as_config |, a1 C# A: N/ V$ _6 e: ^
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |% q- j% s, n+ c- a" z2 f
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
, r f/ w9 A( U9 W | RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |0 u$ ]8 x2 E+ D% d# F# l) W2 f
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
2 E; `6 i9 ?5 H1 X2 R | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |2 b# j" s% T2 ~/ q( p
| RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |
. ]. O7 ^4 X7 T7 c. B: W | RTL8723DU | rtl8723du_config | mp_rtl8723d_config |
7 Q! {% }3 X- Q" R* ~/ D2 @ | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
6 G. j5 R p: O& p | RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |( w# Z5 Z8 w; P' k
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
; g1 t, K: }/ p | RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |: i3 G' w) l2 B1 ?( F7 N
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
% U( c/ w! t! M; D/ C | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |
4 i5 ` c+ R" y# _* s% ~, } | RTL8821AE | rtl8821a_config | mp_rtl8821a_config |8 `& n0 T& v( v
| RTL8821AS | rtl8821a_config | mp_rtl8821a_config |
$ |' x( ^. |6 F" G( P- M3 F' ] | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |( m9 f4 J( A9 ]; f. @) ]' M
| RTL8821CS | rtl8821c_config | mp_rtl8821c_config |
+ _! R1 F: y3 R, c8 m9 J7 e | RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |
- e3 W; I. R. }' z | RTL8822BS | rtl8822b_config | mp_rtl8822b_config |: ~2 Z, e2 Q: k) a3 F
| RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |: _2 V1 T# }+ ]
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |9 P+ \- i& T7 Z( }3 |1 S
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
1 C7 w/ K) ~' \ | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
# f1 |. l, r3 a9 t V3 s; S | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |- M _! H' O# k
-----------------------------------------------------------------------------------
1 O. ? x' s- T. \& f" b& M0 Z* o2 O" i% ^+ x f* k% P. |
2.运行环境搭建
/ B; d* p8 r# S) V4 ?7 }Android OS 环境/ z' j% N8 ?+ }. w4 p" l" X
将 tool 所需文件放到系统里, A8 i2 e" k5 j% e/ f2 P4 P
将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;
( v, o, m# a4 r) oadb push rtlbtmp /system/bin/
) m9 Q, j' ^: |+ C* @& Vadb chmod 777 /system/bin/rtlbtmp( j! k- M; \7 d- G' p2 g# s, E
将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;
+ J& Z6 y! T, v) m# r n% X( }adb push btmp.default.so /system/lib/hw/' q1 u- v' @3 T' I8 s
adb chmod 644 /system/lib/hw/btmp.default.so; z2 e+ }# C! m; f
将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;
( \$ F1 L: F/ U: q. L( L/ t& Yadb push mp_rtlxxxx_config /system/etc/firmware/
8 o6 |+ `0 w$ x4 A8 `6 Q! Sadb chmod 644 /system/etc/firmware/mp_rtlxxxx_config
) z" {9 q% L L% J; z将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;9 C+ c d- }0 w8 N$ n
adb push mp_rtlxxxx_fw /system/etc/firmware/
1 A7 C2 Y# J: u1 K3 oadb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw) z7 x" ^* `9 `/ j7 q5 v, N3 C8 D
: m+ R& s* x" J9 R# \! B. ?1 r5 ^
) E+ D' G) v1 T& P5 ?# @
#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面
# K" J% U7 X" Y将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;8 u, }# a7 O8 n6 c
cp rtlbtmp /vendor/bin/
3 l! n- x p- {% j; `8 Bchmod 777 /vendor/bin/rtlbtmp3 k; C `& d( P( q6 d( y5 K
将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;
' [8 f e, Q' Ocp btmp.default.so /vendor/lib/hw/! W: J. Y* {3 J3 [" n
chmod 644 /vendor/lib/hw/btmp.default.so, D! ]& p# V+ d- @
将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;1 i; M) U2 E( a! a8 g9 P
cp mp_rtlxxxx_config /vendor/firmware/# p/ ?" G( G6 w6 O7 j
chmod 644 /system/vendor/firmware/mp_rtlxxxx_config" m, ?6 D+ t" P- o) K, }. ?
将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;
' r/ [: ?! C' x( Q& h# [* B' pcp mp_rtlxxxx_fw /vendor/firmware/- K5 ^- `5 ^0 z! s% [2 n4 z3 F
chmod 644 /vendor/firmware/mp_rtlxxxx_fw X; g6 |( `! V& `- T4 g
以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;
: L- _7 |# |0 l0 P4 } 关闭 normal BT' X. ~% h' T- H0 [! y+ W6 N
rtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:3 C) { B8 Y5 Y0 g( p( w
service call bluetooth_manager 8(关) /6(开), H# O* y8 Y) O, X9 Y+ `) f0 y3 r
或者- A7 n2 f8 K! s. V
cd /system/lib/hw
% A7 \' e+ e5 x7 `0 N0 qmv bluetooth.default.so bluetooth.default.so_ORG
. g5 J* u: x2 t. ^(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)" {4 l* E% g T% s \
reboot
* c4 J( p* i4 O1 H6 ^( K
; Q, w2 n; v. o( Q) pLinux OS 环境" X& }. u6 P+ l+ p4 s( i
将 tool 所需文件放到系统里
/ g- E# W- x+ Bcp rtlbtmp /usr/sbin/3 O: j3 H$ d1 { o" D
chmod 777 /usr/sbin/rtlbtmp) b8 L( T5 Z* p. [1 ?& N9 o0 {0 M
cp mp_rtlxxxx_config /lib/firmware/
) x7 m P7 J/ l$ k' v+ Echmod 644 /lib/firmware/mp_rtlxxxx_config
( W, g( _: T/ }: I7 hcp mp_rtlxxxx_fw /lib/firmware/- U3 h- a, u# O- O2 O& r$ h7 x& L
chmod 644 /lib/firmware/mp_rtlxxxx_fw0 y4 g" _9 D8 H6 P5 X& L, ^
UART 接口芯片准备- R1 Y" F; X/ }; H! {% `
请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;5 [" y9 }$ @" o0 c& D
USB 接口芯片准备
5 T: G( d* m- E2 K7 h, {: U7 n( J9 v先打开 normal 蓝牙,再 hciconfig hci0 up, i2 g3 ` A; B& {5 h$ O
0 r4 l3 Q4 h5 m" { ~# g; k6 p$ y5 w- J0 _ A
3.BT RF Performance Test & TX Power Calibration/ B# o3 d! k# ?
参考User Guide
) ?! O% u' s# s. |' l0 e: K#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide
1 k7 x4 h% L- x. p; k( @: E# M. Z" Q9 R
3 I; `6 l l7 C, R一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!
9 ]4 `/ F+ F9 A% I& ^/ f, l& G* B' a5 {& D6 l/ d
5 m$ f; ]) A) x/ N9 Y% n
|
|