|
1.文件说明, i' n, G2 ~8 B' P" @. a6 x5 y% l
Android OS系统) l% b0 O- f8 r/ p+ z3 ~
文件说明:
; U8 q* q( Q- E+ o2 m Android_tool/rtlbtmp: 应用程序
8 X2 w7 j3 V+ f t Android_tool/btmp.default.so: 应用程序& K: } D, T1 M5 L) d
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware) [, \' e% v2 K
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config + d, M8 R1 E0 w; x/ U
Readme/Readmexxxx.txt: 本说明文档
2 z* W) T" g3 {; i User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集
; {" g' p1 O+ q4 h4 k : L0 N2 T B2 |
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
( _7 p' l$ F" l$ e7 | ---------------------------------------------------------------------------------
& I) x3 A9 h- Q( W1 y" O1 {& W | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
, }- Z/ h# |! M; X$ k, y) o+ {' C |---------------------------------------------------------------------------------|1 @" I) h5 _% w: @
| RTL8703AS | rtl8703as_config | mp_rtl8703as_config |
- k4 U8 V- G0 }# w | RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |
( t6 ~$ r3 @1 y( L1 X: y | RTL8723AS | rtl8723as_config | mp_rtl8723as_config |
. P# R; v4 }* Z) b2 l9 k | RTL8723A | rtl8723a_config | mp_rtl8723a_config |
! Z5 {1 g6 m1 @* V/ Z | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |/ j* r$ F8 I) ?' B0 c8 I
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
5 t3 b ^; A; }- `1 E' I( d: D | RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config | q& Q; s3 E: X8 u" h% |
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
5 H5 `4 C4 u/ J5 U$ T' `- S# Z | RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |/ w& U7 O% k5 _ C4 ~' D
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |, x! ~) G' e3 L9 Z: ]! F- @: G! A
| RTL8723CU | rtl8723c_config | mp_rtl8723c_config |
+ c/ y* `: J, a! T! e" m" y6 F2 w | RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |% u, e- O6 j) x' M* C. q
| RTL8723DE | rtl8723d_config | mp_rtl8723d_config |1 |) K' `! i' V( d) O
| RTL8723DU | rtl8723d_config | mp_rtl8723d_config |4 S' J; W0 k# _6 f) w' G; J
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
6 M! g: }6 q# }: I7 S0 z | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |8 m- Z$ I6 O' c- [' B& p
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
5 T3 {8 P# M+ O6 U! W; y- F | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |: R- Z/ `. p+ _8 h+ b
| RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |) k: l+ u) m, F$ P/ a
| RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |
4 j3 K) a/ V. y# `* o1 X, d | RTL8821AS | rtl8821as_config | mp_rtl8821as_config |/ ^- ^$ I- N% V9 g5 t
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |5 M" q7 `, F! e5 _% \* Q/ n7 c
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |2 t2 m7 l3 f9 `8 A9 [7 V7 @7 f
| RTL8821CE | rtl8821c_config | mp_rtl8821c_config |
8 X6 t. j7 K- Y* q1 Y* z! ? | RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |
% p/ \2 I2 C: H3 _$ ~5 d | RTL8821CU | rtl8821c_config | mp_rtl8821c_config |
* ?' X7 C# ?! S | RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |6 T3 C% C! x6 r, M8 f+ T3 v% j5 C
| RTL8822BE | rtl8822b_config | mp_rtl8822b_config |. v+ [/ M0 F N
| RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |
1 ~8 `% }) l* I4 k& P | RTL8822BU | rtl8822b_config | mp_rtl8822b_config |
/ h" x ^+ \6 d3 ] | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |* e4 C( @3 _- m! M3 f: ~
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |' w0 Z/ u* f+ J$ {
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |8 C5 |2 C8 P6 g- Q0 `
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |& R) R# d* N( W4 Z+ a* q; t
---------------------------------------------------------------------------------( n4 y* K0 y! S* _
Linux OS 系统
: L: i1 C' G3 J( y 文件说明:
7 s* s7 o! D) J& A Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成
o2 Q' `2 K$ i" {. { BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
& Q6 [, z0 x; m3 L9 Y BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
0 z2 l/ |7 C1 n- E4 T1 N Readme/Readmexxxx.txt: 本说明文档
9 r6 E. `8 R+ d4 a User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集( e+ ^& ^, {7 a
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:$ ^( n0 m. A8 |
-----------------------------------------------------------------------------------4 C* Q" l8 d k/ A2 W$ O' {5 a
| 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
$ C5 W1 O b$ W |----------------------------------------------------------------------------------|
$ L" c! }! B+ @9 _+ b | RTL8703AS | rtl8703a_config | mp_rtl8703as_config |, D( s# g3 B( q4 C- ^9 ~
| RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |
& Q! G( B% W* D# Y+ u. \ | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |+ s$ S9 p. ~1 W) a- F5 X8 q
| RTL8723AS | rtl8723a_config | mp_rtl8723as_config |
: `0 y% B, L c L5 t& K {; I | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |3 ? o# }+ J+ A4 K6 l l
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |% v$ S5 C8 U) e# F# c
| RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |* D+ b( j! q& F& m3 G' s3 \3 b
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
6 i* b/ v& g9 n8 s | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
2 b9 j* M# h! X7 `! O | RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |( C9 \; b5 Y* `# a
| RTL8723DU | rtl8723du_config | mp_rtl8723d_config |
$ [: v& M( D |1 l1 B | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
: m# R: a" n7 ^ | RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |3 }1 F; G. i* d5 s
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |) R/ _0 Y$ e: U3 { M
| RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |0 }( ?1 B) a8 s
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |- E) I3 q# ~! J' ?6 {$ p$ ?# A
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |
. J; ~7 n O1 O/ q | RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
6 C9 j x9 X) b# [" O | RTL8821AS | rtl8821a_config | mp_rtl8821a_config | i% b, \7 L; ^( ]4 W* x" e) ^
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |0 S% b5 Z3 Y, e a$ a$ b6 Y
| RTL8821CS | rtl8821c_config | mp_rtl8821c_config |
& }. d( F" p7 |# [7 M" d" N | RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |
4 s: S* {, a0 y. q: [1 t7 e | RTL8822BS | rtl8822b_config | mp_rtl8822b_config |" Z7 G) n: I: Q+ Q' j% l& R6 m
| RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |
7 L3 v ? d* H& } | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |
# X: H* J2 D3 `8 U: ^ Z | RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
/ }; g- K8 E, k9 b9 J | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |( ` C6 F+ z6 l
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |3 z" P6 s3 g" L5 p; j* L
-----------------------------------------------------------------------------------1 e: M5 L: T9 h. D& z# z
" P H6 U3 }1 u* J2 @
2.运行环境搭建5 p! R. o. h6 N; X3 b* H# @4 M
Android OS 环境. ?, t- {( t3 c0 Q: b f
将 tool 所需文件放到系统里
) `6 {# Z9 h( d: X* X! l将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;' r3 k% H* |' I9 Q
adb push rtlbtmp /system/bin/* x# }& I5 s5 E0 W" z
adb chmod 777 /system/bin/rtlbtmp
[& l2 W$ E2 A+ z3 `6 Y9 O将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;& p) Y* {5 ~ k$ x% e F
adb push btmp.default.so /system/lib/hw/
7 H& C6 [% a: m/ [* Q" kadb chmod 644 /system/lib/hw/btmp.default.so
# Q8 v; B( @# J/ L' x将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;) l1 P( _: e3 E$ n: [7 X0 o
adb push mp_rtlxxxx_config /system/etc/firmware/2 ^& W, b# s" H3 j8 x
adb chmod 644 /system/etc/firmware/mp_rtlxxxx_config
1 Q6 N( s( l2 c5 l将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;( D \0 w! ?" E+ x2 ~3 ]5 J# u5 \4 m
adb push mp_rtlxxxx_fw /system/etc/firmware/, K) M5 V2 O1 ^* ?0 R
adb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw
l' H9 V$ f: T6 q0 _4 ]+ E' r# ^5 K0 i M9 `/ ?4 _
0 g3 }* s! G, s5 G/ d, X#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面' G3 O. ~0 p. K" h: f
将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;# Q b [3 |% L* x/ I9 ~; v! V6 M
cp rtlbtmp /vendor/bin/
1 M2 Z+ f6 H8 p# Q4 a) _chmod 777 /vendor/bin/rtlbtmp3 ^2 q9 D, F6 }: F( ]# e( j
将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;4 G- C1 g2 P& h, `, v% x$ H" @
cp btmp.default.so /vendor/lib/hw/0 g! ~1 [+ m, p
chmod 644 /vendor/lib/hw/btmp.default.so
% ^1 |3 b% @4 w2 D$ a将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;
4 J! q2 F% ^8 R8 {6 |* [cp mp_rtlxxxx_config /vendor/firmware/: {' d* m1 d% `7 A* u+ |
chmod 644 /system/vendor/firmware/mp_rtlxxxx_config
9 f& P* z, ?3 _& A4 `! l$ K将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;, L- S# D$ ?, F/ p/ J# E
cp mp_rtlxxxx_fw /vendor/firmware/( K" A% V) N: m4 D; u8 @ Q
chmod 644 /vendor/firmware/mp_rtlxxxx_fw
& G0 A- _, ^( y以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;$ |. s# e8 _) q8 r' W- G7 K3 F
关闭 normal BT
* x! G: O, z8 _7 ^- \rtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:9 K, R# q% P, N6 r* J1 R3 M" O
service call bluetooth_manager 8(关) /6(开), d, e" _% ^5 {0 \2 R/ z
或者
* @/ M5 p5 b+ {4 Ycd /system/lib/hw0 z& R" |- u* L7 _
mv bluetooth.default.so bluetooth.default.so_ORG
% I6 ]' C% Y, \: g2 H1 S( h(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG): r a) k4 _" u" A! J% a
reboot2 u$ W6 [3 ^3 `1 @- _. H0 l
! O3 S8 L, V$ c6 f( A! F$ YLinux OS 环境 @- p; M$ \9 b
将 tool 所需文件放到系统里. b, {8 P# |% E/ N0 U! B$ i
cp rtlbtmp /usr/sbin/4 H. w. p0 D* H# q: Y% I: D0 g
chmod 777 /usr/sbin/rtlbtmp
R2 \# N+ v! ^- Ecp mp_rtlxxxx_config /lib/firmware/! N7 h/ e& [# w% I& r
chmod 644 /lib/firmware/mp_rtlxxxx_config6 K4 G5 \$ b4 @
cp mp_rtlxxxx_fw /lib/firmware/
, V/ m) R+ M- Y# c1 A. {1 Hchmod 644 /lib/firmware/mp_rtlxxxx_fw E4 n* `; c9 b6 \
UART 接口芯片准备
" b4 a% O2 ]0 F" n请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;
2 k% A3 k( M; J E" p/ @ USB 接口芯片准备
! F# Z- T' B" [先打开 normal 蓝牙,再 hciconfig hci0 up
+ W" J5 R# p1 p4 F+ a5 e0 }7 L" V" t* \6 E2 O/ U+ I
$ ?1 U5 s0 q5 ~' e$ K5 Z$ H' g' A% u2 _
3.BT RF Performance Test & TX Power Calibration
4 z" @4 q: p( P$ L7 r+ b3 l4 s; E参考User Guide: k4 P) k+ X7 |& ~
#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide' D- O, Z7 N& w) t6 Q
! s# X* ]/ D3 a5 m8 w8 b, {$ E" t- _ H" p5 f! F6 k* Z1 ?9 W
一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!
o& ^( w; o- Y4 ~& j q
: C: [( B0 y& d' B+ `4 d p- e; p# b5 F
|
|