|
|
1.文件说明; O2 R0 h" Z' }# H5 x' c
Android OS系统
# q) G4 f# F" x2 Z# H% ~ 文件说明:
7 r3 X- R: t. u$ F9 | Android_tool/rtlbtmp: 应用程序# P! B5 R. ]; Q
Android_tool/btmp.default.so: 应用程序6 P" z% u& T; v. @+ y
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware f: m& O' k# l# L: l- q7 L O
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config " f5 P3 D% \6 O8 _( x$ @
Readme/Readmexxxx.txt: 本说明文档
& ?3 [8 ]3 j$ W/ _$ B* G& l z User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集# H2 I$ j, j# {
! j) t8 P, [! f5 C) j
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
: d5 C \. _4 y0 y6 ^) Z ---------------------------------------------------------------------------------
. t2 j4 C* y" |9 O; i* t | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
8 }( E2 Y/ } p2 i |---------------------------------------------------------------------------------|7 I+ Y) v0 K8 `. T
| RTL8703AS | rtl8703as_config | mp_rtl8703as_config |3 X, }1 ^. E3 p
| RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |
6 |( }( o6 k, X | RTL8723AS | rtl8723as_config | mp_rtl8723as_config |
5 X# X4 C; P, p/ Z8 h+ A2 a U | RTL8723A | rtl8723a_config | mp_rtl8723a_config |+ Q7 Y4 s% `/ u: V% m. ?6 Q0 ?
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
( i+ Q# K- m) Q* c9 J. \ | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
& }/ \. C% u6 z( x3 }: H8 C& W | RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |
6 J3 w- i7 m8 |5 y | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
' J7 I$ Y# C, J& E/ s2 n: n | RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
7 }, \: \; R% Y$ p0 ? | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |, x6 I# h/ z5 A4 ^# ]! O" r
| RTL8723CU | rtl8723c_config | mp_rtl8723c_config | ] l3 E, X( w# z
| RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |. A7 k+ j2 R/ C, p9 P3 }; f
| RTL8723DE | rtl8723d_config | mp_rtl8723d_config |: _7 u7 b- [: v5 o5 e7 ^- `$ j) e3 W
| RTL8723DU | rtl8723d_config | mp_rtl8723d_config |
7 ?& E U- V; Q- j | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
- ?( s6 `! }% f H* A5 W2 N | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
/ ~" O7 |* }5 ~, K! @* } | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
1 C' v: u+ C1 ]* H' B! T | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |' |% I1 d0 U3 e" y# o5 W5 N
| RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |7 e6 I& K+ M; m0 t+ H4 D
| RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |' Y D9 \, S) ?% [) Y9 q
| RTL8821AS | rtl8821as_config | mp_rtl8821as_config |7 X& i1 w- N, s+ j# y2 m
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |0 k. n0 w; s3 p% `" Y! j
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |0 A; l+ X/ q, ~6 u' g
| RTL8821CE | rtl8821c_config | mp_rtl8821c_config |
2 i2 ~+ t" T! I4 B* h3 m, O | RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |
B/ H9 ~0 q8 j! I | RTL8821CU | rtl8821c_config | mp_rtl8821c_config |7 r; y( O; h( I
| RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |" n3 U: Y, a4 |+ ?" N& l
| RTL8822BE | rtl8822b_config | mp_rtl8822b_config |8 H9 y7 i4 Q3 O0 ~( Q% g
| RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |
: w% _& Z2 a) H$ U! T, ?7 ]3 O/ ?' d | RTL8822BU | rtl8822b_config | mp_rtl8822b_config |
8 B5 T& W9 z! F5 n% t% k) _ | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |7 b& f/ d# |% Q: t
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |3 L- T; F& O3 m3 ]% o; P
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
) v z: s( z# H | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |, Q8 Q, R% u+ Q- j
---------------------------------------------------------------------------------) V) j5 E: ?/ h
Linux OS 系统; e. y, A2 m+ y+ M) l& k9 q5 U$ t0 V8 }
文件说明:* T0 ^: {8 p* C
Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成5 t- l% _# c8 ^3 `9 \% A
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware( q/ _/ O$ k3 p6 b! ?
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
" m9 v0 Z' y, I& Y' {2 e" z/ _ Readme/Readmexxxx.txt: 本说明文档$ T+ S+ w' J, M
User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集1 x' n0 f4 j: n j1 |3 @9 c8 I
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
1 c, `# p" H: w7 i# A# t -----------------------------------------------------------------------------------
. ^5 D8 @. v1 D- ?' a X6 Y3 h | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |' G, K7 x7 I0 S4 D& v8 l7 e
|----------------------------------------------------------------------------------|
% K& Z- M% G- D# R | RTL8703AS | rtl8703a_config | mp_rtl8703as_config |
7 Z: P3 \, T: k: Q; o% x. v9 P4 z' a | RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |" o/ Q' o, r! a9 ]8 U* y
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |% r7 w, W1 E h( _2 n* r" D
| RTL8723AS | rtl8723a_config | mp_rtl8723as_config | \0 o, a* T, q+ f7 j
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
) Y$ l5 s* V! A7 k0 Q% a1 R | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
3 J s$ n" m/ B. j8 u) S | RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |/ z1 N: k: L# D% Q& g7 M% B
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
: G& i8 _3 A9 [( t | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |; }9 I/ m: ~0 V D- n
| RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |4 E; U1 r h! j( W0 k+ |
| RTL8723DU | rtl8723du_config | mp_rtl8723d_config |4 P3 i) l' h# m( I, Y1 _
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
# x+ T0 f( o9 i6 M8 y | RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |* l" d. ?5 B1 I. t
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |. ?4 M& _/ q+ A
| RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config | d1 n) G8 A; w7 e" t2 U: c- i
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
* y! z/ _4 [& l: s5 ~. ^8 R | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |
6 e9 k L5 Z) j- `; u( ?+ S/ d | RTL8821AE | rtl8821a_config | mp_rtl8821a_config |% E) a8 j' \3 x U3 `% b
| RTL8821AS | rtl8821a_config | mp_rtl8821a_config |
" J& g! ^- L8 u* K& B | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |5 X, H: n# d3 t: Y2 |! @
| RTL8821CS | rtl8821c_config | mp_rtl8821c_config |* k* `, [" m4 }- i0 b1 k4 I$ Q
| RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |# L- X$ W# ?+ |7 e' c. @+ p7 m! Z
| RTL8822BS | rtl8822b_config | mp_rtl8822b_config |) R) r% m2 r# c5 I. [$ m+ p- M
| RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |
1 T" \- `5 U5 e | RTL8761BU | rtl8761b_config | mp_rtl8761b_config | v4 j) _2 _1 `4 Z$ b
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |# {4 o6 d, Y! J, D( \5 N" h
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |! F' w' I2 r3 |% l; H2 ~8 K& ]
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |
& q3 s" B4 ~4 m$ d3 B0 V -----------------------------------------------------------------------------------
3 s( A% F8 v' x Y
8 x v& e: j: a0 }* b2.运行环境搭建0 E U/ L9 }# e5 [: Z9 P+ E! Z' E
Android OS 环境
0 E9 O% c, B4 l1 V! b将 tool 所需文件放到系统里
3 p ] R( x) _% ?0 F1 Q将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;0 c% ~3 z |9 R+ n" e# {1 N" \7 `
adb push rtlbtmp /system/bin/
1 l. ^# ~4 N. t' a0 l# W( c8 aadb chmod 777 /system/bin/rtlbtmp {* Y. c7 a' b
将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;
0 a& t6 G9 U% u; m3 hadb push btmp.default.so /system/lib/hw/
( g* l% u# g) r2 v' Sadb chmod 644 /system/lib/hw/btmp.default.so9 M( o+ \% s/ D$ R. h
将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;
* R, K: M6 P% J* d/ e3 @6 N) qadb push mp_rtlxxxx_config /system/etc/firmware/
6 z8 C4 `* v8 X+ tadb chmod 644 /system/etc/firmware/mp_rtlxxxx_config
, G% B8 t; G5 G将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;
# C% r2 ~& q$ j: |; |& eadb push mp_rtlxxxx_fw /system/etc/firmware/
5 M) ~/ S" C, t5 ]- k6 hadb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw$ @2 @) g5 Z0 I
. G4 z$ G0 O# \& c. N
* ~( Q6 d1 Q- R#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面7 X1 v/ s$ i# O% K- f
将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;
, X/ Z( S" Q- u! z) H( g, }cp rtlbtmp /vendor/bin/. W; u; e! f/ s @
chmod 777 /vendor/bin/rtlbtmp
; F+ r, K, n, u$ r- ?/ R将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;
$ w( k, L) B8 M8 f6 A' W" Pcp btmp.default.so /vendor/lib/hw/
3 X& E: l! `% f5 T) O$ {chmod 644 /vendor/lib/hw/btmp.default.so
0 t1 b6 d# O9 h* x0 A+ {6 s将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;, F2 V+ N) g( n t/ d
cp mp_rtlxxxx_config /vendor/firmware/
$ A7 d! P& t# S8 N" K6 xchmod 644 /system/vendor/firmware/mp_rtlxxxx_config! I! I1 m: M% {" F2 V
将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;3 g& C1 K( I' ?0 D4 f& U' T
cp mp_rtlxxxx_fw /vendor/firmware/ p; [# T" e' \4 c- j$ @1 c
chmod 644 /vendor/firmware/mp_rtlxxxx_fw- V3 |+ T" `* }& {1 ^4 s/ {
以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;5 I: e. ~# _5 {( ~4 A& Q
关闭 normal BT1 K5 C: G6 m0 \ v- C
rtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:$ {+ S& l& m5 i I5 D
service call bluetooth_manager 8(关) /6(开)
6 B. {3 t+ n5 A2 y( L8 y: G或者& [+ D3 r7 W( [9 ^1 w) o T9 W
cd /system/lib/hw
. d+ [: r' l3 G i" z# _! L. kmv bluetooth.default.so bluetooth.default.so_ORG) M/ z1 @' C9 T; G: M/ {
(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)" w% Z/ g7 L9 @7 Z% V) k
reboot @ E' T! v( n1 m# G c; I
1 n; o3 h+ {' e3 a% R! ~" n
Linux OS 环境
: y p4 a8 p& G' K 将 tool 所需文件放到系统里
$ U) u1 O, I8 `+ `& m5 \1 U t/ Zcp rtlbtmp /usr/sbin/
% { H9 \8 q" J8 T3 Z6 ^0 ?chmod 777 /usr/sbin/rtlbtmp$ A/ H8 w/ Q6 ]6 L4 g+ A
cp mp_rtlxxxx_config /lib/firmware// U- f9 z/ ?5 G. [4 P7 m. {
chmod 644 /lib/firmware/mp_rtlxxxx_config) Q' {$ L A$ e& T' o( t0 Z. w
cp mp_rtlxxxx_fw /lib/firmware// c! \" B' @) v/ g2 X- J5 \
chmod 644 /lib/firmware/mp_rtlxxxx_fw& c# n7 j0 T, p: y9 o/ [
UART 接口芯片准备
$ X9 k1 w) w7 x! N0 {请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;2 W1 A+ L/ s+ w9 Z
USB 接口芯片准备7 B# Z; [/ D( z' L% @! k
先打开 normal 蓝牙,再 hciconfig hci0 up: @- R& Q; k7 u0 }7 b0 z1 w8 \- T
. ?' O0 i" C, |
7 k @4 X( t* z, q1 k% ]" ?4 i! l3.BT RF Performance Test & TX Power Calibration1 g2 C# j4 S/ j) t4 g5 H; m
参考User Guide/ y& L* C. n/ ^- u
#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide& R* k1 T' p5 ]- c
+ t5 p( P0 S: J7 c' K/ j/ X; ]% y! p) d8 t# N" \+ w2 I
一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!
, T% o& w) M; p- M
9 X: }" T1 B/ j5 ^1 _
- e# |* c. Z8 S h( R |
|