|
|
1.文件说明; H" L6 T/ H3 T, m
Android OS系统
6 X5 B0 l+ Q% E3 ?3 T 文件说明:
( b* S# i/ U Z$ v- M/ K% I Android_tool/rtlbtmp: 应用程序
* f8 b' G- T: ?4 W! |/ J/ h Android_tool/btmp.default.so: 应用程序
0 Y, I8 P/ m! q' `) T BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
/ \, t4 Z( c z2 J6 e BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
/ D( A [2 \% m$ V Readme/Readmexxxx.txt: 本说明文档6 `" O; }6 `# v8 V$ o) C% h
User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集
# P9 ^: w, G& O" W7 M1 q2 N: b1 n F1 Y
+ x# }; }! M8 Y 下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:; j# k* p) c; I& P
---------------------------------------------------------------------------------! n6 z; ]! ~6 v
| 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
9 ?2 j9 s" Y. B3 {- x" v3 v |---------------------------------------------------------------------------------|
2 w+ J; \4 y$ A& W' ] | RTL8703AS | rtl8703as_config | mp_rtl8703as_config |$ V) j9 i# U8 U, b: |- Y4 N3 t
| RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |
; O2 v$ p: @3 j. T# T | RTL8723AS | rtl8723as_config | mp_rtl8723as_config |
' ?5 s( f% K) l2 j1 t! `5 } | RTL8723A | rtl8723a_config | mp_rtl8723a_config |$ J7 ?1 m# L0 u, d, |: N
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
& o3 \8 B# ]! T; E | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
5 w- C7 W! W! O. G" x | RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |" M5 N; }7 ^& }
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
. i" p* r0 L) I. R | RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |( X9 i+ E4 k- s2 V5 Q2 C' Q7 u+ N
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
3 J& H0 Z# H- C& Q0 Y; | | RTL8723CU | rtl8723c_config | mp_rtl8723c_config |" b/ z6 H" }; u' R' w; L X7 [- ^
| RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |. w- D+ B7 M: g
| RTL8723DE | rtl8723d_config | mp_rtl8723d_config |+ l' n" G+ e+ }! \7 O$ K$ E
| RTL8723DU | rtl8723d_config | mp_rtl8723d_config |# [) v9 Y" l' H; A
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |$ ^' `# Z# `3 ?5 I
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |+ b x u7 Y7 X$ z/ P2 U9 n5 m
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |5 _( v, h- F& B
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |, N0 L+ K' m8 n7 K ?
| RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |
! M2 f- l8 B) \. x, S8 n2 Z3 T | RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |
G7 j+ {8 U; V7 v6 [; m' A/ P1 C | RTL8821AS | rtl8821as_config | mp_rtl8821as_config |- q% R- V% p: G0 T" G+ J1 C
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
' u8 t+ y; f- F/ [) B | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |
s. j1 _3 Q2 N2 D3 N; @) }) z | RTL8821CE | rtl8821c_config | mp_rtl8821c_config |
2 P; \2 s, A$ N' L* N/ k' X- t | RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |% B6 A5 V; ~" r( ~
| RTL8821CU | rtl8821c_config | mp_rtl8821c_config |) s v$ r- _! }( h
| RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |
8 d# e9 o' N+ F. r" V | RTL8822BE | rtl8822b_config | mp_rtl8822b_config |9 g; t+ H4 U, w' X
| RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |8 h4 [& y" C( Y# ^
| RTL8822BU | rtl8822b_config | mp_rtl8822b_config |4 H0 |0 `* i m+ }# F
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |
2 E9 X" B$ @+ d- x1 W6 \2 O: ~8 C: \0 C | RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |8 z8 w6 W( R/ T6 f
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |. \- ~) S+ t1 W: x6 Y: |
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |
7 o0 c+ H- w0 [ ---------------------------------------------------------------------------------! t8 m; @& q. F" Q: ~
Linux OS 系统
) P' a8 I3 ^9 v: H# t 文件说明:
/ M# i$ z3 W& g3 W4 |; D) @ Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成* f4 W' V6 G) j9 ? k9 ^% I3 Z
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
/ _ A& r0 ]( h" O4 B" a/ ] BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
; K$ p2 W$ r" n4 l7 [3 L Readme/Readmexxxx.txt: 本说明文档( |* O* ? U, o7 o0 X1 u# \1 k
User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集9 e2 t/ n a6 c
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:0 s3 Q* f1 K) ]% \. G- @# G
-----------------------------------------------------------------------------------5 s8 ^0 T) `& k& W9 U
| 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
7 B3 e5 M( t/ z- h4 q |----------------------------------------------------------------------------------|4 D( u3 l2 Q* p+ m( C
| RTL8703AS | rtl8703a_config | mp_rtl8703as_config |
+ f% _. A3 L- a- B9 [* y. H | RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |4 a6 l( Q4 w$ O x) [
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
\/ ]7 {7 S: z | RTL8723AS | rtl8723a_config | mp_rtl8723as_config |" q$ Y( F; ~! _1 S/ |; v
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |+ X* a- F8 I9 I8 T
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
! Q! v9 b* z" P4 U; d9 c& i' c | RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |$ o/ {2 t8 ]" ?( `/ t) o
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |# S. g- e( u$ P2 q9 i. n% H
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
/ q; e- t3 ?! n9 N! d4 P3 K5 u& z4 R | RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |. I7 [9 [* W1 h- @ |2 I
| RTL8723DU | rtl8723du_config | mp_rtl8723d_config |- i; t+ U, ]0 n! O1 T& ]
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |) \3 g c9 }" C: n6 ]/ T @6 ~/ y
| RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |8 i: m8 A4 `2 O# j
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |" l! b6 I0 |+ k5 S
| RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |. {- M: o- W4 B4 H& t9 |! k7 O
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |! o3 y; W% ?2 `' F( a1 Y7 c
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |% ^/ e; \# L1 _ l5 j
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |5 F7 N7 ^: K# S* b% }* _; H
| RTL8821AS | rtl8821a_config | mp_rtl8821a_config |2 y: u' |0 B+ o8 {8 n# U+ \& j: H/ L R
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |" \0 k7 _) m+ K4 s+ j9 I1 c' o8 T
| RTL8821CS | rtl8821c_config | mp_rtl8821c_config |
1 U$ y, U' O. ~+ B | RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |
: J4 F9 p+ ~) f: _- S$ k+ `/ O | RTL8822BS | rtl8822b_config | mp_rtl8822b_config |9 j* b; p$ m# T- [! D
| RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |) P# N6 t% |, p# O `# p
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |+ I7 q$ }# p \) l1 b9 w# L
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
% ` w( t% B7 l | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
u0 R4 B1 z$ p0 c, j! W& ~$ V4 x | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |
# o( S4 [& i2 W3 j7 y8 K7 d -----------------------------------------------------------------------------------* \# x; R5 d9 ~+ O: p8 |
# N- t( [7 n" t4 W6 v, b5 H" \
2.运行环境搭建+ z9 J& t4 {( y8 s T4 y
Android OS 环境
2 s, e2 W' J6 t: l将 tool 所需文件放到系统里) T7 i$ R& H: O
将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;9 r) O' b; Z4 H# o0 P
adb push rtlbtmp /system/bin/; Q h! {4 n# [! n9 C
adb chmod 777 /system/bin/rtlbtmp$ g3 w$ E/ B2 p! z( b F1 E% c
将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;
1 m2 E- S$ M9 ^adb push btmp.default.so /system/lib/hw/
( E4 K5 {7 C1 W1 Z0 B( [adb chmod 644 /system/lib/hw/btmp.default.so
2 g! C1 L: y3 z5 Q# A9 A将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;
1 o; V6 n+ k/ H% Z+ u5 m$ iadb push mp_rtlxxxx_config /system/etc/firmware/* h0 l) ]6 R7 j% l% Z& S
adb chmod 644 /system/etc/firmware/mp_rtlxxxx_config
' K ?" ~1 n( F- e2 X, d将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;" o# E* f. W$ z* ^" x9 c+ t# ]
adb push mp_rtlxxxx_fw /system/etc/firmware/
+ i' |3 o* }3 ` | Padb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw0 j! y$ j0 w2 T1 |. |
" p# a4 {& h" y/ X; v( {0 h! ^" Z7 a0 x4 R$ Z4 E
#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面# w+ z" `2 P# ]: N N
将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;
1 I4 d( i( y' v) C: ]cp rtlbtmp /vendor/bin/
' Y/ d D8 p6 s7 o% M: x, ochmod 777 /vendor/bin/rtlbtmp- p+ k8 }& l( x
将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;$ X$ r& y. {' w. g
cp btmp.default.so /vendor/lib/hw/
8 F( ?/ L9 k% y: zchmod 644 /vendor/lib/hw/btmp.default.so, P* a; b: a& `0 E+ u' W
将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;
4 l! P$ o# G8 D: X& h( `: tcp mp_rtlxxxx_config /vendor/firmware/. W; l' h# X. E+ R& m5 R# s
chmod 644 /system/vendor/firmware/mp_rtlxxxx_config# F6 c2 N9 V/ e4 ?. \! v
将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;
+ Q& O: J" R( l* q c$ C" Xcp mp_rtlxxxx_fw /vendor/firmware/5 a. Q. _2 H: d0 `5 u# ?
chmod 644 /vendor/firmware/mp_rtlxxxx_fw
' [, _8 V/ S1 h2 O# e以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;/ L! I' |& Z& f# C9 n- R9 S
关闭 normal BT
; _$ h4 p1 X4 X% q Qrtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:
( X% T: c% m: a _ J9 ` O, |, Iservice call bluetooth_manager 8(关) /6(开)
6 W. }4 s J' f% U3 J: d& e或者
( R1 l6 [& H: h; Pcd /system/lib/hw
r, o/ o- k O, n( o" Lmv bluetooth.default.so bluetooth.default.so_ORG
0 J5 n2 t: e: f8 F6 f3 {(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)
2 {: @8 b8 x: h3 kreboot
4 k& R7 {2 \4 K8 R( u1 M4 O
0 D: V% h; j$ \& o: tLinux OS 环境
7 S: ^$ z7 s* E 将 tool 所需文件放到系统里% a3 M4 C8 p1 i, @( h& Q. I
cp rtlbtmp /usr/sbin/
+ \- `2 F$ G/ w0 v/ @3 ochmod 777 /usr/sbin/rtlbtmp
# Z* }* C7 h8 [/ ]: ccp mp_rtlxxxx_config /lib/firmware/
* k/ |+ O- a `0 A1 zchmod 644 /lib/firmware/mp_rtlxxxx_config
$ W a: `- k9 e& J: h3 F; ncp mp_rtlxxxx_fw /lib/firmware/) ?) c p+ q A& S/ f
chmod 644 /lib/firmware/mp_rtlxxxx_fw7 z( |/ u% _2 J7 c( |! G ?5 i
UART 接口芯片准备
& J) n! O" O( m6 g" q, J5 a3 e请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;
8 T& y# \4 m" K# z4 o; Y- |: u$ j USB 接口芯片准备9 e! }( V& z& Q! i K" T- ?0 a
先打开 normal 蓝牙,再 hciconfig hci0 up
) K1 x T( Q/ g1 ?1 c; R% L
. G, b7 c0 y- K5 o. @8 `3 s! f# V8 ^
5 _0 J; M5 H+ y- P3.BT RF Performance Test & TX Power Calibration
4 F- ^2 e" A1 A参考User Guide+ Z/ L" e7 V9 V8 ]7 {" x
#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide5 G$ q g8 p0 u6 o
+ \0 _" l+ g, n; o" u7 e! u! j; w( S: D% ^1 J$ Q
一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!
9 t! Z; u$ V2 _" r$ |$ H) }
7 O5 `! X6 Q/ H( X% j- W! e" `9 @* z2 i5 B
|
|