|
|
1.文件说明
: q M. u+ F; E( y" b% A3 LAndroid OS系统
0 y% R2 G" a2 a' a" J0 ]9 w2 ~ 文件说明:$ \5 U' u! X8 b0 m! F
Android_tool/rtlbtmp: 应用程序$ w- b' I# Q3 v& I9 H+ n
Android_tool/btmp.default.so: 应用程序- @: r6 a/ e- r3 W0 m
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware& X, O+ e$ ~% z* Z3 ^
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config 1 n {, B. X; m1 y& O
Readme/Readmexxxx.txt: 本说明文档. G6 Q D4 B. e N1 J
User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集6 v4 x2 @( W6 {( V6 ?. O2 |
7 K. ?' d" G/ A$ B 下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:, D# e; m" j# f+ H5 g" H' t/ O
---------------------------------------------------------------------------------$ M5 Z- E+ P V+ o
| 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |1 s7 D# V1 ]& ^8 a0 u* U z- X
|---------------------------------------------------------------------------------|% Q) r5 D# Y, g0 T1 k! w- O: V
| RTL8703AS | rtl8703as_config | mp_rtl8703as_config |
/ q& r4 b% o; u | RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |, L9 B6 c" l4 c
| RTL8723AS | rtl8723as_config | mp_rtl8723as_config |/ [. e% {( U% n5 [+ u
| RTL8723A | rtl8723a_config | mp_rtl8723a_config |
) q5 _& s/ ~7 D' D( F4 E | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |! M" \2 O0 G/ U# }) _
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |2 `! z' r, [" _3 ] S" m
| RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |
! M) V I x, i, B9 e | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |& {/ l" i- k7 x) ` Q
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |3 B5 y( Z& G/ Z9 R
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |4 C9 H+ t( w; {/ v I8 _
| RTL8723CU | rtl8723c_config | mp_rtl8723c_config |
U& a! Z; i2 d1 {4 b& O6 l, } | RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |
, S$ [( x8 ?3 Z% Y | RTL8723DE | rtl8723d_config | mp_rtl8723d_config |
; @! _2 N& ?' i ^4 j2 |; O3 q1 a4 k | RTL8723DU | rtl8723d_config | mp_rtl8723d_config |( `1 D N9 m% v4 `1 N
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
4 ?6 d3 i/ A- B' X, _; ]7 o | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
3 {5 s5 c8 p8 | | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |* j+ m9 m5 E1 M5 z! _7 P2 X3 \0 q
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |
: A5 V m: p w- w | RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |( f/ W3 J' a0 s: i3 b4 k8 }' ]# i
| RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |
+ h: U7 W$ ]" L& |/ a | RTL8821AS | rtl8821as_config | mp_rtl8821as_config |
8 ^& P& n: t! F5 {9 A) O | RTL8821AE | rtl8821a_config | mp_rtl8821a_config |. \( x* h# G: N* ^
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |
* O% i) ?4 L1 V( K4 A6 @ | RTL8821CE | rtl8821c_config | mp_rtl8821c_config |
5 }9 Y3 {7 v! k | RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |
- X/ m, A* g. G( b, e2 }, c U | RTL8821CU | rtl8821c_config | mp_rtl8821c_config |
7 N: Z% \9 H% e | RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |
7 P I' t2 |; M6 s3 v; n) |# K | RTL8822BE | rtl8822b_config | mp_rtl8822b_config |1 [! B( R @, m s
| RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |
. {: ^( o( o( }8 D% Z3 b8 b | RTL8822BU | rtl8822b_config | mp_rtl8822b_config |
^7 I7 ~$ A; z | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |
; E, X9 p w; q* S# H | RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |) Y7 U$ d/ l: x9 e1 |2 e
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
+ c# I. e- A4 y. F+ i% ^6 K u0 f | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |: ?0 X% w$ A9 C8 L$ B9 P M
---------------------------------------------------------------------------------6 |+ f( y- r7 t/ `2 J6 l% z9 e8 C
Linux OS 系统
: y3 h% W2 }. x: S( A9 E9 K 文件说明:' L8 r# L3 t2 a3 m( u
Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成
# Y& L0 |9 w8 J4 [ BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware- ^* z& V- j5 L, K' L" I* s ?
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
! K2 ~+ s) m% e {7 A Readme/Readmexxxx.txt: 本说明文档
" F) _% E1 h* [7 g- ~7 \. D* ~ g, d User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集
; o9 {- b3 v7 v+ Y! n; ] 下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
( K+ U- b2 f/ T6 g% |+ H( n -----------------------------------------------------------------------------------
3 ?0 \0 Z+ ~+ s | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
- }: w+ `5 c; @$ _4 _8 N |----------------------------------------------------------------------------------|
: i% i# A1 g) Q | RTL8703AS | rtl8703a_config | mp_rtl8703as_config | X# b" j: Y8 o% j: t) i: u
| RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |
9 a' b6 i4 r, _$ G+ p! \+ f9 ]! M" } | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
# C( Z5 Q/ r0 g% R6 L0 x# ? | RTL8723AS | rtl8723a_config | mp_rtl8723as_config |
" |3 H4 J7 U U6 Q6 _ | RTL8723AU | rtl8723a_config | mp_rtl8723a_config | F4 u p+ H6 ~1 R; r* V" B
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
' V2 r; Z% U d/ F+ Y6 v | RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |' \3 _( b% \" R
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config | P4 [# V- s! I8 |4 ~
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |+ j! z: j9 E; t) b% k$ G7 Z. c& T
| RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |* x. K$ F% D) A, e0 e. s
| RTL8723DU | rtl8723du_config | mp_rtl8723d_config |4 K3 A. @/ a) R- T# ]
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config | m/ z# x& C8 ?4 U& {
| RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |2 a/ i5 }, y- r. W+ m& F
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |4 T" U5 g* e+ w9 X- `' ~
| RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |) x Z+ e9 A' y# [, d+ w
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
# |/ Z. ]% w% f1 w1 q# X | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |( {* n' U4 B, o7 [1 h
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
: V$ Q$ ^- T o5 q | RTL8821AS | rtl8821a_config | mp_rtl8821a_config |
, J" T% ^3 {' }& c M- { | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |
; |- ~: {6 u8 m1 h5 Y6 s# Y | RTL8821CS | rtl8821c_config | mp_rtl8821c_config |4 [ R e, |2 E6 G
| RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |
) Q6 V0 L. T! V ], l( T& E) G* o | RTL8822BS | rtl8822b_config | mp_rtl8822b_config |, d. e h% h @. @6 ~6 ]- W
| RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |# F% e" i& M, n( e6 Q7 V
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |, T1 } E& _0 V# c \ U
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
9 ?* e1 H l% M! j; i* P* J | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |1 u% S1 H, i; h
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |- \% L7 B% p, C. G2 m
-----------------------------------------------------------------------------------
A$ F5 Y/ L( O8 D+ D& @+ K( J: M9 Z; ?1 J, ?9 G1 i9 t
2.运行环境搭建
& G1 L9 y. B* F5 zAndroid OS 环境
6 v/ [8 M" |4 ~ Q0 G! k* [将 tool 所需文件放到系统里
X: M) @+ O# ?, Y9 R将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777; {+ x' h; q+ |7 P' M2 a& c" R1 f
adb push rtlbtmp /system/bin/
% j2 v# n8 @/ a+ q, g; z5 X) f9 z9 jadb chmod 777 /system/bin/rtlbtmp. d0 N+ `$ X1 S% {5 h# b4 p8 h
将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;
3 R) W, S# W- U4 g7 e, Y: e( Xadb push btmp.default.so /system/lib/hw/
' ? X; g$ X$ N. }& M$ E; \6 _adb chmod 644 /system/lib/hw/btmp.default.so# N5 v8 L7 l6 y" g. j
将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;
3 H [# ]1 \0 Q. Z; i6 Qadb push mp_rtlxxxx_config /system/etc/firmware/( [; P/ k; A( u" E( U/ ~& g
adb chmod 644 /system/etc/firmware/mp_rtlxxxx_config, R6 h. k9 Y, H) {$ t
将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;# y: `- Y* |3 o& w* l" h
adb push mp_rtlxxxx_fw /system/etc/firmware/
! U9 Q, a# @& n/ l t4 wadb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw1 z! K/ N0 _" X
* f( K* v- }0 Y
- y2 M% `+ o, ^#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面- }' F, s% h! r
将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;, ?) J1 t4 ?/ M" o) a6 d
cp rtlbtmp /vendor/bin/+ e" L8 R& ~5 i0 x( p$ ^
chmod 777 /vendor/bin/rtlbtmp
* ^* N1 e9 ] `! |将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;
1 D! ?/ c5 n a# D6 `9 L+ zcp btmp.default.so /vendor/lib/hw/ H& M' R& i8 C" e7 @% v* g
chmod 644 /vendor/lib/hw/btmp.default.so
* {7 B) e1 I1 L& z9 n将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;5 i6 T% \; Y' L# n: l
cp mp_rtlxxxx_config /vendor/firmware/2 E6 r" Z+ ~2 `, d5 g
chmod 644 /system/vendor/firmware/mp_rtlxxxx_config
' y/ H7 \/ B1 }将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;
* t2 C/ T% \1 A0 H9 ]cp mp_rtlxxxx_fw /vendor/firmware/* T1 b1 {3 f k8 b
chmod 644 /vendor/firmware/mp_rtlxxxx_fw
2 Q2 a# G6 }( i" `7 \; C以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;- K! |4 _" m3 B' L: I* H) s! d
关闭 normal BT/ Y- U' |# {( O2 x/ O
rtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:/ t* p/ o2 _$ k. N
service call bluetooth_manager 8(关) /6(开)
9 K9 C9 v8 c+ F. |- @" d$ I6 p+ l或者
6 r- K" { ~& C% [cd /system/lib/hw
- m1 @9 Z0 K( V1 B, l1 Z, Fmv bluetooth.default.so bluetooth.default.so_ORG& m- M& X0 E" b- O' C
(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)
' ?( b# ^ x6 U0 Lreboot! V; s, @$ ]6 N" V( ^: S
, @2 p4 S# s7 X% r- `6 ~( \3 v: ILinux OS 环境
L$ W5 E2 k. {3 P3 [. j4 ^' x 将 tool 所需文件放到系统里
! h; X0 W& c0 n) dcp rtlbtmp /usr/sbin/
' Y+ j5 u {- n: A! bchmod 777 /usr/sbin/rtlbtmp6 S$ s- J) a7 y" C& K8 }
cp mp_rtlxxxx_config /lib/firmware/2 r- K" d D& i
chmod 644 /lib/firmware/mp_rtlxxxx_config4 r: Y* W3 C ~0 \& T
cp mp_rtlxxxx_fw /lib/firmware/
, X# Y7 ^ l/ h+ z, C1 ?* bchmod 644 /lib/firmware/mp_rtlxxxx_fw
1 X5 N$ Y# Y. c8 e- T1 K UART 接口芯片准备
; F4 L! l$ ^# a3 t1 T' K( S请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;
+ d: }" a8 v/ h8 d8 j: i. E USB 接口芯片准备& c. }) L$ c: b; @. Q9 l
先打开 normal 蓝牙,再 hciconfig hci0 up# J7 C* P1 J6 W; n! b5 J+ B
9 |, `4 @5 ~7 d! ~2 t& S' W) |
+ c ]9 d9 J# r+ U3 A8 q
3.BT RF Performance Test & TX Power Calibration# j( z- [0 |! F- O8 F3 V, ~
参考User Guide
. E: o+ o0 e( |, h/ I! ~$ [. o) ^#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide
2 Y: X u7 m% w( \2 d! j" A
+ n" r6 ?( Q: x" B* A/ x
- R& j c1 }, o2 w* c2 d5 v& ?一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!# ~. J1 ]( s5 V& z+ f
: W& ~) c0 p6 P7 Z0 v
" U( f& h! T1 x- V) Y1 H$ i
|
|