|
|
1.文件说明
, \2 J0 p: ^% D/ @9 k7 OAndroid OS系统7 B" F" _9 _( k
文件说明:2 F- V4 U. T3 p2 z
Android_tool/rtlbtmp: 应用程序
# }, J9 x6 [' v# e6 S/ Y0 G- w Android_tool/btmp.default.so: 应用程序% Z* {$ S& F7 L b5 r0 S
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
! W4 b5 h B, O0 @/ W BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
9 r4 T' _; g+ m7 G. l( ^4 B Readme/Readmexxxx.txt: 本说明文档( X7 }% f/ a6 s A4 }$ [5 u/ {
User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集
. k0 b3 z8 d. }9 D5 M 7 s+ g) R3 z$ M9 @
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
1 Y9 Y# n$ U# c0 i5 v. E ---------------------------------------------------------------------------------
( \$ T* K5 e3 J* G2 j9 x4 u | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
% f5 J; a6 y) q) K7 m# V) |8 M+ x3 M% o' P |---------------------------------------------------------------------------------|, R0 C& Y7 D2 c
| RTL8703AS | rtl8703as_config | mp_rtl8703as_config |3 Y+ t& }( e3 y( @+ G7 t2 _
| RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |0 X9 O/ U4 P: `, h X. o+ Q7 s
| RTL8723AS | rtl8723as_config | mp_rtl8723as_config |6 N1 P1 _1 x$ _! O" {4 j& f$ ]
| RTL8723A | rtl8723a_config | mp_rtl8723a_config |! k' Z5 h* X2 h' A2 |4 |
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
1 ~8 y" }! e `! k+ Z- Q; [! k6 a, ?! w | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
4 p( ]+ ~$ O3 t) }# O9 r9 K7 t | RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |
R5 i% _2 V! V! ~7 R) D t& r! f: m | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |' w' w# M: y. f7 u2 E
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
/ X# d& ^: {3 m$ a | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
$ L& I7 P4 [: A! U | RTL8723CU | rtl8723c_config | mp_rtl8723c_config |
0 M: H' T+ T* r/ d K: b1 N | RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |
b, j& d# o3 S* {1 g* f1 ?, Z | RTL8723DE | rtl8723d_config | mp_rtl8723d_config |/ i$ {% E6 G0 M; X3 b, X7 V
| RTL8723DU | rtl8723d_config | mp_rtl8723d_config |
( C# W6 e. [5 p8 _3 Y | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
: G! p6 V i* K0 _# K | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
+ k2 m* S, B' u- j | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |; F4 V/ m* ?! `# }9 V
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |6 e$ u* G- C6 [$ e. I! `2 Z
| RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |
8 D: i- G( ]/ z Q0 b6 x8 M% p | RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |* }; E0 G. T/ S
| RTL8821AS | rtl8821as_config | mp_rtl8821as_config |7 i$ D& G# k) [/ I Y
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
; x0 @& y# f& c( F' H& N | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |; I4 Y! U' {3 ], D* x+ z
| RTL8821CE | rtl8821c_config | mp_rtl8821c_config |2 G5 I6 p; T' E* l
| RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |* c5 O. ~! w9 Z, G
| RTL8821CU | rtl8821c_config | mp_rtl8821c_config |5 G' v+ Y# x8 Q- b% K2 z
| RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |7 O' Y8 O7 \' V: C0 t* Y. |9 X
| RTL8822BE | rtl8822b_config | mp_rtl8822b_config |# d! @$ i# [+ s7 C$ H
| RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |9 C; N9 n1 |! L% v% i% e
| RTL8822BU | rtl8822b_config | mp_rtl8822b_config |; B: k% |3 Z2 i a
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |
* ?, U) j. e& X: v7 g) n: ~ | RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
5 O1 @) K' h' S$ z2 t) L( ` i# m* g | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |1 L1 G5 F: B9 }" _
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |5 H6 Y9 V1 t$ i0 A) i' p. h; m: \
---------------------------------------------------------------------------------5 o6 x& b. f4 t6 q7 r: q
Linux OS 系统
% R3 ~# q2 H/ s6 k 文件说明:
" M: y! ?, a" Q Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成
4 \+ y4 q0 h" Y BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
$ {4 B" s/ i( J: H+ p- } BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config ! K; g3 M' _- ~- P( I0 k* D l) X
Readme/Readmexxxx.txt: 本说明文档- B! @ c' |% ?# m% _
User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集# C' ~ U( i& p/ L4 o4 d% G0 I
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:" `- W( P. ~1 |3 z
-----------------------------------------------------------------------------------
+ ? m0 ^" P+ r3 B3 U | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |5 W0 l0 T( v' [- @8 |5 S$ h
|----------------------------------------------------------------------------------|
2 p7 r$ F3 k5 P9 J: b: m | RTL8703AS | rtl8703a_config | mp_rtl8703as_config |
$ @; @ z, Z9 [* ? | RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |
) Z5 o9 A9 S- Y" N3 H0 P% W. B j | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |1 e; ^6 q' X. B4 c1 A
| RTL8723AS | rtl8723a_config | mp_rtl8723as_config |- T! d; C1 p* ?+ J% i. C) \3 I# p
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
, {( y; s) i8 f- Q6 s& ` | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |7 A0 x9 T6 n6 T& u$ e: M
| RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |
$ {3 B1 g7 k) z! G! k | RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config | l0 a) P; \, `
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |& R5 Z" E+ h; A5 O! x* K
| RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |4 E O) ~! G: {: m6 K
| RTL8723DU | rtl8723du_config | mp_rtl8723d_config |9 [0 I& M: D9 }( D
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
, u! H' L/ a3 _ | RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |) D' t7 {% ^" Y0 Q0 U$ E9 j
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
! P$ L) C7 |! ~ | RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |
# E' q& V4 S6 u' G | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config | B [0 q- `; m- C/ Y! e& |; r
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |7 Z [! L: V9 K! x$ W1 _
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
H) k$ A- S* V | RTL8821AS | rtl8821a_config | mp_rtl8821a_config |* { L$ V; }7 a9 _' \2 W
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |
1 L3 Z0 ?- N* E& G& p | RTL8821CS | rtl8821c_config | mp_rtl8821c_config |4 o4 \! }6 b5 S
| RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |+ S8 j# U9 q" H
| RTL8822BS | rtl8822b_config | mp_rtl8822b_config |
8 b# @4 f& P% l | RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |& T4 |8 P( O. f
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |& a5 ` g( ~! k) D
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
$ T# g. t- m" Q | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
2 F! P. K2 e5 N; L7 w | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |4 ^3 t( t, }1 J+ x
-----------------------------------------------------------------------------------4 z# k: @4 E% @: Y% { e3 Y
4 E& ~) |# k& D! Z& C( l( A1 N# E u
2.运行环境搭建
' i) W! X, m& M* T0 ^# S J+ |5 ]Android OS 环境" m9 ?( U4 V. {9 e6 A( u- F
将 tool 所需文件放到系统里' b7 Y6 r9 o3 _1 T( `6 j
将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;
6 ^$ L4 A$ M' b& B" D; Dadb push rtlbtmp /system/bin/+ b) u9 Q* ?' F& ]
adb chmod 777 /system/bin/rtlbtmp* C: g8 L! p: ?; N j9 T" }! k
将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;9 S# r5 I( ] n2 L6 s
adb push btmp.default.so /system/lib/hw/6 U4 L& @- J" K9 ?# I/ i
adb chmod 644 /system/lib/hw/btmp.default.so
2 S8 \ ~- P) C1 G. ~0 j将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;6 W9 z, V* T. J; _) [ x
adb push mp_rtlxxxx_config /system/etc/firmware/
$ E- J0 G b" G" ~: u3 gadb chmod 644 /system/etc/firmware/mp_rtlxxxx_config( M3 P" n& ^/ T% b
将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;& A3 z1 M7 O4 g" N3 R( h
adb push mp_rtlxxxx_fw /system/etc/firmware/
& x* _, G$ s+ n+ s% m& @- E1 X' Uadb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw) J; [: e B/ b2 x
% N4 p9 n1 x1 j Z/ p; K" S" ~! Y3 d; h
#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面5 K+ F1 o q( |8 r P
将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;
% n0 \6 f0 s" Lcp rtlbtmp /vendor/bin/
7 d4 v7 \( S D1 c! x4 cchmod 777 /vendor/bin/rtlbtmp
8 H6 S# v; k& A* T6 k; \将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;6 ?5 O- {8 ]5 {, Z) k5 p8 n" N! Q
cp btmp.default.so /vendor/lib/hw/' `5 x0 \" W4 C. s( m$ p ~
chmod 644 /vendor/lib/hw/btmp.default.so
+ h" h; k& d% t2 H6 Q$ X3 r3 A; z将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;9 k C; q- B! `! f
cp mp_rtlxxxx_config /vendor/firmware/
7 L/ G6 \. @" G! v& Ochmod 644 /system/vendor/firmware/mp_rtlxxxx_config5 j* W6 g9 ~ k- c6 v
将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;- V( h$ G9 k3 ?
cp mp_rtlxxxx_fw /vendor/firmware/
" t) j" E6 ^0 l. \ ochmod 644 /vendor/firmware/mp_rtlxxxx_fw- |0 u" F$ V5 ]
以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;
) O2 E6 c8 I1 G. S/ ? 关闭 normal BT, y! k. v; s* h3 `
rtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:
7 }2 k6 W. q w. C3 ^% v& G& Dservice call bluetooth_manager 8(关) /6(开)
h0 U: L$ ]4 {8 K或者
3 L* @& ]) J: H+ Y Xcd /system/lib/hw, D1 q7 d6 F. ~. ]* U; x
mv bluetooth.default.so bluetooth.default.so_ORG/ U, ]. N9 s. G
(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)
) p6 O6 c$ l" K L. x3 Ereboot% a4 d9 [$ R5 v
1 L) D+ [1 T7 o$ u
Linux OS 环境
1 t. X/ M* o* Y( _1 N9 x4 n- a 将 tool 所需文件放到系统里2 Y- g7 p0 O2 O9 Y% T0 e/ R
cp rtlbtmp /usr/sbin/+ l3 ]: {- \1 l
chmod 777 /usr/sbin/rtlbtmp
" C+ W' D8 W; kcp mp_rtlxxxx_config /lib/firmware/
, n- G# R0 S& S+ Y0 pchmod 644 /lib/firmware/mp_rtlxxxx_config6 z( M4 Q' s- Y# a- w
cp mp_rtlxxxx_fw /lib/firmware/
+ ]0 ^* C7 J2 Mchmod 644 /lib/firmware/mp_rtlxxxx_fw1 s/ m9 c) o5 @8 @! K
UART 接口芯片准备! Y. r% \" ~% W# `6 ^0 n# S* d
请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;
|, w" V1 h9 H K USB 接口芯片准备, x$ ^5 p) z4 R) G+ i* S6 j/ K
先打开 normal 蓝牙,再 hciconfig hci0 up9 i1 V, y9 e7 C) }& V/ ]; E) o' }; g, \( o
9 J5 e* u6 ^" q" {' N/ B5 b" W" P5 n3 ?8 V9 h5 k, C- y# I$ k
3.BT RF Performance Test & TX Power Calibration
: |6 k6 z4 S0 d. {参考User Guide. d) o3 H2 @1 ^( y; O. `; i' G
#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide
+ t5 G- L# A- i! u$ U
' X! L1 |" ]" a; F' `
# P8 ^, `$ s" O% I一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!( q0 d* v% ?$ I- q; P# f
' _5 J( Y+ h. e5 R: ^1 I* }
4 h. p1 ]! i5 v& U; H* |7 J3 J |
|