|
1.文件说明
Y* d }0 U R% M7 S0 YAndroid OS系统
g+ O' v4 X ^% ?' u0 \: [0 D 文件说明:
3 u8 S) ]# C1 | Android_tool/rtlbtmp: 应用程序
" q% X1 d. V; r0 r3 ~9 q3 W' U Android_tool/btmp.default.so: 应用程序
& H: H3 A8 O# X! Q% Z BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
I7 v2 C4 _5 @* C% F2 P BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
! A# T K8 ]& d3 ?6 d3 r Readme/Readmexxxx.txt: 本说明文档% b4 F+ e1 y! s7 D i4 v' T
User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集# ]/ y* z9 r, a8 m& ~0 b( ^
" v2 ^" n/ Q3 U3 M( s
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:; d' z6 s( ?0 f K
---------------------------------------------------------------------------------
/ G; b2 p% o7 H3 H% W( m | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |' u- T& Y- a2 i! a
|---------------------------------------------------------------------------------|
* ^# S/ s$ Q7 b) z3 V | RTL8703AS | rtl8703as_config | mp_rtl8703as_config |# B- }5 A/ r8 n/ P5 m# z% P) s" j
| RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |
* s+ M: C M: u0 F0 _' ], Q. _* E | RTL8723AS | rtl8723as_config | mp_rtl8723as_config |
( P+ m& }2 A3 L" r | RTL8723A | rtl8723a_config | mp_rtl8723a_config |
" R" U9 n( {7 `/ B V | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |7 x, X' L2 k* h% q' Q
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |! b( x6 w* x9 ^" t; k9 X
| RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |6 q% A- D% t3 g& K4 q. N
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
7 A5 W. Y/ _) j" r | RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
S$ A# f2 g5 s5 F | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
# a- M! w8 p/ m& y b& Z4 x% c, S | RTL8723CU | rtl8723c_config | mp_rtl8723c_config |) b+ O. M' a6 T: n! S6 d) i
| RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |
, g7 F$ y! I) T) |9 `7 i | RTL8723DE | rtl8723d_config | mp_rtl8723d_config |- Z# P4 F A# u2 u6 t( _7 R3 I B% I
| RTL8723DU | rtl8723d_config | mp_rtl8723d_config |
* ?- ] z# B! t* m( `. j# B | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |' m6 k: `9 d% \5 f
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |, |, l6 _- L/ X. y `5 d7 c1 E
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
8 a& u; X1 F; B" v! H | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |, ?# J* ~3 r3 f6 K$ U
| RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |( I$ R) V" p& T9 Q) Z% T0 ]2 {& F3 ~
| RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |
% e2 v& I D% F. t; O3 { W: m | RTL8821AS | rtl8821as_config | mp_rtl8821as_config |
# M" g$ z; o6 X9 G/ j' J, e | RTL8821AE | rtl8821a_config | mp_rtl8821a_config |( D( b. }5 C1 W
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |) K6 E+ @" j# L- n
| RTL8821CE | rtl8821c_config | mp_rtl8821c_config |" G1 R8 W3 q7 m9 Z# n9 j
| RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |* o2 q% _' a# N
| RTL8821CU | rtl8821c_config | mp_rtl8821c_config |
[0 m o' h+ I( g. u) C+ J+ k | RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |9 v; z" r* U; ?8 N9 w+ W4 ~
| RTL8822BE | rtl8822b_config | mp_rtl8822b_config |
7 P$ r+ _ C% c9 }' X | RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |
) \7 c* a0 f1 V0 Z7 H0 k1 R | RTL8822BU | rtl8822b_config | mp_rtl8822b_config |
6 C3 E0 i: N* P3 L- T6 d& U* }% g | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |' i3 L: i7 _/ J1 s, l
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |7 E9 z3 D4 _ @* ]
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |+ I* R9 n- I( ~( Z5 W( l
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |
5 c; u7 d! s# C. ?. V ---------------------------------------------------------------------------------
4 x) @, p: o* H& o4 O& ]Linux OS 系统
6 L7 }$ D& d# c* j" K$ H/ b: [2 c 文件说明:+ m+ ]/ g. \5 B( o
Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成! Y: f1 O; |# d6 y B8 {
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
G7 ?: e9 d5 S& b BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config 8 i: W- T) h* H, ]; o" I7 V
Readme/Readmexxxx.txt: 本说明文档+ i( b' f" w$ C' c, I
User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集
$ x$ g4 ]! [( ^( i; F& \; t 下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
/ A* [3 ~% @' z) s8 ]/ Y -----------------------------------------------------------------------------------$ @' ?& P, R! U6 B+ M
| 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
- Q8 R) Y4 P# k3 ^; q |----------------------------------------------------------------------------------|& T3 J# R/ v: c, b' }7 J+ Z
| RTL8703AS | rtl8703a_config | mp_rtl8703as_config |. n6 g' G. e# d( l
| RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |
1 D( d1 v% O/ |5 h9 D' s+ t7 C k" y | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |: o& Y0 M% N- c# C9 M& ~
| RTL8723AS | rtl8723a_config | mp_rtl8723as_config |
1 j0 \0 E5 B, p- _5 m | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |4 g" j" ^* `* l0 O; x
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
% J) U- p" ~: L7 K/ P# O0 u m | RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |
8 z+ [9 I' Y- f0 G' i2 N | RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
$ I0 U8 W4 X) x/ {3 J | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
, f* r: P, U( R | RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |
) @$ k. _/ J! ]$ M3 z | RTL8723DU | rtl8723du_config | mp_rtl8723d_config |1 z$ X- d" U0 ~7 e8 t
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |% o$ [* E/ k4 M6 k
| RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |
& z& r3 @) t; r0 B' m | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
6 Q2 w* {( l5 y* c" F4 c9 ? | RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |
C* N7 [: ]) p3 e+ X7 { | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |$ f) B( |0 r$ d4 s9 a! b
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |
3 v# v( `0 @# ^. _ | RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
1 c5 R5 C+ k' M+ V | RTL8821AS | rtl8821a_config | mp_rtl8821a_config |$ W- C8 M* l6 b, E# d: j4 X# P
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |: Q5 @% ^* u, z; M3 Q; r
| RTL8821CS | rtl8821c_config | mp_rtl8821c_config |) Q. e+ u0 _& E4 x8 f1 @
| RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |
5 u: p7 A. |: Y% a+ q% s. p | RTL8822BS | rtl8822b_config | mp_rtl8822b_config |* q* ~ ^$ W8 ?' _. d( y
| RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |
G8 Y% H4 }. z1 f# ` | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |+ ^5 p! ]1 o/ b2 U$ F2 C4 G* [
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |3 y) T' H' w% b: l( z
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
! q- n' i7 K$ o2 U | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |/ R' P9 Q' [! `1 W. q8 N
-----------------------------------------------------------------------------------, u0 F, a$ g+ t; x' l- w9 d/ n
$ s; v# b( Z% j7 r2.运行环境搭建
! @9 r) {& z6 ]Android OS 环境
+ k! t2 `. o7 J将 tool 所需文件放到系统里4 U4 o: g0 Q9 o. t& b
将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777; `% @ L6 R) @ U% g: b* ~
adb push rtlbtmp /system/bin/
# b! X6 r" P5 V0 x- @5 a+ Wadb chmod 777 /system/bin/rtlbtmp
0 [5 c8 f( v* n) L$ b; [' N7 u将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;# ?) F1 x# _, x, X- I2 F7 R& L# ]4 y
adb push btmp.default.so /system/lib/hw/
9 C9 a: k3 d! x! V/ D( ^adb chmod 644 /system/lib/hw/btmp.default.so8 }- f5 f& U9 T5 p4 \
将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;
* B( C6 k" y; o/ `' hadb push mp_rtlxxxx_config /system/etc/firmware/8 q! K7 U$ D: y1 y. m1 e+ x; j$ D! |
adb chmod 644 /system/etc/firmware/mp_rtlxxxx_config
$ {: ]( S8 D4 H6 {* F& w将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;
3 o" f, F; a) S0 U0 P/ uadb push mp_rtlxxxx_fw /system/etc/firmware// |5 t. k C, D9 X( Y& [
adb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw
5 |. F6 f( F* i$ H e
% C% y/ q- j7 P" ^
$ H- H: r+ M _. x#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面
: C+ F. h( v0 \# l& x将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;
8 w: A: g9 G$ k& A! a- z+ b" Pcp rtlbtmp /vendor/bin/
" n) E, V" t( |4 O8 }chmod 777 /vendor/bin/rtlbtmp
0 `& p. }* g' p4 V1 \将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;
& I# |/ k$ |: |& v4 n' {( Lcp btmp.default.so /vendor/lib/hw/
4 S, M+ P! E5 C4 @( fchmod 644 /vendor/lib/hw/btmp.default.so9 A* F* v, u5 i
将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;# c9 @5 b& \. z! [8 B6 S
cp mp_rtlxxxx_config /vendor/firmware/! s* x! F* q, n' o( ?
chmod 644 /system/vendor/firmware/mp_rtlxxxx_config
, L$ a4 c) x! y5 W+ x) g# q将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;
8 p6 r& I2 C3 C: k8 y. ~ H: k" [- qcp mp_rtlxxxx_fw /vendor/firmware/, D0 r6 c, q5 c5 d
chmod 644 /vendor/firmware/mp_rtlxxxx_fw
+ Y" \' [/ L7 M A# V& e以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;
H2 X( s1 Z3 _3 p 关闭 normal BT) A1 Q5 ~5 }) b( s' S: K5 S
rtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:1 q3 R" q- ?; G) u h7 U
service call bluetooth_manager 8(关) /6(开)
: }2 c' N1 M/ _1 T- ?* g或者' d- Z: g1 I% t1 t
cd /system/lib/hw
: h3 f3 G) {3 z- Wmv bluetooth.default.so bluetooth.default.so_ORG
1 @" ], S2 d! ^4 k) r' \(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)* ^$ W& f+ J# B" a
reboot
9 T' D7 @$ @6 ], e2 l
/ W6 R8 ^; U5 y* ELinux OS 环境
; s& g1 R1 v1 {0 S 将 tool 所需文件放到系统里& ]( o4 }% C9 O, |* E8 e5 U
cp rtlbtmp /usr/sbin/+ c8 r/ F, G2 s) X
chmod 777 /usr/sbin/rtlbtmp
& A- Y' _' I% r7 Fcp mp_rtlxxxx_config /lib/firmware/ e7 f- d( j0 x6 W( e5 {( ^
chmod 644 /lib/firmware/mp_rtlxxxx_config
. s! g. u8 ~, G2 Zcp mp_rtlxxxx_fw /lib/firmware/
6 W9 P$ \* o3 k: N& Lchmod 644 /lib/firmware/mp_rtlxxxx_fw
" K7 g9 M2 n6 x) d UART 接口芯片准备
3 `+ ?9 T5 L y% s9 v请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;1 n6 q9 H- a' Q0 d2 O
USB 接口芯片准备) N( M- G3 }* `/ D! I& P
先打开 normal 蓝牙,再 hciconfig hci0 up9 J7 Q2 p& _ X8 _
6 D6 v; M& `* p! E" b6 @) d7 p) H/ i9 o
3.BT RF Performance Test & TX Power Calibration
# X7 R, J7 E$ k* B/ T参考User Guide
( h" n* G) `5 `6 |#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide$ i8 o' C; n+ U6 ~% ~
' s! g" ?9 i L P% W1 V, d& C: J- B
一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!5 z' m) \! G! U$ g* K+ x
5 D$ V1 l. C1 o* i# d- j& C" n3 c% \6 _# C; Y
|
|