|
1.文件说明
) S& n( C. C R/ m( M h# KAndroid OS系统
! t- Y4 d9 e2 e. j0 d' C3 L1 q/ Z 文件说明:
9 s* v6 g' h* C Android_tool/rtlbtmp: 应用程序
1 P" e9 o; ^ }; |; K) i; _/ v Android_tool/btmp.default.so: 应用程序
6 a* S" Y* { J9 q BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware/ e: S% ^& u6 W, T2 k; w
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config ' Q( h# j" K( a& K. ], r
Readme/Readmexxxx.txt: 本说明文档5 ^/ X+ B E" y: k: H/ M* Q
User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集: ` v+ c4 B: I. G+ ]0 V/ R. L
/ S! F+ A, i7 f
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
& G9 L: j* _; z& S! e ---------------------------------------------------------------------------------% z C# G3 d$ b, v# ^0 E# b
| 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |/ X1 Y% A" O7 d
|---------------------------------------------------------------------------------|
) c# v" B5 N7 Y% o | RTL8703AS | rtl8703as_config | mp_rtl8703as_config |7 @! [4 c" T: O) C4 h
| RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |
& ?9 d9 O: b0 D( `. { | RTL8723AS | rtl8723as_config | mp_rtl8723as_config |+ o! @ k7 G( X+ {' @
| RTL8723A | rtl8723a_config | mp_rtl8723a_config |
3 t0 o9 n1 j- Q; n, q3 a0 s | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
/ |/ |6 C. W% N& c | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
6 b9 g5 `& D: T+ P# D% \* n | RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |! m7 f# P% }# y) h1 e
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |+ L' C& `) Q- f X$ q \9 X
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |8 a4 y) P* H( k% ~7 E1 `6 e
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |( N5 B4 q$ X s* ?" t" o
| RTL8723CU | rtl8723c_config | mp_rtl8723c_config |6 y2 A: z3 K# E
| RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |
- B" l1 q- H* t/ h0 J8 r | RTL8723DE | rtl8723d_config | mp_rtl8723d_config |) C5 D' X) b3 J6 Q3 j
| RTL8723DU | rtl8723d_config | mp_rtl8723d_config |
! X: \( j: n* m( C% t9 k! O% f( e | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
' `2 V; i( t+ l7 L/ C- N5 M | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |! b2 Z" H4 ]* F
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
( r$ Y% k1 Z1 Q | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |* y. q& M/ I B' q
| RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |
" t6 _! N- z5 u2 G p | RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |
. H5 M: z. \. P( w | RTL8821AS | rtl8821as_config | mp_rtl8821as_config |
4 X7 J9 T, P- b+ G+ w/ H | RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
4 d1 s Z. M1 u | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |
8 k' _& A6 |/ V1 d% c. q- C | RTL8821CE | rtl8821c_config | mp_rtl8821c_config |
% @/ d9 d; r5 p% r' t1 h4 u | RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |6 L2 s' Z; r! `/ P
| RTL8821CU | rtl8821c_config | mp_rtl8821c_config |
; n$ u9 L, [* N2 P: l6 F3 C) o | RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |
L7 M; O, V# M; K$ P S | RTL8822BE | rtl8822b_config | mp_rtl8822b_config |8 G C+ g7 n- ]( m3 }
| RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |
7 Q7 X- u0 ?+ E9 a' j3 I/ D$ k | RTL8822BU | rtl8822b_config | mp_rtl8822b_config |
" e, T5 O% j8 F+ B F; P | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |' |, y+ P' M& n* G! F; V/ p
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config | g3 V0 ~+ c8 k! ~. @- D/ \# y
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
5 h% x# u" I2 s5 V9 `3 y | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |
5 E* T8 D- s/ a0 s* I ---------------------------------------------------------------------------------# a+ h* t' p3 \2 p* o$ n: }' W
Linux OS 系统
9 o! K6 Z5 Q* e8 D d; r 文件说明:' _% v z8 V" S
Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成. A4 z' D0 }3 R2 i$ H4 ^5 O/ C! H1 t
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware2 m# R0 i4 `' v
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config 7 E: P* _7 E; z
Readme/Readmexxxx.txt: 本说明文档
' v8 o# v) _, v" i User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集
9 d0 R& K3 n0 K1 g k2 e 下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
% L- i& J* R1 ]2 R2 C4 S0 k2 { o ------------------------------------------------------------------------------------ d5 ]1 g2 _# h. N4 b" p# N
| 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
+ k' I$ s* @, x3 T |----------------------------------------------------------------------------------|
5 z2 a$ @ t! D7 L | RTL8703AS | rtl8703a_config | mp_rtl8703as_config |5 [" L- M' ]3 [- I
| RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |
# `0 f( E* ~9 e; Z L | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |' Z. T, g; M0 n
| RTL8723AS | rtl8723a_config | mp_rtl8723as_config |
! q% e) a; g3 u6 N' z | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |+ \" D$ U( H# B3 E! U4 g5 |
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
0 ~' s8 y$ n7 W' N" c1 }$ [2 b | RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |1 L6 a$ z7 j. E/ W8 n3 U3 b
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
6 n8 ^' s$ z# z: _* | | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
* \( X+ r9 ~& L1 v4 R | RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |' F5 S4 |) L+ E8 p; u' M( i
| RTL8723DU | rtl8723du_config | mp_rtl8723d_config |; k/ m5 K/ \; a7 d" w. l) p
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
$ [& y2 E. C u | RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |2 j4 W9 r; j7 I. `3 ]1 D
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
# `) p2 c( M( c: N# a' v) g4 v | RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |- H, }: e8 j2 U; T% T2 D+ B
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
0 L" V; i/ u( U1 B | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |! r& J& O* i5 m0 Y I
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |# t% A$ X; |/ Z/ `0 g; ~) [
| RTL8821AS | rtl8821a_config | mp_rtl8821a_config |
, l' B& B6 \% m R2 K4 c | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |
% S8 k1 @; t5 L8 p4 H | RTL8821CS | rtl8821c_config | mp_rtl8821c_config |
: {3 n, H' W/ Z' O4 C | RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |
5 |) X- o/ u$ h | RTL8822BS | rtl8822b_config | mp_rtl8822b_config |
6 w4 T7 c& ? g" @. c | RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |: y2 y4 U; m9 i4 j i& g- @1 o
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |
- F+ _ d4 H5 x; c4 U" ^. t) ] | RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
% J* I$ ]7 {, Y; v# X$ L" j | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |/ d' m8 f8 t# K5 l( A
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |8 d% J7 e# l$ i; ^0 u4 I0 h+ S$ S
-----------------------------------------------------------------------------------" w. J, `7 Y0 n3 y* B1 c$ y) ?
) g; T6 \6 ~* x1 u9 H$ {) m% }2.运行环境搭建
- o% j$ B* O3 G9 \6 z/ _( jAndroid OS 环境0 d9 l1 J& q8 ?3 y) P( F" H1 Y! `3 S
将 tool 所需文件放到系统里' y# V7 s* n, l1 {2 T
将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;
8 M7 B3 j* W7 D7 [8 X$ m! Dadb push rtlbtmp /system/bin/
8 _9 d0 V+ p8 w0 b, s! E) Radb chmod 777 /system/bin/rtlbtmp/ P$ C7 R7 D. h" ]
将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;
+ W7 R) Z5 ?/ f' t& l( x" ?: wadb push btmp.default.so /system/lib/hw/( L; V$ ^- p0 l9 i! I7 q
adb chmod 644 /system/lib/hw/btmp.default.so+ I7 `6 N6 H6 y$ X* V
将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;: [& |" i' J. l! K7 b6 [
adb push mp_rtlxxxx_config /system/etc/firmware/6 `! W7 l8 G) q* V9 T9 `- K/ z
adb chmod 644 /system/etc/firmware/mp_rtlxxxx_config
- Z3 y9 x; K# Y! H; ~将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;
8 s2 L9 I O6 `3 ^" u9 g' b' qadb push mp_rtlxxxx_fw /system/etc/firmware/
" E2 b, |. [" ?( d! Nadb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw
6 t6 i6 @: d; C8 [* I7 F; y [8 C) v0 Y- e
D3 w. t, f' D0 w: Q0 ?4 }8 l
#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面- g- J( l5 {" ]; w
将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;+ D; A+ i& [. m- m4 \
cp rtlbtmp /vendor/bin/$ a) z" N+ j: i
chmod 777 /vendor/bin/rtlbtmp
, J U( B0 m& i4 u4 l! c; G# U将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;
: g( g* D1 X/ C+ d7 ]cp btmp.default.so /vendor/lib/hw/* W7 a5 R" B" M, \
chmod 644 /vendor/lib/hw/btmp.default.so% j" s0 r+ I# Y* O' ?
将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;# a( v9 l) q7 ~
cp mp_rtlxxxx_config /vendor/firmware/. S5 U+ t, T& t: ~5 W% \8 @
chmod 644 /system/vendor/firmware/mp_rtlxxxx_config8 W% U# G. ]$ ^; T( M
将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;
8 R' t3 q. f, Y, k: F1 a) Bcp mp_rtlxxxx_fw /vendor/firmware/7 r' `" O" i8 O! p3 s6 S; H
chmod 644 /vendor/firmware/mp_rtlxxxx_fw
& }4 j9 o m, S* Z) z以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;( N# }* o9 p6 T. a
关闭 normal BT
* v% H4 u$ I2 M6 Prtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:
. Q ~$ N9 l4 F8 jservice call bluetooth_manager 8(关) /6(开)4 }" A a* O8 z% y/ k
或者6 m' L+ X2 T, _9 p) A5 c4 n7 Z8 P R
cd /system/lib/hw
- Q, R* W7 n6 w' B1 zmv bluetooth.default.so bluetooth.default.so_ORG
, M6 k' H8 u- R& T) K% T `(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG); k4 ]$ p; I2 M4 \" b/ E. f
reboot( J% O+ D) K. P) P7 }
* t# [) _/ ?, x H% r6 B1 g# Y: gLinux OS 环境2 ^0 _( o% p% L" }0 L6 R
将 tool 所需文件放到系统里
& H. {% N* O, B: Q; Wcp rtlbtmp /usr/sbin// v- ~/ s" `4 m' x& q- r1 h3 w
chmod 777 /usr/sbin/rtlbtmp
5 i" p( t8 E8 h5 y9 fcp mp_rtlxxxx_config /lib/firmware/' T) {$ ?; p* H
chmod 644 /lib/firmware/mp_rtlxxxx_config: C; K0 K& \, @( H
cp mp_rtlxxxx_fw /lib/firmware/- u8 C* n- W% x% N; g1 `
chmod 644 /lib/firmware/mp_rtlxxxx_fw
1 m9 m) y1 n2 G: k2 p& x" J UART 接口芯片准备
' e" Y( n+ V! ~. m请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;
7 u; O) Y1 a+ Z3 s USB 接口芯片准备% R: K! ~2 S$ U% g" o
先打开 normal 蓝牙,再 hciconfig hci0 up* y% H4 u( B" Q0 G$ m6 _2 ~9 ^7 K
. J9 j6 G" i. P3 g6 j6 d! J# H9 a2 z6 ~ s5 W5 T
3.BT RF Performance Test & TX Power Calibration1 D4 u( v& D7 X1 r
参考User Guide
9 L/ e5 L% Q& ^#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide/ B1 l6 X' Z' g; J6 k* M
* {, M' Z" y4 I9 p+ q' w0 x( o5 Z6 S* r. i* T) N7 l+ m
一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!
! {3 R0 f ]8 g$ ^% {; x9 o2 j, F- `: ~! [* v1 Z
& I0 r3 | {. J$ g
|
|