|
1.文件说明
% j4 f6 W3 [. ]9 Y' L1 X8 o; I4 fAndroid OS系统
: J/ g. L, l, R, N2 @9 i4 ]" ~ 文件说明:
7 _$ F5 R6 x) x2 e, | Android_tool/rtlbtmp: 应用程序
8 M& r, g$ h( l( D* q Android_tool/btmp.default.so: 应用程序( P* o9 D. h, n4 o4 r
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware, L; e; E1 z: ^4 @" w- E
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
" [6 c7 z% X& m6 w9 U1 [ Readme/Readmexxxx.txt: 本说明文档
8 y0 W* r M! \' x" o User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集% d$ r4 {* l. S& R' f4 ~
% G2 u3 i3 Z4 n6 V; `+ h+ w; |+ r
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
1 Z5 }( E u: e; C) I ---------------------------------------------------------------------------------
- v: {: U7 ~/ t+ {1 I" {% X | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |/ B' c. @" M& g" p) o. q+ g; `; |
|---------------------------------------------------------------------------------|
: L c# W) r: A) E+ X7 h | RTL8703AS | rtl8703as_config | mp_rtl8703as_config |
2 O" z; E3 ]. A( A) X2 l | RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |
4 c: H) m% q0 m- F& I | RTL8723AS | rtl8723as_config | mp_rtl8723as_config |; I5 z7 @; M0 i. ?; e7 n
| RTL8723A | rtl8723a_config | mp_rtl8723a_config |# }$ T" W: u/ G( g: `( U
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |' ~) |% e- y w
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |) z4 W# L( ]6 h$ i7 u: Z, M E
| RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |% \2 \% v6 J3 J8 }5 I
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |: _6 \. T9 s1 f) F) `4 @
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
, t7 C. X2 o8 S# a" D. [2 j) P2 H | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |1 s5 k5 `; O4 B V* T; X7 w$ f) A
| RTL8723CU | rtl8723c_config | mp_rtl8723c_config |
2 J' B8 t! m, J0 k* Q$ V. } | RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |# e" z8 u5 X U3 {1 a7 i: `
| RTL8723DE | rtl8723d_config | mp_rtl8723d_config |
0 C& e$ `* Z5 ^* K | RTL8723DU | rtl8723d_config | mp_rtl8723d_config |
8 i, q+ ^7 _( Q$ a- T+ O | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
+ b$ a2 c( i( s | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
1 c1 O \; F, y1 \ | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |* b1 h" S+ ^* j& `/ O) B/ ~
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |
' l* v( z1 d9 O" I% \/ p | RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |
; P) P5 Y) f6 p( _ | RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |
! X9 I( c# f* s2 Q7 V4 j! b | RTL8821AS | rtl8821as_config | mp_rtl8821as_config |
) P1 d( a4 E: ` | RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
" j- D5 t; B0 V0 `( U. U2 q' D | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |
3 Z2 T0 `; R) y/ L; H$ i | RTL8821CE | rtl8821c_config | mp_rtl8821c_config |- v; A- S1 n3 a$ _$ u5 S
| RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |2 m, d3 h; ?5 b5 S3 a- j! {
| RTL8821CU | rtl8821c_config | mp_rtl8821c_config |
; O3 i3 y* t8 k | RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |
8 s9 }! o! y8 E6 U' f+ B | RTL8822BE | rtl8822b_config | mp_rtl8822b_config |
! M/ B& i# ]( F8 G | RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |
8 x5 R/ C" z% o | RTL8822BU | rtl8822b_config | mp_rtl8822b_config |' d3 W1 c6 Q V
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |
* @6 Z: [4 e$ x. q4 n5 Y | RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
* X( [. S0 m \ X) Y, `3 T | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
. \- \; F& f3 S# }3 J8 ~ | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |
* p" \' g& f% U ---------------------------------------------------------------------------------
: t& S2 c8 v( K: ~5 E8 RLinux OS 系统" R, L8 ~/ W) \# r( Z
文件说明:6 P" G) D) l3 A8 O
Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成
; t/ g' Q" K9 w, q, Y% F& x BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware. g' I4 L% x. c3 _( V/ n5 Q6 V
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config 2 b x" ` t/ n1 p
Readme/Readmexxxx.txt: 本说明文档+ |1 g3 s# _7 ]$ K9 x6 U
User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集
: Z/ [+ Y# o i$ }/ W( j. x 下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
( U: R# Z: U- U% q" N+ r -----------------------------------------------------------------------------------
" |" N, ]9 S' M# o" N' w" _( G2 p2 }9 R | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
4 K0 @& M6 J$ t, `! S |----------------------------------------------------------------------------------|) e# A$ k( Y% j8 E. o
| RTL8703AS | rtl8703a_config | mp_rtl8703as_config |; S4 d7 U t( Z" w! @
| RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |# |* M0 N3 G6 H4 c' i$ w
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
) F, P) m2 o6 F1 M8 r | RTL8723AS | rtl8723a_config | mp_rtl8723as_config |" a4 t0 p2 m5 J
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |$ \) ~' t3 {3 N5 H$ x: R2 F. t0 ?
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |* J c! Z0 Q: P" h( T `
| RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |+ _ z# W1 v5 l, b1 @% I: j
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
- O3 B/ h. G) U. s& G | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
; Q; B$ W' S \ | RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |
5 i: M5 b- V2 Q3 D& a | RTL8723DU | rtl8723du_config | mp_rtl8723d_config |
: c5 |, q! b& u4 O' e; c* E- m- c | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |; K7 E% U1 W0 r7 d4 ^, ~; V' R; d
| RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |
: D2 N" O; s2 v3 D: F* l | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
, b: e _; m: p; m | RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |) J9 `% O' S& ]2 {
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |( s/ h% ?& h7 l. k
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |( P. Z* k6 ?% h, T2 X; ?
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |1 y9 G. x( B! d' U7 [
| RTL8821AS | rtl8821a_config | mp_rtl8821a_config |* l7 r% q" k S
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |
5 X6 e, ~0 f5 b! O2 ?' Z# u | RTL8821CS | rtl8821c_config | mp_rtl8821c_config |) `/ i7 X6 T: ?8 N$ \
| RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |1 [ c1 o, G7 ^2 _' \( W1 X- U
| RTL8822BS | rtl8822b_config | mp_rtl8822b_config |
) M: J0 t, F# Y- e, K1 f* j | RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |
. A D3 Y- m9 S e | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |& E/ e& [2 I4 f3 E3 \
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
' e; f' k. B* J. D3 ?7 M, } | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |9 u# g. h* }% f: Z% y! v& O+ I9 D
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |6 [! k* B: e: X4 Z5 P
-----------------------------------------------------------------------------------
) s: l4 P. c) d; [8 n% V; d4 j% ?" ?1 J
" }/ z3 X4 b1 o) K X2.运行环境搭建& X7 _6 c# [) D( }1 ?
Android OS 环境
7 E. c: Z' Q; Z) p将 tool 所需文件放到系统里
# B+ r- h& ~: C8 p将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;* U* e" N4 U5 ]4 ?& R2 _% F
adb push rtlbtmp /system/bin/
! h0 ~5 D" h9 Kadb chmod 777 /system/bin/rtlbtmp# U& b) w+ |& r) h) y0 s
将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;+ n4 W* Q1 B; j
adb push btmp.default.so /system/lib/hw/
7 }1 \5 c7 T/ g% _# L+ uadb chmod 644 /system/lib/hw/btmp.default.so2 z/ C# ~/ }0 p: J! a# S( a
将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;
3 O( ]3 ~* h" Y! \ ]- A# padb push mp_rtlxxxx_config /system/etc/firmware/! K9 v: u8 Z! l7 U
adb chmod 644 /system/etc/firmware/mp_rtlxxxx_config3 K `0 ~- f1 l! D
将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;3 Y$ T* N9 O, @4 l5 ^
adb push mp_rtlxxxx_fw /system/etc/firmware/
) d. M3 U5 C+ U8 W' Gadb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw6 h1 Q4 x; z. ?- X4 p3 t
: h8 w# w- z) M0 n
* @' y) {4 p# ` j: u; T#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面5 W7 W [6 a7 W" P5 A
将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;8 r* B2 H M9 K5 B
cp rtlbtmp /vendor/bin/
) I/ T0 j: B5 U0 _5 p4 Zchmod 777 /vendor/bin/rtlbtmp
7 b( L- i) x( R/ e1 J# i% m将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;1 B8 I( k$ D. S3 d+ X
cp btmp.default.so /vendor/lib/hw/
, }( Y2 M i* o# _) zchmod 644 /vendor/lib/hw/btmp.default.so% c( I! L9 y* N- }
将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;
$ n$ K4 Q$ d+ tcp mp_rtlxxxx_config /vendor/firmware/
4 l; `. C: ~- H+ |) D# w* x& \chmod 644 /system/vendor/firmware/mp_rtlxxxx_config
+ l3 \+ Q y1 C2 T+ h将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;
x. |, e7 y7 V0 u9 Z$ }' l/ V. K! _cp mp_rtlxxxx_fw /vendor/firmware/1 X8 e. Y/ { G* Y
chmod 644 /vendor/firmware/mp_rtlxxxx_fw
0 T: G! ~; n# t2 v; a以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;8 w% M- M8 i/ R
关闭 normal BT; z) \2 j' K1 R7 L! t: g" O
rtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:
6 y! Z) p; d- P/ P$ O/ g+ @service call bluetooth_manager 8(关) /6(开)
6 \3 z( \+ G) I/ f3 ~9 H# w或者
; F- g; O: l- Y/ ?% i( G; a6 ecd /system/lib/hw
$ `1 g# @! [9 K# ]2 u5 o) Omv bluetooth.default.so bluetooth.default.so_ORG9 q8 |& I9 e9 R2 H4 p# I; K& O1 Z, d
(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)2 C- x7 ]6 }, Z, U A; U
reboot$ k/ K+ ?, [0 V8 |) h
1 ^% h9 T/ p8 u, T( ^
Linux OS 环境0 y$ K- e+ C# i" E, P$ S5 Y( t
将 tool 所需文件放到系统里& Q: s9 L$ d2 w. v4 D
cp rtlbtmp /usr/sbin/; y; x; b5 p Q! T9 e- B* [0 D9 F
chmod 777 /usr/sbin/rtlbtmp
2 K* ~1 h6 }) j: dcp mp_rtlxxxx_config /lib/firmware/
' D/ Y9 E; j! `2 `) L1 ?6 _chmod 644 /lib/firmware/mp_rtlxxxx_config
) R" U1 e( I2 K7 Ycp mp_rtlxxxx_fw /lib/firmware// p8 L5 n+ V% z! h9 O0 y8 ^
chmod 644 /lib/firmware/mp_rtlxxxx_fw# U: l) b1 h" L$ U
UART 接口芯片准备
5 \1 X2 q# f1 M; R请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;
" O# v& H5 H c$ Q USB 接口芯片准备. _/ h" K" z4 B/ P0 X+ J
先打开 normal 蓝牙,再 hciconfig hci0 up9 K7 i4 K6 O" G+ l- I. B0 C
?/ _5 j1 h& V! I4 z
% E9 |& D% S T8 v3 {- ]/ [$ b3.BT RF Performance Test & TX Power Calibration( J _: K; v9 {1 z$ y9 v" \5 g
参考User Guide
- W2 X! L2 g$ J3 |#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide% r6 w. ^) G8 `# N( m& _- d) T1 _
}$ s8 l; A% e0 M- e9 Y
/ |6 [2 D) P( Z) B5 X* I8 G一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!. Z7 J* w0 I) \8 w- i/ Y/ c
* r( C1 K* [5 J4 {2 T# N1 _5 ]3 m( {* y/ K* U# p8 z: \
|
|