|
1.文件说明6 Y6 ?3 s: j6 y. e
Android OS系统
+ S: A U! V Q 文件说明:5 U' _- c. D% L7 D
Android_tool/rtlbtmp: 应用程序
3 F& }7 V$ k) z( ~" I: J Android_tool/btmp.default.so: 应用程序% v/ b' H t; L J. y
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware9 B* p7 s! t2 f2 f _
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
) S, w8 n8 I) a Readme/Readmexxxx.txt: 本说明文档
! @9 [9 |3 e1 Q' S- `# m User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集3 L$ A, }1 @4 d, ]- _ F' r
3 }8 m3 h5 M9 w) P% E! i& D" k2 Q2 r
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
, \/ r0 Z. J# J! {, @1 l- _ ---------------------------------------------------------------------------------5 `) d, e7 {5 | P- d
| 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
0 O7 i( } T" P8 q+ Z9 k |---------------------------------------------------------------------------------|1 D# O: E1 o6 k; ]; T, p
| RTL8703AS | rtl8703as_config | mp_rtl8703as_config |- A; z8 e, C9 L. n. d, K9 ^: c
| RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |
! a* b- h' L+ N7 a9 Y | RTL8723AS | rtl8723as_config | mp_rtl8723as_config |
1 }; L7 e5 V. \8 C9 }% T# r | RTL8723A | rtl8723a_config | mp_rtl8723a_config |4 r4 m* o# e# T1 ?4 K9 d
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |& d1 ~5 N& O) H
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |$ _9 I- I4 Z" l" N- R
| RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |
8 K9 E' C( R' {: \2 h | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |4 E0 g: {5 F4 Z, S e# J; D) M
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |) c' c$ d3 s) |2 A; b
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |: B u' P) |. r9 B# j
| RTL8723CU | rtl8723c_config | mp_rtl8723c_config |
6 {! L8 S$ o- f% `) A' r9 s7 {% ] | RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |
( P2 I) j5 d5 _# z; I4 d: e% @8 \4 O | RTL8723DE | rtl8723d_config | mp_rtl8723d_config |
3 [: g8 k; s+ I; T! l | RTL8723DU | rtl8723d_config | mp_rtl8723d_config |
) z7 Y1 x) Z7 r! _' i2 D | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
! Q1 E: r6 T' ]3 {& u. d4 _ E | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
% E4 N; o* @' L5 Y | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
$ |& k) g+ U$ j, K6 u | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |
& `4 J% a+ ~) @# o3 z% [7 ? | RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |
1 i, Z) ~: n, r0 @ _ | RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |& R' a" U2 d3 E& ?
| RTL8821AS | rtl8821as_config | mp_rtl8821as_config |
3 C1 M$ S2 S: n& p( S3 Q+ b | RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
# s: B3 G6 Z8 @$ a* t- k | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |- A9 P8 l8 U8 g- U, U
| RTL8821CE | rtl8821c_config | mp_rtl8821c_config |, v( A; V9 W- b( J
| RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |
% \: N0 |' l2 Q7 w; O' J6 { | RTL8821CU | rtl8821c_config | mp_rtl8821c_config |. i+ G0 s+ Y" v2 q* R
| RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |
0 T3 c: [1 q6 s2 d) E% ] | RTL8822BE | rtl8822b_config | mp_rtl8822b_config |
( P a+ D: P% q0 C | RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |
# j. J# ]6 ~' V" D | RTL8822BU | rtl8822b_config | mp_rtl8822b_config |! `8 A4 I g' p9 J
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |3 K0 p1 G. M: e; H7 o
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |" f9 z* p- I' V
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |0 S3 g1 x% R/ V
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |4 X, m+ K: C9 L h% ]2 n& B! L- C
---------------------------------------------------------------------------------' C. y5 ?6 o" `7 b8 A
Linux OS 系统
/ p' Y( F$ v/ Z2 K+ y- d }# K: @: w 文件说明:1 V n" T4 v( Z/ D& w
Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成
8 s+ O2 h W O8 t* Z0 |, G BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
. i: b) E* J! c5 r( P BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config 5 W6 }) x/ h/ ~
Readme/Readmexxxx.txt: 本说明文档6 p5 ~/ ^4 T* k& [
User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集
1 a4 { S3 R+ d! k( r 下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:3 d7 i. I' g* S, H1 T7 q: C# |
-----------------------------------------------------------------------------------
3 V! e" K; C i& j, w | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |3 y& u; v; W9 v' F* s4 H
|----------------------------------------------------------------------------------|
|4 i* T- e( \( X2 ? | RTL8703AS | rtl8703a_config | mp_rtl8703as_config |+ b5 s+ N* X3 @6 Z9 K; E3 @* b) H
| RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |- L2 P2 K- e# [" _8 ]! |
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
* @. \! [2 L/ |' y& _8 ? | RTL8723AS | rtl8723a_config | mp_rtl8723as_config |0 X1 f: H9 b2 E% U' Q
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
% B- d$ Y8 ^3 j5 ]7 E; T3 { | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |0 t1 }6 r9 {1 G: q- a; h6 u
| RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |3 h4 B& a1 n: m9 {+ F- E8 ]) `
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
/ N H! |9 h0 t | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |% E$ i# S8 D; o: {4 Y0 y: N, o4 U- \$ \
| RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |
. l* g% w# ^! L& o7 `8 P& z& `- i& L | RTL8723DU | rtl8723du_config | mp_rtl8723d_config |+ y- R' D* Q; O. c8 y+ |
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |- H: ^, A7 F. W2 Q
| RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |. a- j* ` N4 o
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |* `9 {3 b% q; _* W9 m8 \
| RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |
0 L- S; J M! s( ^8 K! Y0 x2 H | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
4 ?5 b2 F! B/ Y2 z7 [ | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |. u3 t& L Q% a/ u
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
2 K* _( o. S2 j) g- f | RTL8821AS | rtl8821a_config | mp_rtl8821a_config |
; k" T2 e5 {9 _ | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |; B- E4 I7 M( D9 Q
| RTL8821CS | rtl8821c_config | mp_rtl8821c_config |" v% t9 h/ h, H
| RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |: b* x" O; v- G+ R* Q- n
| RTL8822BS | rtl8822b_config | mp_rtl8822b_config |, [* i* J' v4 c5 L0 K
| RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |
- d# A8 j1 \. {( O/ H2 V | RTL8761BU | rtl8761b_config | mp_rtl8761b_config | i4 U' _5 q, d: ^
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
8 c/ N8 G. j6 E | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
" g8 Q. V9 c6 \) y( s0 @ | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |; v: U. u/ l, o2 _$ e
-----------------------------------------------------------------------------------
( S+ I. e4 U& t! O, k! H% J
8 L7 a2 i6 _ |: N B2.运行环境搭建
% [% {5 @' D) z) f- c- PAndroid OS 环境
) _# N# e7 ` Y! {% t+ v将 tool 所需文件放到系统里
+ h5 B+ j" ^0 g0 ]4 e' s3 Y! u将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;
& x5 Z: ]6 B6 a. Jadb push rtlbtmp /system/bin/( ~5 @9 }, z" D7 s; u, J
adb chmod 777 /system/bin/rtlbtmp
* o# n& t* w, i6 s# E将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;
3 \6 ^0 [8 d) V) jadb push btmp.default.so /system/lib/hw/+ S) x( N. T% e6 a
adb chmod 644 /system/lib/hw/btmp.default.so4 c1 V# S$ f$ \ W/ O6 c. b
将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;- i% R# J% }& l8 H
adb push mp_rtlxxxx_config /system/etc/firmware/
& D% n! Z W4 z& Jadb chmod 644 /system/etc/firmware/mp_rtlxxxx_config
1 d) ]7 G( e; T5 ^" r) ^将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;
7 x6 u% R0 K# m- _9 ~ M) W- {& Dadb push mp_rtlxxxx_fw /system/etc/firmware/
! V/ s" i+ y& _adb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw: a. {6 V- G( \- H1 {
# n/ B& C& L) @" q1 h; S
6 g, N& I2 a8 b6 s5 B
#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面$ R/ H2 I& `0 j$ h# T
将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;
4 E. ?. |( f K) \" kcp rtlbtmp /vendor/bin/
7 G$ f: I# y# e+ N8 pchmod 777 /vendor/bin/rtlbtmp
% ?8 i- U' \$ B' _) J* D9 f7 K: n将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644; y% N% y9 e) H( K* A
cp btmp.default.so /vendor/lib/hw/
; }+ q/ K, f/ ~8 N1 O& V* P0 Mchmod 644 /vendor/lib/hw/btmp.default.so
7 ~# Q+ J+ ^: S3 `$ o& ]8 m1 v将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;0 o1 N+ D8 h/ H. [) d
cp mp_rtlxxxx_config /vendor/firmware/' ~ ^; }2 E. r j
chmod 644 /system/vendor/firmware/mp_rtlxxxx_config8 e# A, w5 }2 U. y1 m# c
将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;) ]% K+ X2 L B7 d4 S' }/ ]- p
cp mp_rtlxxxx_fw /vendor/firmware/) @+ {& n1 b5 f' w! G- j5 V! ]
chmod 644 /vendor/firmware/mp_rtlxxxx_fw
6 d" r8 r9 i$ ^" H% c& S2 z以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;3 ~" u, e: r4 l; u
关闭 normal BT
8 W6 Q2 w5 V( Brtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:) \* g# W1 A, m9 q' T' p& g& ]
service call bluetooth_manager 8(关) /6(开)
. I0 Z" e b1 h" \$ w5 j' K或者4 ?- @5 H& i& F3 w
cd /system/lib/hw
" x$ B0 p' @) ^4 `, umv bluetooth.default.so bluetooth.default.so_ORG( [0 A' a/ v" o. b1 }$ \- m
(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)& D) S1 N, f5 _5 g, D
reboot
! V& e- R9 E# f( R8 b6 u ] x+ y4 J* u9 d% s! z& q; V
Linux OS 环境
( c: o& f% C4 z" r1 y 将 tool 所需文件放到系统里
. M; d& j5 k3 x) L4 ^cp rtlbtmp /usr/sbin/! e! v! p+ F5 K
chmod 777 /usr/sbin/rtlbtmp- l X" l" Q: m3 i
cp mp_rtlxxxx_config /lib/firmware/
% f" c4 u. e$ c3 }9 z. h6 \! ]chmod 644 /lib/firmware/mp_rtlxxxx_config# o% v& A% @% _7 R' `, N d+ F
cp mp_rtlxxxx_fw /lib/firmware/
5 x) x1 X$ z. M5 echmod 644 /lib/firmware/mp_rtlxxxx_fw, T6 _ e! R, _8 F* t
UART 接口芯片准备- d3 k- T3 L E( R. D$ f
请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;9 D; k) v# O2 w! I. G; g9 s- b- @
USB 接口芯片准备8 ^8 w/ r5 ]2 E/ E ~1 D4 p
先打开 normal 蓝牙,再 hciconfig hci0 up- F! j" D5 v; G' M( m' M
. s" |0 [3 V5 A3 K
3 A8 {; g" R( o9 Q, M3.BT RF Performance Test & TX Power Calibration+ d; o: y: h! q$ m/ H* w( i) G
参考User Guide3 y; U/ V N) j2 Z& ^1 V! g
#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide
1 U7 {# h Y& r5 R. t( w( v' B$ M1 S [, j4 i* E
7 G- V" X/ ~0 D) u) a9 D
一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!
1 X, I2 S' P' |& A* _7 e5 J0 n D3 P& L+ {2 F2 G- E
9 w2 w$ U+ T; F/ ^# j# L# g
|
|