|
|
1.文件说明
; [/ k1 _" ]8 Z, Q6 kAndroid OS系统
7 R: h' _ t& ]( _! c: Q 文件说明:5 B5 ?& m1 k9 a# l0 }1 ?9 q, ^" Z
Android_tool/rtlbtmp: 应用程序
8 u3 P$ {4 \. z Android_tool/btmp.default.so: 应用程序
% f2 Y" D1 x" \/ N( \( ?8 k7 d6 Q BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
' Y$ S4 P& C5 R: X5 B& [0 v7 D5 C BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config % y8 |0 o9 A* I' _3 g' [3 K9 ?- E2 q) [) g
Readme/Readmexxxx.txt: 本说明文档* M7 a9 Z$ {6 Q) I f
User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集
1 f0 z# R7 V" X- P d3 M7 h
/ H* ^8 g5 q7 _: @) [; p2 b1 U& r 下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
8 g9 Q/ m5 b+ x* O3 D/ R ---------------------------------------------------------------------------------
# F( M7 C0 Q. ?# I | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |% ]. a' @ e4 M0 R' I
|---------------------------------------------------------------------------------|
. H/ |% Y2 F" e N | RTL8703AS | rtl8703as_config | mp_rtl8703as_config |
. P: e9 z; ?( ?& N! }& V- S" k' g8 ] | RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |, N6 t5 A0 [$ `' f; X) O0 m! r
| RTL8723AS | rtl8723as_config | mp_rtl8723as_config |
3 Z @( l; d# |( q | RTL8723A | rtl8723a_config | mp_rtl8723a_config |
* w B% ]2 q: { | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |. i+ q) X- _: a m/ [
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
6 l8 I9 @2 D$ H | RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |. a/ B$ q: E7 f% J f0 b0 y4 b$ w6 q5 V
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |; _+ f) _, b7 i( p, L% T$ ?5 N; W
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
0 K: W2 Q, j+ U6 J! w1 I | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |, ~/ a- q- ^0 w* k7 t6 i! a
| RTL8723CU | rtl8723c_config | mp_rtl8723c_config |
/ k% U. G" c* ?' Q" _% @* x | RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |
- m9 i E& p/ r( W" C1 k5 T | RTL8723DE | rtl8723d_config | mp_rtl8723d_config |
6 d8 O8 Z, E7 ?5 @ | RTL8723DU | rtl8723d_config | mp_rtl8723d_config |" M8 _" K6 X% R) j4 g
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
5 I/ z* P) ~, }2 f# U% z; V% c) f | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |' u: M2 I# g: Y" ]4 F
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
9 T; x4 v9 ~) D | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |0 S' a) h- X0 p9 Q) i. i
| RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |/ c) x: D% j( i( Q6 @
| RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |- K- a$ f2 C% W' \/ O
| RTL8821AS | rtl8821as_config | mp_rtl8821as_config |
4 K4 K: O4 S6 |2 u8 ^2 M | RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
" Y! Y1 W9 U4 V! r* k6 Q, m | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |# l& y! q: O3 J$ q. g/ p) ^
| RTL8821CE | rtl8821c_config | mp_rtl8821c_config |" ~1 ]4 S& b2 a% P# z
| RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |5 L, }& G" A8 X9 r/ n6 M
| RTL8821CU | rtl8821c_config | mp_rtl8821c_config |, ]/ R1 m: J/ t0 Q! x
| RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |
4 u( d5 @2 k" `; v# j5 ]( N) { | RTL8822BE | rtl8822b_config | mp_rtl8822b_config |
9 H) a4 X" M- l0 g, x | RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |
% f9 S) s% ]$ j( _8 A | RTL8822BU | rtl8822b_config | mp_rtl8822b_config |$ I/ [' F( f# n' u/ C! Q
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |
: I; @! q5 I2 d$ m2 g, ?9 n | RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
* R3 ^0 j( g# o+ Q# t | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
- L) P$ Y3 b+ h+ e | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |0 \8 ^ E4 ^' R3 Y+ @5 v* U/ H
--------------------------------------------------------------------------------- P p8 e- e4 Z. Q1 m) X: W: Z3 {
Linux OS 系统8 y" v( s0 {( p7 c# |
文件说明:4 V% i* T9 r+ O6 |) F
Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成
2 v" t. p; L: L/ t% \1 ~! O8 V* | BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
0 b' D2 K8 R/ k1 L, N BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config # s8 r( _, l# _; G/ ?! M
Readme/Readmexxxx.txt: 本说明文档
) U7 p: _! m3 @/ x- H9 V. ]$ ` User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集% a: i$ I! ]7 m9 f+ _
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:! M; ^/ o( T8 w
-----------------------------------------------------------------------------------: y5 f* W5 g# D- Q2 N' Y) V4 |1 E
| 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |, |6 N" y' G7 J
|----------------------------------------------------------------------------------|
# |4 O& r+ V2 V! R6 c D | RTL8703AS | rtl8703a_config | mp_rtl8703as_config |
$ a0 m( d8 u+ i7 ] | RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |5 q/ w% m' C+ N
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |6 R3 k+ J% E( d6 o8 q0 D, s
| RTL8723AS | rtl8723a_config | mp_rtl8723as_config |
/ K4 `2 W$ B! K+ p | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |5 r6 Y. F4 I( O% q
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
8 `* ]& G+ z) s% l/ I. L6 t, I | RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |" t+ A6 o* }) `; W+ a9 ` t# [* O( E
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
7 P* b/ t( y: d1 a1 p p- ` | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |/ u T! e$ t: A
| RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |5 n# c! h( w, R7 d/ I
| RTL8723DU | rtl8723du_config | mp_rtl8723d_config |
- d( y" c% @+ p' A | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
d. `2 s s/ i) V | RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |
" a4 G+ c# ]' B- t | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |/ d6 w; m+ g5 ?+ i- N
| RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |% k, P1 Q" @2 H8 j* x7 d, q4 Z
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
% Y; s4 a9 M5 s: A2 \ | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |
" d& v' l" ~* |. w* s* g | RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
r/ l+ {( G/ W$ P | RTL8821AS | rtl8821a_config | mp_rtl8821a_config |
8 Q& w0 n% A# q5 A _ E; F' I9 w | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |% f! |+ r* X/ O) ~! x
| RTL8821CS | rtl8821c_config | mp_rtl8821c_config |
$ ?* l+ L( U( T8 O: }/ T' m | RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |
9 f/ [/ W/ Z$ y" j7 Z6 `% t+ [ | RTL8822BS | rtl8822b_config | mp_rtl8822b_config |: W( D- G$ J4 m) s C4 P5 k# V' B
| RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |
4 O8 f. k; p- E/ U" u8 R | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |
' [( g3 H5 i5 d2 m/ ? | RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |1 z% t+ j3 p4 E" B! [# h) Z& w
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |$ H& h4 r: |' j8 j E
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |8 y e5 h* i5 ~2 k
-----------------------------------------------------------------------------------2 U. ^( O4 B: @
. p8 T5 x# l& H
2.运行环境搭建
( _/ I) \# Y* CAndroid OS 环境) G2 ]2 K j! d+ @
将 tool 所需文件放到系统里1 r( a$ N; R8 O: Y; T, b
将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;3 x6 Q2 G! a3 {, L" p0 a
adb push rtlbtmp /system/bin// w- |8 j [8 f1 O& [& ?9 x
adb chmod 777 /system/bin/rtlbtmp/ o$ m- f: w" Q/ F
将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;
0 V% ~2 N0 M: Xadb push btmp.default.so /system/lib/hw/. g* w& k9 K+ A6 [
adb chmod 644 /system/lib/hw/btmp.default.so; ^5 X! o* V( G* K8 M
将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;/ X& M% \3 o) V8 q; |: Z
adb push mp_rtlxxxx_config /system/etc/firmware/
: H3 M* k) I3 r4 l8 x# ?adb chmod 644 /system/etc/firmware/mp_rtlxxxx_config. i, D5 \2 A. y- g4 i
将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;& L' c. ?# h% J" s9 D
adb push mp_rtlxxxx_fw /system/etc/firmware/ d5 S2 u6 Z3 U3 G
adb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw! n `/ h3 F' m; X p+ r) W6 X7 h- \
3 N& n7 @" _/ ^3 S0 G3 S( T% J9 V k. U
#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面
+ E6 _9 N/ B7 `; Q d将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;
2 w" ~- A5 D5 b# t: y% Ncp rtlbtmp /vendor/bin/; n! l; p- w) m6 ^* ~
chmod 777 /vendor/bin/rtlbtmp
$ ~& S* b) a) A) Y8 b+ P1 u将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;
7 X' {' s0 D4 _4 ~! n& j6 qcp btmp.default.so /vendor/lib/hw/2 S% N+ v, z% M6 \! w
chmod 644 /vendor/lib/hw/btmp.default.so( Y) g3 v; i0 {6 {5 z
将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;
. x6 t# N9 \- F% h* b! w, @cp mp_rtlxxxx_config /vendor/firmware/
6 }$ ]' c8 Y, Q9 g" Y3 Fchmod 644 /system/vendor/firmware/mp_rtlxxxx_config
! s6 k4 O9 I |$ t' J( R$ X& a将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;
% D; C6 q5 ?+ b5 b4 P: acp mp_rtlxxxx_fw /vendor/firmware/! }. \! c* V* H I3 \: ?* t
chmod 644 /vendor/firmware/mp_rtlxxxx_fw
9 P* Z" m( p9 D; i* l2 _以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;
1 t, T3 H* ~2 h; [ 关闭 normal BT
: v: D) b# T |& M3 xrtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:
# \0 b$ R. H( m. w" \" V% C# [service call bluetooth_manager 8(关) /6(开)5 v7 o5 H" j/ ^/ q5 n$ P6 [
或者
) }) q& W) q" g$ I, t% rcd /system/lib/hw
4 n7 t1 I) k1 y! P5 W3 ]+ H zmv bluetooth.default.so bluetooth.default.so_ORG
4 r8 M* Q, N6 I) W, F. u; K% `7 f(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)
( o% T1 b) e, O2 A+ qreboot: S# [+ G/ h8 e
" Q; ]3 m0 e5 R2 J% ELinux OS 环境
2 e' |* T7 m& l- e, f! B 将 tool 所需文件放到系统里9 R9 G" G) B# C1 j3 y
cp rtlbtmp /usr/sbin/
! }( k+ U! @& @ bchmod 777 /usr/sbin/rtlbtmp, @4 m- |) H$ O$ N6 ]' b; Z
cp mp_rtlxxxx_config /lib/firmware/. ~; k* S' a2 E; M
chmod 644 /lib/firmware/mp_rtlxxxx_config( m+ e& U& T# l# g# Q! x
cp mp_rtlxxxx_fw /lib/firmware/( p- f2 m9 d; S* q, r3 Z/ d
chmod 644 /lib/firmware/mp_rtlxxxx_fw2 b \9 u2 W. C& s
UART 接口芯片准备
1 S2 O( S$ x' u( P9 n请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;8 k( R. h! T: I: m1 g
USB 接口芯片准备" j+ r4 z+ B3 v( z$ P& U9 H
先打开 normal 蓝牙,再 hciconfig hci0 up5 j l2 i" Z: T
. u/ `3 O' \/ `# ?+ x, W
% E, e8 U( N4 x' V+ E- S3.BT RF Performance Test & TX Power Calibration
0 V+ n9 N% k% N3 G( n0 F参考User Guide: G) ?. i% Y6 A. ]+ I6 q8 I
#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide
; D" t6 T5 W8 d1 F
: y/ U5 t. Z0 T( i. B9 |- V: f; `: O/ Q$ E6 R% ?
一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!6 k3 ^' F. N' @% ^6 }
3 q" P2 Y. V2 G0 g' a5 a( O* q7 v
/ A" u6 ~0 v {) n& s# u! U
|
|