|
|
1.文件说明- h7 [! p5 ]0 N+ l5 m6 ?
Android OS系统2 c- t' o4 F, {" z6 k: e j3 Y; u" B! b8 W
文件说明:( D0 B# s: B0 O- U, Q! V4 J3 {
Android_tool/rtlbtmp: 应用程序
* K+ R% ]: {4 ^8 t Android_tool/btmp.default.so: 应用程序
, a, K7 d3 q- i/ s# q$ c A BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
1 Z) h$ |/ Z0 |, j BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config 1 p" D6 w" Q$ X6 o4 f
Readme/Readmexxxx.txt: 本说明文档) ^5 H0 Q6 ]2 n/ R. t8 a9 D
User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集5 Q5 F( m/ F5 v/ k. G$ ?
$ M% t" Z/ }0 m1 f2 T: n
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:9 M% j. i. t5 V. a1 h8 S5 ^
---------------------------------------------------------------------------------
' v& |5 C& p# d9 [6 ~7 d | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
/ \/ w5 c/ r* T5 ~5 p$ }: n8 U6 @. ] |---------------------------------------------------------------------------------|
! z: j6 D$ N }" U- _5 P5 W8 {/ K | RTL8703AS | rtl8703as_config | mp_rtl8703as_config |$ _# y, \# O4 P
| RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |% f3 Y2 A( _+ X4 c' E R
| RTL8723AS | rtl8723as_config | mp_rtl8723as_config |4 m2 M/ J5 t# V, S- k8 @
| RTL8723A | rtl8723a_config | mp_rtl8723a_config |
! ?: C4 C x" ~( S$ J | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |7 {# \9 V* j- e, K3 C8 ~) o$ F
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |' g0 i, [! g% @
| RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |
3 @" M$ Q$ Y+ p4 x | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
6 d' i$ d: {8 ~! O2 ~+ R) d, \3 p& L | RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
1 W; {6 A- O ^. _3 M9 ? | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |! v" K# L) r& f9 m, r8 u) R
| RTL8723CU | rtl8723c_config | mp_rtl8723c_config |
( z' I8 j/ ^8 F, J | RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |
, h6 y, _, [0 ~6 I3 e; G- ]. V2 i | RTL8723DE | rtl8723d_config | mp_rtl8723d_config |, q% ~9 j) n! c1 B% d$ ~
| RTL8723DU | rtl8723d_config | mp_rtl8723d_config |
/ G5 x. B' O9 q/ C3 t# H1 f | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
! g( {$ H# _' q/ O | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |8 s2 J! L4 E, f# ~
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |# _7 {* T' W2 N, L: r
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |* d$ ~+ Y# q' X( N
| RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |
8 }2 [- N" q& }/ D% Q; q7 ]7 u) @ | RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |
( h1 i5 M5 w6 x5 J | RTL8821AS | rtl8821as_config | mp_rtl8821as_config |% `$ k( w" Z# H- M- z O' ]
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
5 Z: W0 T+ ]2 @4 b- U% u( C | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |
* W8 q8 B: c/ h" r. W | RTL8821CE | rtl8821c_config | mp_rtl8821c_config |
5 W% U: Z1 A+ x3 g) Q) E( U5 j | RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |
! I7 h7 A, R: P- i | RTL8821CU | rtl8821c_config | mp_rtl8821c_config |1 P: i ?! d( M
| RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |1 P/ J. |8 W' ]$ N" L& T
| RTL8822BE | rtl8822b_config | mp_rtl8822b_config |
) {' h/ m3 \" Y% C | RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |) r/ q! g! K/ p* f8 R
| RTL8822BU | rtl8822b_config | mp_rtl8822b_config |$ _0 f; L {3 U. b! D
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |" {4 C8 A5 s9 q9 N
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
3 r" U8 S `4 Q | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |+ n% a3 `7 K* D/ A) h+ u2 x5 Q
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |6 Y9 p! S! X# F3 Y1 z" O
---------------------------------------------------------------------------------
6 e: {* @- M- X; ]# VLinux OS 系统3 _, `" [) x+ a: _5 o, }( Z6 Q
文件说明:8 i' J$ d' | K6 V3 U6 N
Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成) ?4 f/ ]2 O1 t( u$ H; A
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware( E6 @" I1 G; u! G2 V
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
* L1 d( I$ a' N# d Readme/Readmexxxx.txt: 本说明文档
1 g% h1 q: g" @6 G* i8 c2 } User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集
# N# u6 U- v* k6 R* W$ T# Z2 r 下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
. ^/ e% v9 R9 e -----------------------------------------------------------------------------------
6 }2 G1 E3 t- H' ^0 _# E) n% [. ^ | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
4 F w3 P3 M7 E6 L$ _- L$ h |----------------------------------------------------------------------------------|3 E" K% _: j$ Q; [9 G7 v
| RTL8703AS | rtl8703a_config | mp_rtl8703as_config |$ _( @1 F% I2 h, v: b
| RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |
4 b" M* u$ D* @+ _+ U | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
5 A5 ^# O) ]$ U. m6 T% n | RTL8723AS | rtl8723a_config | mp_rtl8723as_config |/ x7 i0 E% i8 X6 o8 e& n! h
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |9 h" {" z9 U. }# H
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |" j/ ]& ]6 l3 r3 [
| RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |
% w( y1 C. c& G5 f5 ~5 A( o | RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
6 I p+ Q& }# v6 o | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |& n* A0 I5 k9 S
| RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |
; w" B% ~5 y5 F/ Y6 q# J | RTL8723DU | rtl8723du_config | mp_rtl8723d_config |
* G r# r4 Y3 G- T | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |$ {! [* h0 |8 d$ N- o' t) M
| RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |
4 Q2 y! S1 U3 E$ ? | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |" D8 S& E7 J. q1 f
| RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |
6 ^ X3 t9 T0 [ | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |; b7 L7 j: k# f1 D( T
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |
$ P0 a8 O9 H1 N$ U& ?' y* t3 { | RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
+ d: V/ ` x3 x. i8 J3 V8 x6 M+ ` | RTL8821AS | rtl8821a_config | mp_rtl8821a_config |
! g4 X1 R4 c. o' V | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |
9 f- U0 d& f' }5 d | RTL8821CS | rtl8821c_config | mp_rtl8821c_config |" x6 c# |8 N; O7 j a% K6 w
| RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |
, w+ _& ?* r. \2 \4 G: K) ? | RTL8822BS | rtl8822b_config | mp_rtl8822b_config |
2 p ~; F* T: R) {9 v | RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |
- f2 c3 g$ A6 E' G. l | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |
- q$ b- ^& f+ D" H) r | RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
/ ~' K- E& ]% R+ _ | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |' x, E' h5 F+ J9 I; A2 {
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |
7 b" e! d$ [0 h; F$ T9 s0 E -----------------------------------------------------------------------------------$ R+ j" {% A, J( F8 N
- T# U8 }# \" s# z$ F
2.运行环境搭建# z5 W) P/ t2 s+ F1 N" W2 ^) z
Android OS 环境
' f0 L9 j/ p4 Y, B将 tool 所需文件放到系统里" _+ h! n) r7 B. x5 m7 I9 g* h
将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;# q @$ J+ H7 \
adb push rtlbtmp /system/bin// a8 ?$ R+ e& R5 C4 c U, M
adb chmod 777 /system/bin/rtlbtmp5 W1 q6 I( C+ v! u* _
将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;
8 k0 ?6 N7 R9 O* H6 \0 j4 Z7 Eadb push btmp.default.so /system/lib/hw/4 f. B. ]3 }( @; [5 y- B
adb chmod 644 /system/lib/hw/btmp.default.so
% Q8 V: R; Y1 R* ~将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;
: P- X3 R ?, ?; g3 z- Y! X& [adb push mp_rtlxxxx_config /system/etc/firmware/
" d* D6 _6 j! B" Z; iadb chmod 644 /system/etc/firmware/mp_rtlxxxx_config
1 |9 B( u* F" N% t& E将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;
8 `( B0 I2 g# N! V, Q5 a) d; iadb push mp_rtlxxxx_fw /system/etc/firmware/, G% |0 A+ W% A- Z( q. h( I
adb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw
7 N% u. R1 {0 o6 s8 B- K3 H! f4 Y9 M" O. E" [
0 b8 T$ P' W4 S! p2 G#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面
# [! \ V; m+ F- z% h; s& ^3 W将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;0 \: h" u4 x7 x; p- R2 m7 A. k& U
cp rtlbtmp /vendor/bin/. E( f0 w8 y, e. ?: {! @9 |
chmod 777 /vendor/bin/rtlbtmp. K$ a/ E& L) f; R
将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;
* A/ J# G: _5 s( a% n' [* k1 |cp btmp.default.so /vendor/lib/hw/9 e! n! Z6 x g. M2 s+ u9 N
chmod 644 /vendor/lib/hw/btmp.default.so/ N. V9 }% I0 q$ [3 g$ {9 \8 L. P
将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;& T! @+ V) r5 f' D9 N" ^
cp mp_rtlxxxx_config /vendor/firmware/6 b& k: D7 k l- M% ^
chmod 644 /system/vendor/firmware/mp_rtlxxxx_config' ?- X, e+ o6 _0 R
将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;
1 U" i; {0 L: B4 ?7 Jcp mp_rtlxxxx_fw /vendor/firmware/& u! l+ X' C. Z1 h
chmod 644 /vendor/firmware/mp_rtlxxxx_fw' S v' }$ y3 I
以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;
+ B7 M) M3 C/ y# E 关闭 normal BT! {: W+ L* c, V/ }- E
rtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:
1 s3 m( d F7 W9 R6 cservice call bluetooth_manager 8(关) /6(开)
0 B" r, h# S) |或者2 Y7 |: v5 K6 X9 ~6 p% l; z; h
cd /system/lib/hw7 O% }7 j( V1 b( {5 ?- d; Y( Z9 |5 X
mv bluetooth.default.so bluetooth.default.so_ORG
) `. F3 ^1 e' e& ~& s(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)8 K6 t' V/ O' c" q5 A: z6 M' z
reboot
* u! O; L" k6 n5 N! f" M+ X$ K" {$ |8 s1 R' }
Linux OS 环境
! y& Z$ n0 e7 a1 t 将 tool 所需文件放到系统里# y+ g& K1 H2 I5 Z
cp rtlbtmp /usr/sbin/* `, C7 [( h1 X5 g
chmod 777 /usr/sbin/rtlbtmp7 x' @) B# [* O
cp mp_rtlxxxx_config /lib/firmware/
/ I7 e5 B2 x, _, h" ~- Kchmod 644 /lib/firmware/mp_rtlxxxx_config1 c" p% t$ u* {% v& u7 Q$ g
cp mp_rtlxxxx_fw /lib/firmware/: Y, Q* T) I) D9 V1 h, R
chmod 644 /lib/firmware/mp_rtlxxxx_fw
$ M, k; x/ o) }" V, o" I1 x UART 接口芯片准备
" ]0 w- I0 N- a2 K3 E2 J请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;
/ u9 }, A |) P) `1 n USB 接口芯片准备 V! L r6 Q+ [6 y: b8 q5 t
先打开 normal 蓝牙,再 hciconfig hci0 up
: J: F( E: m$ N* v9 p' d
; R: J* l7 |; u" Z9 f. T$ @- o4 h5 R. S4 U8 o) t
3.BT RF Performance Test & TX Power Calibration+ N5 L& D9 Q: l' M0 S9 n) @) L
参考User Guide9 a. p+ i/ K! F9 |8 l4 |$ D
#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide+ n3 b8 W; \5 m
: N" W+ k- d( {! k- A
' {- b, }; V; o' H5 z一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!
, Q" S3 L) P g2 S |# k& Q) z
4 W1 E3 f: T; R9 t ~% W$ I
/ z. @6 s/ Y+ z0 f/ D! D |
|