|
1.文件说明
$ |/ c6 P, |. D) J9 m& SAndroid OS系统8 n3 N* o7 E3 b
文件说明:
: w4 i6 H/ J8 L. A Android_tool/rtlbtmp: 应用程序
' v3 m) I% Y2 ?6 r3 _. _ Android_tool/btmp.default.so: 应用程序
3 t7 ~6 N9 F9 w BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
* a; j8 T0 G0 x BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
- T9 H; x& `4 F; e4 [ Readme/Readmexxxx.txt: 本说明文档
' o" B* N% T! H' e. ~: u User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集
' u9 S1 u$ {& d, l, D+ O5 ]5 Y5 Q 7 s' a7 Q8 W7 v( r2 e2 j+ w
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
f8 W, Z n% R ---------------------------------------------------------------------------------
2 @3 b+ f9 X- G1 l) m: ^' }' N* M, @ | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |6 ]0 L6 y+ D" c# t3 b$ ~$ }
|---------------------------------------------------------------------------------|
; ~; f7 [$ _- \ | RTL8703AS | rtl8703as_config | mp_rtl8703as_config |
- |7 Z' K0 R+ j0 x4 e | RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |
9 W3 m. B2 d- a, S | RTL8723AS | rtl8723as_config | mp_rtl8723as_config |- M8 D1 T1 l! l: U
| RTL8723A | rtl8723a_config | mp_rtl8723a_config |+ S) K1 b# v+ e) g; g" I K
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |- v3 n, u4 t$ [9 f
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |$ w8 U! i3 [/ m6 U' M) U3 z) ^1 ]
| RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |# C9 T* L$ h0 H
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |. T& O$ ?( h% [: y+ s D. ?" L
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
* V: ]9 d' ]* t | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config | |* }% r3 y6 Z4 _. s3 Z
| RTL8723CU | rtl8723c_config | mp_rtl8723c_config |+ Z, M( W; a: u2 M, }9 @% n% N
| RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |4 X- L! @" E( r+ L) c# J' y! b/ F
| RTL8723DE | rtl8723d_config | mp_rtl8723d_config |
. w6 f0 Q3 z: u9 k: I! i4 K | RTL8723DU | rtl8723d_config | mp_rtl8723d_config |% Z6 L3 F* r3 B) \ K9 U! m5 |
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |6 W% U; h8 S3 e, z$ g$ O
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |( L: B/ h6 |. W
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
+ ^( J& O7 I' J* h8 t | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |
7 P- v( s7 F5 E1 X; | | RTL8761AUV | rtl8761a_config | mp_rtl8761a_config | O: W& m" r X" f. R) D' ]
| RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |
. c: `2 T- w2 U9 L$ n+ n | RTL8821AS | rtl8821as_config | mp_rtl8821as_config |2 d* H; l3 t/ g/ J) S, V, Q
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |- e# A* z4 m1 w
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |. e$ I& Y" ?/ m f; S7 p
| RTL8821CE | rtl8821c_config | mp_rtl8821c_config |6 c6 V- f: y2 z! s E
| RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |- N8 ^* _9 p, B I* @! S" s/ I
| RTL8821CU | rtl8821c_config | mp_rtl8821c_config |; U1 R$ G* |2 x$ O
| RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |
8 }9 [3 l1 z- r | RTL8822BE | rtl8822b_config | mp_rtl8822b_config |6 m% F0 W; a- {% X) ]
| RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |
, B- ^3 p! t; |* ]. |% Q/ g | RTL8822BU | rtl8822b_config | mp_rtl8822b_config |
) h! B$ B4 B* U2 h- ~ | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |1 y) V* v+ r5 E7 k! N$ K4 ]
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
5 z$ m! i4 `, O9 V% ^: N | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |/ A; N$ W0 e2 C+ c6 N
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |
" U* d! [ Y- G9 ? ---------------------------------------------------------------------------------
2 ]6 S* z" ^. K0 Y- l! T+ RLinux OS 系统
; N2 d/ V1 ]' [3 r 文件说明:, P& S" r I0 D! I# s+ a
Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成
" M/ R. ]# o5 Y! s- x- J BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware! k$ |5 g; ?, ^* Z
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
5 ?' u! b1 f' t, R' c5 |. V! C" @ Readme/Readmexxxx.txt: 本说明文档/ ~" B5 R* Z" S$ K% ]
User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集
4 D/ b& E6 h' M6 a; k 下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
3 S6 @. d; h& N -----------------------------------------------------------------------------------! M/ O( `; d- I% H% v
| 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |4 u8 q0 R( c+ _
|----------------------------------------------------------------------------------|5 }- ?2 A6 c+ W% j
| RTL8703AS | rtl8703a_config | mp_rtl8703as_config |* U" W% y. G/ ]3 }
| RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |
4 ~9 A& W. o5 w+ C8 H. s: b | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
& n- p! d8 Y, L1 b7 i. G% ? | RTL8723AS | rtl8723a_config | mp_rtl8723as_config |
- b* Z2 w+ s) t( P | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
# b) j% ^% }% v. T* \ | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |# J. g! _4 u+ i& f# T# y( w# v. @
| RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |, B$ |1 t. J3 M9 @( D- k+ ~
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |$ ^: l7 k5 s1 N3 q/ p$ f
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |' m1 I I0 |& y4 v) i
| RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |
i. V3 \0 d( v" ~& X/ G5 G | RTL8723DU | rtl8723du_config | mp_rtl8723d_config |) ?( }0 L' {9 Y7 l9 K' d- d
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
% a6 Q" r# n$ _2 Y F9 o | RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |# A) ~4 M: n! j0 S( t
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
$ ^ a! G k w" N | RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |; s: W( P* s0 N$ T) S' `" b* B* i+ @6 l
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |7 r5 p- G# }: V( b: C% R$ o
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |, o! x$ ?% t1 Y: |4 q; [5 [! v. y
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |, G* z0 y) F* F& A; r: m
| RTL8821AS | rtl8821a_config | mp_rtl8821a_config |
0 a" b9 D& J# L; j" y | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |! O" Q% k3 q9 O* c1 q/ k
| RTL8821CS | rtl8821c_config | mp_rtl8821c_config |
7 L) q! R b3 V# D9 j) [: Z | RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |* E. \9 M" J6 N
| RTL8822BS | rtl8822b_config | mp_rtl8822b_config |4 U$ C Z3 w3 A( G2 B
| RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |3 f0 i$ x! Q+ j6 d
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |
; \$ n3 ]) F5 w) X( ^$ k | RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |& O2 u; A- F- J9 l/ w) |/ i. i
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |: P/ ]; u7 W" y* ^
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |' y+ g) @7 m3 U8 ^8 ~, Y ^
-----------------------------------------------------------------------------------& i8 Z, g' T* w$ n G( H) E
& p) F. p& D& a6 M9 X, H+ J2.运行环境搭建
1 r3 b# w' l. @* H% o" G3 X9 PAndroid OS 环境
2 G- k% {1 _) Y: _将 tool 所需文件放到系统里
$ V c( c, j; }' |" U将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;
5 P: r: z; L" v# E4 G6 dadb push rtlbtmp /system/bin/) D) `& O3 g' n0 K3 V; x6 R6 D
adb chmod 777 /system/bin/rtlbtmp
2 ] L; v; Q/ L( X% Y$ k将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;+ v' D0 ~4 v7 y
adb push btmp.default.so /system/lib/hw/' V, \6 I' J C, m5 Z' h( l# V
adb chmod 644 /system/lib/hw/btmp.default.so
2 M4 p% b- t1 G7 V将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;/ {7 c3 R- ]2 A/ l& c& h& r6 s6 ~. f
adb push mp_rtlxxxx_config /system/etc/firmware/
* V* M# O* }4 v7 @7 o# L& Fadb chmod 644 /system/etc/firmware/mp_rtlxxxx_config3 ]' @, V& N9 Q5 C% ?& ~; h
将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;& q+ }9 x5 s7 S f2 p! U* X1 }
adb push mp_rtlxxxx_fw /system/etc/firmware/8 B3 D! s, J- ^) ~9 Q
adb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw
- g( Y; d* i! @# V5 B B( |! L$ v( v4 h, k
/ s7 Q' c6 N0 }9 ^4 J" s#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面, Z8 H* Z; @! z, w2 r
将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;2 t- F/ W- x! S1 [. U
cp rtlbtmp /vendor/bin/
+ n/ z3 F; a" L5 Vchmod 777 /vendor/bin/rtlbtmp) C7 {3 |! r* M* |' N
将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;
; T/ u' I- s- e' Q/ b& }# ?) \cp btmp.default.so /vendor/lib/hw/
4 ~. c. V p5 U3 S; q: l- hchmod 644 /vendor/lib/hw/btmp.default.so4 t7 m7 X9 \- K8 H
将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;
. }( F; u/ G- r: Hcp mp_rtlxxxx_config /vendor/firmware/. d$ d! N, N$ u: X, K( X5 q1 y- l
chmod 644 /system/vendor/firmware/mp_rtlxxxx_config
/ {& _$ r9 n2 g9 ]9 D将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;
. \+ C: Q3 N3 a# [+ M, Scp mp_rtlxxxx_fw /vendor/firmware/
+ X4 R! q9 w- Z0 q4 F9 bchmod 644 /vendor/firmware/mp_rtlxxxx_fw
- r* S2 b1 B0 p1 g以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;5 R% ~! Z* j C8 S
关闭 normal BT4 N G! {* L5 f' w1 l. Q
rtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:
6 m% q2 h$ O0 T) o6 iservice call bluetooth_manager 8(关) /6(开)
9 f* L1 W& b) O6 [1 D1 v" Q9 T* o# T或者2 f: X8 O4 P; |4 Q7 k* [
cd /system/lib/hw
( n3 _+ T \$ K9 d. C! Rmv bluetooth.default.so bluetooth.default.so_ORG6 ?& Q3 I _4 l3 g
(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)
5 O, a: l; g$ k3 Y& nreboot
/ h: c( f9 [0 K' f. V' I# U. s
q& G! V$ q1 ], }7 m2 OLinux OS 环境
- k% U- Q C6 b& a" b 将 tool 所需文件放到系统里* ~9 g, X6 F& V. k. v- i
cp rtlbtmp /usr/sbin/
# W/ l: M l/ nchmod 777 /usr/sbin/rtlbtmp
: |0 z! H( j$ r H- X! f2 Zcp mp_rtlxxxx_config /lib/firmware/$ p: O7 ]4 M$ i: a/ E$ a
chmod 644 /lib/firmware/mp_rtlxxxx_config
7 q# V. r3 m; U0 F: v; J+ kcp mp_rtlxxxx_fw /lib/firmware/
/ U3 M6 A9 z2 f+ B$ [) [chmod 644 /lib/firmware/mp_rtlxxxx_fw8 k& l/ R% u! E
UART 接口芯片准备
' Q- R3 \0 Q& S请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;
- ~9 Y% ]1 W* S/ L: s USB 接口芯片准备
P# w8 f! r& s4 a# a" Z+ T先打开 normal 蓝牙,再 hciconfig hci0 up
! V+ C3 Q( E/ T# U, z* T+ A4 B% H5 g2 e R* ?$ |5 J' }
3 `6 W- P7 y* o& X
3.BT RF Performance Test & TX Power Calibration. }8 @; p$ v# a7 `2 u. I
参考User Guide- ]3 w9 V& V' b4 t- a; P" L: }
#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide, b2 f+ \. h' v+ D4 U6 n4 N+ O
e& S# x, a' Z5 f2 F! l
2 }: ^5 _* h; L% E: e; E一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!
& P2 J" l( Q; w% U8 e" f0 j' O9 y$ v8 U+ q7 `5 }" ?
# j' ?4 q* m# d" [ |
|