|
|
1.文件说明
) F3 h* ~8 H- D& N9 @Android OS系统
3 m( t5 Z) i2 |7 J4 ~ 文件说明: h/ x( s* f3 o5 I
Android_tool/rtlbtmp: 应用程序3 s# H8 M+ B- ]
Android_tool/btmp.default.so: 应用程序- K1 q0 E* E" O3 Z5 f
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware3 N; n3 K' I% a( m6 ] N! J
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
. X! O+ A6 j3 S4 K/ P4 B/ c Readme/Readmexxxx.txt: 本说明文档
6 { P* o# e: ?6 K5 P$ l User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集
, e' h$ j# K, t& X! R
: t3 l2 H- _! |9 R2 g 下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
- E" ^" O9 N) f& W+ e! X' T3 E8 I ---------------------------------------------------------------------------------
* c1 G* {; a% u% a; n | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |7 z( _2 \0 S( C* {
|---------------------------------------------------------------------------------|
# L. I$ V. r# w! O( v, X | RTL8703AS | rtl8703as_config | mp_rtl8703as_config |) e8 T9 A: b( s3 X5 H1 [4 t
| RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |8 B- `2 X7 @ O; c. W/ U7 [
| RTL8723AS | rtl8723as_config | mp_rtl8723as_config |
3 s* v6 [- M* I5 E7 U. w ]& U5 g | RTL8723A | rtl8723a_config | mp_rtl8723a_config |
, _% C( z! H* T8 Q1 @ | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
% h8 x$ f7 K# |$ s& N: `0 F | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
! c0 Z W6 _6 T& x! L' c+ ]5 O W/ @ | RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |
+ N2 V1 K5 F/ j) v& o% s | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
" G# b( b; B# c$ `3 c2 e | RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |% E- R1 k( g2 r3 x
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
! I& J" }9 I& v1 r | RTL8723CU | rtl8723c_config | mp_rtl8723c_config |1 G! R; K1 c2 P' X6 l
| RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |+ [- l9 p8 w. M2 U/ B
| RTL8723DE | rtl8723d_config | mp_rtl8723d_config |
; [6 M) J7 O% F C5 ]8 O8 D& j3 } | RTL8723DU | rtl8723d_config | mp_rtl8723d_config |0 d) D r3 Y- y5 [5 N
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |. [" F( N+ A$ i; e
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |, P& s1 S( V1 T! y o( p
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
" \; l- f) N5 ^& u* y | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |
; ~7 J$ ~ N8 a/ R0 F | RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |& F i* T1 O& E& F8 J& U) ~' G3 ?
| RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |
# {0 t& l4 F$ y6 x' q' s | RTL8821AS | rtl8821as_config | mp_rtl8821as_config |
2 [+ D4 ^+ Y1 p' Q: Q | RTL8821AE | rtl8821a_config | mp_rtl8821a_config |5 P; R* F. }. b/ K2 p# ] \5 }
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |+ h5 W3 }# D) ^+ T2 \$ ]9 H/ {4 h
| RTL8821CE | rtl8821c_config | mp_rtl8821c_config |
. L; ` X1 t+ X" G1 [$ j | RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |
4 M- R" b- U% S | RTL8821CU | rtl8821c_config | mp_rtl8821c_config |
) i0 j! I8 M& l' ]# J; J3 _ | RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |
: D* ~8 Y# D9 o2 l4 ]+ h2 ? | RTL8822BE | rtl8822b_config | mp_rtl8822b_config |
R, V$ j- Q6 C" B9 k- J7 f+ X4 M | RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |& S- k% g' V+ ]- k: _! |+ l6 g$ P* Y( c, ]( a
| RTL8822BU | rtl8822b_config | mp_rtl8822b_config |
. Z( Z4 f2 M; Q6 F3 m | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |$ x- ]9 M. F% i" V# t0 y# x
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
& s. b* k5 S' C- u; R7 C/ K | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
7 g3 @9 Y6 F9 L8 [* a, o | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |; s7 Q+ {2 v: y( h* N* f
---------------------------------------------------------------------------------" {! L2 j* ], \7 K' ?
Linux OS 系统5 W: Q ^+ i9 Q* A4 p
文件说明:
0 B) [2 e1 u; [1 F( V. u Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成. C' @7 V' M) Z& A
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware$ f7 L& S" G* F; S" n. g
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config ) @, w6 ^. x" o2 f
Readme/Readmexxxx.txt: 本说明文档 f7 O5 F0 {( }8 }
User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集
4 ]' N9 a4 o! n! I 下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:1 @6 p4 Z! q' Y: K5 k6 M
-----------------------------------------------------------------------------------
8 c' T7 Q2 k0 i# N | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
( u6 u0 @ d: X. L5 K0 f( B |----------------------------------------------------------------------------------|
% Q! E$ D- j( F | RTL8703AS | rtl8703a_config | mp_rtl8703as_config |
$ ]: o, j' n c* ]- Q8 q | RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |
X) b+ l3 S1 B) n4 X% O; ~ | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
2 |" G$ y* c, r, T | RTL8723AS | rtl8723a_config | mp_rtl8723as_config |0 E. b$ b; q& m5 v
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |9 u$ ?, j2 [: } J7 v
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
: ?. n$ s! I6 W. M5 ` | RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |" a$ E2 U. A ^" ]4 Z% S- ~0 ?& }( T7 n
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
. s& G3 c& s5 v! }8 Z | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |2 ^: z$ P0 q2 n4 i Y& B
| RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |
X$ I1 o5 G' Q6 a0 P, C | RTL8723DU | rtl8723du_config | mp_rtl8723d_config |
( j- O8 G; P1 v | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |/ {; f' G+ h( E- v+ M t( E
| RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |
+ @) i! s1 n. O( n/ P0 @' N/ k | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
4 v, A7 ]! F8 t, ~ | RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |
; x/ o" |8 t/ m- Q% t* f | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
: P* r9 l) a" A9 C* C | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |. d& j4 x& O3 a7 ?% J' z/ D
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
& h* g* }- d, o( h | RTL8821AS | rtl8821a_config | mp_rtl8821a_config |# L8 _$ y7 ]; N H2 F: N# X2 M# `
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |+ t& H! x+ c( C, x7 R
| RTL8821CS | rtl8821c_config | mp_rtl8821c_config |
6 M% H8 R* x- x8 u | RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |6 F+ s. v, Y( B. s1 H
| RTL8822BS | rtl8822b_config | mp_rtl8822b_config |% |/ W `/ }, |) J0 V. R
| RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |
+ E( N! O, |5 r9 n5 Z% q | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |
: h* V$ _8 {+ _* I | RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |4 A8 v% r; p' ?, z9 C) L
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
3 u; r2 A( s1 W3 ] | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |
, ]& W. D1 _& F1 L+ t -----------------------------------------------------------------------------------
3 C, v: p3 Z, R1 x0 V7 P7 |$ O5 n$ x% i, S# a. R
2.运行环境搭建6 y' A9 n7 l2 a$ Q
Android OS 环境4 \5 h; S; i. U3 J
将 tool 所需文件放到系统里
5 J) ^2 r0 d. }将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;6 }% f' l8 y1 N+ ` O. U; D- V0 A
adb push rtlbtmp /system/bin/
- M5 K- H* O0 {adb chmod 777 /system/bin/rtlbtmp
) h( O" [0 c. O% \& B1 |将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;+ r$ g6 c7 N' ^$ j) C0 y5 R8 m
adb push btmp.default.so /system/lib/hw/
2 F! |" z' s, e1 zadb chmod 644 /system/lib/hw/btmp.default.so
! S5 ?3 X: L: P0 `将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;
# Z [1 @. q# \adb push mp_rtlxxxx_config /system/etc/firmware/( V6 v+ K, b" K) j- f
adb chmod 644 /system/etc/firmware/mp_rtlxxxx_config
/ Y5 r$ N3 W* k) q5 _将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;/ }; F$ M4 y+ H/ c( `
adb push mp_rtlxxxx_fw /system/etc/firmware/
, E# n, R7 O' h" J) q. D9 O9 T7 q9 _ xadb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw- t2 Y( u# Y' q
" Y1 D* y' f9 {0 G2 U
) |+ ?( u9 S7 C
#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面
e. x5 y- l8 P" A9 e! M8 k将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;
- S* J5 k. E6 E: Bcp rtlbtmp /vendor/bin/
/ c& {0 ^4 v+ J/ N8 Kchmod 777 /vendor/bin/rtlbtmp
; q( U6 {' Y" b5 X+ x" h将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;
/ @2 h# t% X6 v! C! y$ J- bcp btmp.default.so /vendor/lib/hw/
- ]* j M9 c. }, A4 Uchmod 644 /vendor/lib/hw/btmp.default.so
8 R! H$ H+ ?( l0 t' F1 R将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;* K! H' d% v# x
cp mp_rtlxxxx_config /vendor/firmware/& Z2 [2 C8 Z6 y! e' {! w
chmod 644 /system/vendor/firmware/mp_rtlxxxx_config
2 z; s$ U' F) i9 U; @$ w: ^将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;- t5 g& g+ L+ f3 m, T# f$ F. _
cp mp_rtlxxxx_fw /vendor/firmware/
: a) `+ l7 N5 Z$ c" mchmod 644 /vendor/firmware/mp_rtlxxxx_fw6 O! L3 @5 v* Z& {5 G. J- K
以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;
0 ]0 l, X7 H, x. u! [( Y 关闭 normal BT& L7 n* B: d7 f5 u$ Y' h( y! z
rtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:
. _4 U6 L& }+ l; e0 eservice call bluetooth_manager 8(关) /6(开)- a; n. W3 w- R q8 `3 x# v
或者0 H6 Q7 B" G+ C
cd /system/lib/hw
1 F% e7 n0 Z5 } k% p) |" emv bluetooth.default.so bluetooth.default.so_ORG
9 T% q2 q# G5 j; b) t2 S/ S(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)
& Z% \ q+ i4 w% o8 X% j% Zreboot' B t. ] l0 \/ t7 ]8 e) ]
) G& i8 z7 v" \" NLinux OS 环境 Z5 v. G; f; G( C9 t2 v
将 tool 所需文件放到系统里; g- A( \) f. r% Z- |
cp rtlbtmp /usr/sbin/
( O+ C& V% D1 bchmod 777 /usr/sbin/rtlbtmp
1 n" [; z: E" x0 fcp mp_rtlxxxx_config /lib/firmware// J3 O& u. o" _4 s. J
chmod 644 /lib/firmware/mp_rtlxxxx_config
1 @" x# n- o3 v2 l- d% Lcp mp_rtlxxxx_fw /lib/firmware/ f$ ^, |4 F3 |3 Z3 l
chmod 644 /lib/firmware/mp_rtlxxxx_fw+ P+ E5 \" q' b) H
UART 接口芯片准备
) O; {: V) a& d" w% r5 t/ o请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;, K2 M" P& G$ N) b/ A" l) Z
USB 接口芯片准备9 j- {4 f# d- N G$ [! j8 v7 X/ u
先打开 normal 蓝牙,再 hciconfig hci0 up2 b2 _! U9 g# U) b2 c
4 J0 o q6 z" G6 y! d' k
, @6 |& p: y# i+ K4 t3.BT RF Performance Test & TX Power Calibration' W; v% g1 I5 [+ ]+ l
参考User Guide# p" y. _- V; x3 Y0 S
#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide! D0 p0 v& T+ D4 j. V
# Q2 I/ S" z* a2 Q' _" Q- `; {
9 t6 }) |. i1 e6 \* i一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!2 m, \9 @7 Z* h* D w/ k4 D
* }. F5 V1 g1 S/ P$ X: I; T
9 u; ~9 J. y# a" C! @0 A |
|