|
1.文件说明
3 n. G. ^. j$ N. K0 yAndroid OS系统
' {5 S- K" o i" c9 U( e! ?* D4 o 文件说明:- b* Q, t5 n$ r) }) k G9 G
Android_tool/rtlbtmp: 应用程序$ ]- ?7 n3 x4 w3 d! K
Android_tool/btmp.default.so: 应用程序
2 A* W# G- f* r f6 K4 F! c BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware" N. E% ?, w" l% b7 D% i n
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config 4 ?2 a# k. W$ v% r" ]0 S
Readme/Readmexxxx.txt: 本说明文档
/ [ _8 S* L6 i$ r$ h User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集
5 j: g @; l; v* ] 1 }: d4 G7 b! z; v
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
9 t3 b. l+ j# i* T ---------------------------------------------------------------------------------- u, e+ h4 e$ y' Z+ S. @
| 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
/ l }# K5 M: N4 }* k% I |---------------------------------------------------------------------------------|
8 ` E0 K5 q7 ]+ B | RTL8703AS | rtl8703as_config | mp_rtl8703as_config |
# c# F- M7 J' [ | RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |
5 d' i9 h7 n' g9 [7 Y | RTL8723AS | rtl8723as_config | mp_rtl8723as_config |3 k( [. Q+ N. Q
| RTL8723A | rtl8723a_config | mp_rtl8723a_config |! \% C3 a* K9 S6 i
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config | ~' \, t- I" j7 T
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |/ m2 l. ?3 g6 G5 L. Y) H4 S |
| RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |
1 h0 {, H0 v& t8 k. v1 G" W0 ] | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |. g5 c8 d& o1 A0 _5 Z7 U7 g
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
4 T- k' S/ A+ G | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |1 U: }- A, E8 a+ y4 k! V# @6 |
| RTL8723CU | rtl8723c_config | mp_rtl8723c_config |: z/ K" b& w3 W. }! h; p, \
| RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |- u. s+ j7 b) A
| RTL8723DE | rtl8723d_config | mp_rtl8723d_config |
: e7 T" f& J; Z | RTL8723DU | rtl8723d_config | mp_rtl8723d_config |8 d& H. C6 C8 G* I) ^
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |6 p8 m( s w* Y9 k2 Y
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |7 s2 P1 ?# H5 k( S% i
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |2 G, A0 ]) ~3 F- d6 J
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |
0 U# k$ I# k/ r4 m7 h | RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |* {. `7 z! \9 G$ n8 w
| RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |
9 Z& ^: f1 G H" h: Q! g3 @ | RTL8821AS | rtl8821as_config | mp_rtl8821as_config |5 P$ e1 i9 i( q2 J
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
, K9 V( P, ~% L, y6 u( j& Z0 }1 p9 y | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |
4 f( d; k" |( O% ~+ V7 q | RTL8821CE | rtl8821c_config | mp_rtl8821c_config |
: a/ \ j- z V4 p | RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |
& v2 ~ j$ M) w. t* Z' U | RTL8821CU | rtl8821c_config | mp_rtl8821c_config |
4 }! T' K5 g5 U) K( W0 l | RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |
9 x! L1 J5 x2 X6 F+ Z& | | RTL8822BE | rtl8822b_config | mp_rtl8822b_config |* D1 }7 r# i& R. F9 K
| RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |# F& u% t" x2 k" ]' c+ A
| RTL8822BU | rtl8822b_config | mp_rtl8822b_config |3 U3 c% _1 {! E4 c( S$ m
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |
; `9 a1 x) u! E8 |: |9 R! G9 l | RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
6 I2 L2 a7 `) q! a1 i% p | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
2 x9 K* u n% e( Z | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |
- [6 o) T; v z3 @& l) D ---------------------------------------------------------------------------------- k, F- u0 R/ O
Linux OS 系统
% c6 R# u3 F, X Q: O) M 文件说明:
, h e- l! F; r9 Y/ O" Z Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成% e* q) E, e2 M) ~. p+ }! x
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
: z) g) N. a$ j5 g BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
4 n2 P! L+ r! ~! k4 h8 X Readme/Readmexxxx.txt: 本说明文档$ H% K& i! B" g7 t1 z" D( q4 H
User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集
' q( j4 ~. @9 i9 V4 L, ^4 Q* s6 x 下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
6 _, U- X" r) S" Y& V6 _3 P -----------------------------------------------------------------------------------
) H2 z- y2 c: E) ?" g | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |, ^' L; d% m* e/ {, ^
|----------------------------------------------------------------------------------|0 D) ?" [( ~7 e) I1 @
| RTL8703AS | rtl8703a_config | mp_rtl8703as_config |2 L8 G0 {6 \9 G6 O1 r
| RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |
0 Y; t" o8 B/ g1 @( J3 p | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |( U E; E9 F" S1 x7 z
| RTL8723AS | rtl8723a_config | mp_rtl8723as_config |" n/ O& Q O! s4 H4 H. `: Y5 d5 I
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |9 i9 E) \& K! v) k5 p
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
% c1 P3 t5 E# s0 k# Y& | | RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |' t3 ]* K/ e3 J# }; T/ y
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |6 O& {8 _$ D* P
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |% p7 P. z) s, u* x+ M4 U5 i
| RTL8723DS | rtl8723d_config | mp_rtl8723ds_config | T$ Q$ d5 q- L: j8 b L
| RTL8723DU | rtl8723du_config | mp_rtl8723d_config |
- k7 p! g! C+ C+ M+ y- W | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
2 o& S! n* a. \6 ]. z | RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |
4 I8 N8 g" x; ?6 \ | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
5 V( R# I, H1 J, h4 H0 o | RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |
: M7 Z9 j* ~2 Y- m8 C' ~ | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
, f5 b* Q$ L8 B5 c$ z y, x1 r | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |; s7 U' a7 w& A) k
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
5 P) k9 t7 q& b0 W+ T( w | RTL8821AS | rtl8821a_config | mp_rtl8821a_config |
+ U3 H4 T) _/ v3 `1 t | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |
. [9 K1 g9 e8 f2 x. }% ~. W | RTL8821CS | rtl8821c_config | mp_rtl8821c_config |
6 M6 S- d! o' k) U7 z0 Q( l+ O | RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |
, Z9 F: u8 o6 L t; l | RTL8822BS | rtl8822b_config | mp_rtl8822b_config |# P7 _3 z- P& _: e, f
| RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |
# f; t9 j% \! K: h3 t/ Q; i- U9 v | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |! Z2 z/ y' j% C- N# G M& h
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
9 l7 u: b* {' _ N. [9 j, k/ P | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |. v' R: K/ B6 I7 u" u, J
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |
1 }$ G6 j4 ^5 N0 ]: C -----------------------------------------------------------------------------------
& Q- m3 d1 e5 O# I, `! e: ~; N# E# F6 k& b
2.运行环境搭建
I: s( J `! Y3 w& ^Android OS 环境
1 T# @0 L/ e' A( q& I) F# x将 tool 所需文件放到系统里
6 o* X \) @, z8 }4 M* L将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;7 b# v9 S" `' n6 d' ?$ g/ u
adb push rtlbtmp /system/bin/
$ g( @0 S Y( Y$ v1 o1 }adb chmod 777 /system/bin/rtlbtmp
, K6 w$ I' x0 z& g, L- ?; g将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;/ ~* R/ Z* ]# }- V" m/ A
adb push btmp.default.so /system/lib/hw/
) W$ N' h% V. e$ l: C7 N2 Kadb chmod 644 /system/lib/hw/btmp.default.so
* o* o9 p; u" T$ I8 K$ q' M将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;' w- H' x9 g7 E3 W t' F4 Z
adb push mp_rtlxxxx_config /system/etc/firmware/3 N- i! \2 l0 o2 @, U6 L
adb chmod 644 /system/etc/firmware/mp_rtlxxxx_config
! l9 C: [; B- p& t* w将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;
/ O# E- b) z8 t5 ^" m6 F) _adb push mp_rtlxxxx_fw /system/etc/firmware/
( J/ e6 Y# }) a( ] w5 X( Q6 `adb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw5 R" S2 ?& }+ x2 ^
1 s3 |/ Y7 [+ F k' e$ G- w% z* l/ p" |- p& W
#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面& D: p3 n4 w" ?2 ]$ k! X* J O
将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;, `% U' r7 d& z0 |
cp rtlbtmp /vendor/bin/* { C. v, Y8 v/ J5 S8 A& y
chmod 777 /vendor/bin/rtlbtmp
|& s6 {2 d. u9 K5 Y, [/ ?将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;
$ d3 [8 X& h$ h. |cp btmp.default.so /vendor/lib/hw/
$ d- E' F* B# {- { o" |chmod 644 /vendor/lib/hw/btmp.default.so
4 k# y; F! T& S; A将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;2 L: {5 o3 O$ H5 K/ \* t
cp mp_rtlxxxx_config /vendor/firmware// {! E% ]" V" g* h/ V
chmod 644 /system/vendor/firmware/mp_rtlxxxx_config
2 y2 ^2 L2 c, ^6 w将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;; h! j# Q9 x; d; n4 `
cp mp_rtlxxxx_fw /vendor/firmware/
6 u6 Q" ^' A0 I3 Xchmod 644 /vendor/firmware/mp_rtlxxxx_fw }" D+ T1 H% J) c$ L- O! Z7 c
以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;: k% b' ^0 c1 C7 t& l- h) q
关闭 normal BT, G; f5 `' C% _5 h6 t h, r: r
rtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:; E5 N' ]3 n, I+ L- Q/ L Z
service call bluetooth_manager 8(关) /6(开)8 `$ p- l/ q0 k) G8 y
或者2 q8 q8 f- M8 E, i% e4 `
cd /system/lib/hw
2 j/ e0 E, g, Fmv bluetooth.default.so bluetooth.default.so_ORG
; j3 w" [9 I7 p8 _(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)
. d( k5 T* T# V6 J* D. b* Kreboot
9 e% C6 \! @5 G9 V$ H8 D9 Q
3 o* ?1 R" B) g. YLinux OS 环境. D3 c/ y, D1 d
将 tool 所需文件放到系统里
2 d9 G+ s* X, B. pcp rtlbtmp /usr/sbin/
( M# Z. o6 Z# }& v& s$ dchmod 777 /usr/sbin/rtlbtmp
; A+ W( e8 X2 D- B) q+ r+ K% dcp mp_rtlxxxx_config /lib/firmware/
- x& r$ Z: w/ T9 E$ R# y( wchmod 644 /lib/firmware/mp_rtlxxxx_config% Y d$ K9 w$ w/ V
cp mp_rtlxxxx_fw /lib/firmware/
# Z: j1 E: P8 d* Z- d) G' Hchmod 644 /lib/firmware/mp_rtlxxxx_fw
2 t1 X9 W- f( E UART 接口芯片准备7 U$ x( S5 Q* \8 Y
请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;
( I* h1 U7 M% { USB 接口芯片准备
& W% G6 e# {5 x( m+ b( d+ @2 m先打开 normal 蓝牙,再 hciconfig hci0 up! q# e6 y" P: _9 h
3 f% A) @3 C: z9 y! B- Q2 n4 `5 s
8 q6 a0 K e- O
3.BT RF Performance Test & TX Power Calibration1 W) V6 K, r" p( c
参考User Guide
: ~& C3 h; P1 L1 ^6 k#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide
$ @# H( A1 ^3 L- O1 S( H; `9 C. \" H
( p" Q, L( m. ]5 u, v! [) _. L9 A/ W; U
一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!3 ]7 C! F: O4 l" g( Z7 M
/ d! E4 a- e7 }
& b3 [0 v) I, w7 }8 A7 j
|
|