|
|
1.文件说明
" [1 p6 E, G+ pAndroid OS系统' `) M$ @7 L0 b; t
文件说明:7 r( |0 g% U, r' O, W4 d, @+ g+ k
Android_tool/rtlbtmp: 应用程序+ {8 V; w8 b- ]! d4 N
Android_tool/btmp.default.so: 应用程序
/ {0 x7 i9 P5 `2 e' w. `4 k, m" j8 `9 } BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware: T9 g! d7 V2 E3 Q
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config ' @" Z& s1 q# @
Readme/Readmexxxx.txt: 本说明文档( _! v# A, ?, M' ]
User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集
( S' S; q0 i' T7 r1 t & L2 o1 J2 ^) I- S( G: N
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
e7 m" {3 k- _: x2 f ---------------------------------------------------------------------------------+ J! ~+ B1 ?- G" _! `" D
| 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
5 w7 v" p/ ?# @! l$ P' _% u |---------------------------------------------------------------------------------|5 V( z. V; C0 t2 s" c! q& |' f$ l
| RTL8703AS | rtl8703as_config | mp_rtl8703as_config |0 M: }4 M. R) o; h n4 G
| RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |6 I8 |1 ?, E+ y( D# f! ?
| RTL8723AS | rtl8723as_config | mp_rtl8723as_config |
' j1 \/ C8 r; N" [1 G | RTL8723A | rtl8723a_config | mp_rtl8723a_config |2 F+ b$ V0 [) z6 L2 C+ E: b/ Y
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
# x3 f$ p2 X0 f) @ | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
: W. `; E3 ^. K, `0 Q | RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |! m) H4 {! q3 M
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |( C/ e: C: Q8 Y) ^1 l) L0 \
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
" @5 v8 B4 T' l ^ | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
3 n w8 W- D# P5 J- Y9 J | RTL8723CU | rtl8723c_config | mp_rtl8723c_config |
3 v. T. u; f# m6 A) D | RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |
, y" q, b: V6 r. E' B! P | RTL8723DE | rtl8723d_config | mp_rtl8723d_config |/ R k4 F6 O" a4 R5 x9 V
| RTL8723DU | rtl8723d_config | mp_rtl8723d_config |
5 W9 u3 ?# r& [0 ~3 \( M- {. X | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
. ^& q* a: \* w8 Q% w( w | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |0 d* M" ]' O) h9 H) L. u( m
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
& B5 b" c( i1 A, {9 I | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |
9 M5 g$ A( U( t/ { | RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |
# H& z$ j3 T1 i7 [ | RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |6 Z' O$ J* b3 S; j7 D
| RTL8821AS | rtl8821as_config | mp_rtl8821as_config |& h H* e" s- ~$ ^# ~
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
9 E( F1 y* E" C; ? | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |
! b" Y% y5 G) L Y9 v | RTL8821CE | rtl8821c_config | mp_rtl8821c_config |
4 [$ O1 J9 u4 P* v0 Z8 G6 l" l | RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |
; p$ a! q1 b- H/ \7 t | RTL8821CU | rtl8821c_config | mp_rtl8821c_config |6 M6 X* p' ]' l& u- }% B7 X
| RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |
+ q9 V( q. `' I0 {% o9 P6 j; _: p | RTL8822BE | rtl8822b_config | mp_rtl8822b_config |2 D% D m% b# U$ F9 m+ \
| RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |- J Z- o$ T4 k8 X7 \. w
| RTL8822BU | rtl8822b_config | mp_rtl8822b_config |$ S& h4 c4 x# L& T# `. G1 K
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |8 F* q1 N. z. k' _! s# a7 e
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
6 D: |1 `2 q1 C | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |9 C z! d' A9 p8 M
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |7 p. {3 c5 U \3 p
---------------------------------------------------------------------------------
: H# l: u, \$ F/ V( }: N# `Linux OS 系统
9 l$ j3 x4 r6 b: J D& J 文件说明:+ [% @' D7 ^6 {8 F& ]( _! h
Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成
2 t# O0 o4 \; |: H7 o1 m; R BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware, [. e" [1 C) D; S* ?/ D& g9 |6 W9 e
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
( Q8 f/ Y2 P1 }) f) K Readme/Readmexxxx.txt: 本说明文档
. k" R6 H8 S9 T& ], R) Y/ v User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集
1 P3 o& u) m, i. A8 ]1 J 下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
0 V, R" i; O$ S |6 ?; W- L -----------------------------------------------------------------------------------
$ `- P$ C/ p% p6 I# {( t4 L/ p | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |: G- U' F9 f! l' N/ N& m
|----------------------------------------------------------------------------------|& z, D/ d3 R5 D# L
| RTL8703AS | rtl8703a_config | mp_rtl8703as_config |
$ \8 J B2 o2 N: q1 a | RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |( G; F$ ~9 O! p+ L& p5 w0 @0 {
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |0 Q' A0 a: P4 Z
| RTL8723AS | rtl8723a_config | mp_rtl8723as_config |
1 S* p" Q5 N0 I2 e f; H | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
4 X5 W( [$ K* O9 u& i* P" j | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |, I1 [$ c, W& {$ o" D; ^( o* A0 G
| RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |
( K; Y* T1 m: T+ j, g! G8 i | RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
4 F* a9 V& s; v' @' r9 x | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
& V4 V: K% P7 l5 p v | RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |
' i! r/ ]) b! k4 L8 \! V* C w | RTL8723DU | rtl8723du_config | mp_rtl8723d_config |
2 |7 @( ]5 m# e0 Z1 L | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
+ a0 j" a3 n0 R' ~- \& X | RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |
4 g; z+ f# s6 p3 ^! H1 X$ j( P | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |0 V& {9 N/ |4 v; W" t0 f
| RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |
$ [- ~4 a. O/ g* E! c | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |4 L: z, l* L Y# }7 M/ I" i
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |- s- |8 O4 C/ Y3 g
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
7 a& n6 B; f6 g8 `( x | RTL8821AS | rtl8821a_config | mp_rtl8821a_config |
h& m9 j! K$ a' V' P | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |* W$ @& e8 A0 U: n7 X0 H
| RTL8821CS | rtl8821c_config | mp_rtl8821c_config |: G& K0 o8 n% W
| RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |$ E% Z# O y8 L, A( _
| RTL8822BS | rtl8822b_config | mp_rtl8822b_config |7 C& J! d. S6 t; K) r+ V2 m
| RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |. U! f" c2 ]. _1 {) a9 F
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |
* }1 N. |" }5 K+ ] | RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |9 w: P- ?+ u4 ?% @! g% J) r: \
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |$ t1 ?) G& h n
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |' ?# R! [4 D+ r Y8 D1 K1 p
-----------------------------------------------------------------------------------
! f$ k2 s0 v3 ~$ r( [- O
4 {7 ~) [0 H/ h7 _! A$ @4 k2.运行环境搭建
" ~+ m9 r# l1 N, C. Z! gAndroid OS 环境
1 c" `# m: n4 k' r% w/ S4 M将 tool 所需文件放到系统里
3 x! h+ b0 A9 M8 u' N! c& M( ]将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;/ g, X. V/ ^# ]$ Y. Q/ ]8 b$ \
adb push rtlbtmp /system/bin/* H3 D; C/ d" y" a! I5 ]
adb chmod 777 /system/bin/rtlbtmp
4 \3 E7 v2 f' u) d8 ^% K v将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;. V) @( H2 X+ T) S: _
adb push btmp.default.so /system/lib/hw/
# ], h \4 K, |% W* l( X, H2 |, ^" _. qadb chmod 644 /system/lib/hw/btmp.default.so" z+ |( \# P/ I* T6 R
将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;
% U9 A* I, f7 N/ kadb push mp_rtlxxxx_config /system/etc/firmware/
( V* }2 f, v. a- n. y* i4 S2 g+ A& Fadb chmod 644 /system/etc/firmware/mp_rtlxxxx_config
4 o$ N1 O$ V5 S* o' I将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644; H. A, P# x6 ]$ K% d" Z. ^
adb push mp_rtlxxxx_fw /system/etc/firmware/# E# r* ]" G- P- z' Z. ~; Y
adb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw
3 _! w( e0 i& c( c
7 z ^, ?& t+ U5 l
) @# {$ F. M7 w p3 S#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面
3 R! d0 Z0 y# _% N; E9 r将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;# G( d& N3 j: e- O& _9 m* U
cp rtlbtmp /vendor/bin/2 o' @! R" ]: ]: `$ y1 p
chmod 777 /vendor/bin/rtlbtmp" g3 `( w. e: p' R
将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;4 d, l- c( Z2 i4 f1 m0 U
cp btmp.default.so /vendor/lib/hw/" m( [5 ]% C5 ^. p; v8 b' t0 ~, V W7 O2 m1 p
chmod 644 /vendor/lib/hw/btmp.default.so9 M# ?9 z2 y9 h3 c8 V' g3 T
将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;
/ e9 ?4 t0 [/ b k4 \( `6 f0 ycp mp_rtlxxxx_config /vendor/firmware/
) L3 x' H% ^0 echmod 644 /system/vendor/firmware/mp_rtlxxxx_config
: `. D% v1 |& ?2 B将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;
8 |) S3 W, o* J' v! ?. `% bcp mp_rtlxxxx_fw /vendor/firmware/
/ x2 C3 H9 J, B7 Z# T' Dchmod 644 /vendor/firmware/mp_rtlxxxx_fw
& ~& _ ] w$ D4 L& @以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;3 n/ ]5 `6 B2 Z) |% z% o4 S
关闭 normal BT+ K7 i E- |( v, X
rtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:
2 s S1 V; s6 e8 g) x* M" h7 oservice call bluetooth_manager 8(关) /6(开)
3 @3 @5 K( i. N i3 g l或者: W* i' r; h; \# z
cd /system/lib/hw
5 ~2 e ~- u9 f8 o+ smv bluetooth.default.so bluetooth.default.so_ORG
8 u) \0 Y: Q. m: L% a5 }6 _(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)$ a4 o! r/ o* t. j% D
reboot
' ^. b% K' o% h& U
4 Q/ y% M2 c# f8 H$ VLinux OS 环境# i4 Y5 l" K% J
将 tool 所需文件放到系统里3 h+ N2 C9 [0 h
cp rtlbtmp /usr/sbin/
; j& u8 F2 H, a/ F4 Bchmod 777 /usr/sbin/rtlbtmp
0 O$ ~- e" T, Z' P& ]' [cp mp_rtlxxxx_config /lib/firmware/
7 D0 z, r2 f3 t$ e/ l: nchmod 644 /lib/firmware/mp_rtlxxxx_config
& P' I/ Q! `' {# j$ ]3 icp mp_rtlxxxx_fw /lib/firmware/3 f9 N3 n( N8 O; m# @$ z& t
chmod 644 /lib/firmware/mp_rtlxxxx_fw; D% v' d% U5 Q5 E* `2 G
UART 接口芯片准备 N0 N7 p7 t/ F! G, S7 g
请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;9 ]3 L: ~9 S; _( Y7 i' b
USB 接口芯片准备
( ]: h8 _4 f' K4 m先打开 normal 蓝牙,再 hciconfig hci0 up) D: w1 m8 y1 g( }, o( j4 k5 `
Q* `- Q }. \
: O$ Q0 a- K2 f3.BT RF Performance Test & TX Power Calibration! s# ]- p% F- H: G- u5 F" F+ Q
参考User Guide& z5 ` C& {4 g3 p& p) L
#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide
7 O+ s, i [0 B2 R3 L0 F' S& I/ a8 U4 j7 H+ ?! n; ~
1 }: t G M3 K1 _7 X一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!! O/ R+ q8 j- @ _" q2 x, Z% K
( K4 V0 `0 i) \" I8 G" C3 F
! p" l3 X6 Z7 L7 n' ~1 Q# k |
|