|
|
1.文件说明6 {$ a; o7 i( P7 n
Android OS系统
4 C- J7 i! a [- q- l 文件说明:+ y$ `$ C3 r$ Q9 g
Android_tool/rtlbtmp: 应用程序# R, f+ f1 @0 _/ h
Android_tool/btmp.default.so: 应用程序, B+ l4 E$ O4 D& g" d% U$ j
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
6 j* R* @8 p A1 z: M BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config $ }' `/ }: p p* j
Readme/Readmexxxx.txt: 本说明文档
. H7 y: q: f5 M2 Z. l6 H5 q( o0 h User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集
% W" a1 I: ]) G" v/ ] : A/ {3 z, `7 j( d, m1 P2 z; n
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
# w) k1 h8 F( r, J0 [' E5 O ---------------------------------------------------------------------------------1 w1 {# ~$ ^5 \) Y' r) M
| 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |$ p+ _; G; t1 A. G# x4 b
|---------------------------------------------------------------------------------|
# K ]7 W4 ]4 K% Z- _9 @ | RTL8703AS | rtl8703as_config | mp_rtl8703as_config |+ W, d! q. X% b
| RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |
. G2 F1 ]- Y4 p8 ?, p S | RTL8723AS | rtl8723as_config | mp_rtl8723as_config |
# C2 m0 \/ ~. p | RTL8723A | rtl8723a_config | mp_rtl8723a_config |7 u9 P! S2 e7 a9 j% W- U% H2 E1 S
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |% V* S: z+ Q3 R7 x5 v4 H: F$ F4 ~1 P
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
) V9 L9 w# X9 Z8 w* D1 K | RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |
+ k" ~( u: T$ D) p# G | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |( |. M, n! E7 u+ C: N
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |9 T% e/ S2 V: e+ l$ F. t
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
a4 w- `0 U: B4 n6 B6 ^ | RTL8723CU | rtl8723c_config | mp_rtl8723c_config |
, T" j1 D4 {+ ~) [6 ^; J( _. x | RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |( R( I u x" E4 v2 J* i: o& \
| RTL8723DE | rtl8723d_config | mp_rtl8723d_config |
; |9 n! {/ `0 u9 G | RTL8723DU | rtl8723d_config | mp_rtl8723d_config |2 ^, P1 }5 M) K+ q
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
- v# ^3 g& K) ]& j# M2 ^0 i | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |, n$ K [/ \9 h' J& c, T7 y
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
% A5 N7 }. I6 Z8 R) l# ? | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |3 O4 ]! N$ A; j
| RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |1 m7 n* z2 r' V$ g( h' Z* S
| RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |
# X7 E; s' e3 `/ |/ T) a3 r. v | RTL8821AS | rtl8821as_config | mp_rtl8821as_config |
/ f# J7 B' G) B, T | RTL8821AE | rtl8821a_config | mp_rtl8821a_config |4 @1 l3 q! ]8 z: w f- E/ H
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |
4 K- a% }7 p2 a) E | RTL8821CE | rtl8821c_config | mp_rtl8821c_config |
& N, }, \; @% b) b3 ~& a | RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |: B/ C! T) E0 U
| RTL8821CU | rtl8821c_config | mp_rtl8821c_config |
" X8 G' q4 q2 J' D- o | RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |
/ A- Z/ A8 ? h+ N8 \$ o5 J/ ~ | RTL8822BE | rtl8822b_config | mp_rtl8822b_config |
0 v) ~& M) i# J6 m& E4 @ | RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |
4 t; @# H4 L; h6 I/ t: j | RTL8822BU | rtl8822b_config | mp_rtl8822b_config |* R8 w5 a+ M. s. J1 J# \
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |
: `# H+ K7 T7 E: h | RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |$ h$ J, e; t: K8 N
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |* M9 S6 d' Y/ } M. t
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |/ [! w( E! F. T- T
---------------------------------------------------------------------------------
$ j( V# e. w/ d4 s; nLinux OS 系统9 |4 v. v6 |7 ?1 ~0 e
文件说明:* P _# c; j q7 P4 R0 y& `
Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成
- t6 ~+ }, u7 J, ~* r- V BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware0 N N4 A/ e) x/ X& ^: ]
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
/ q. v! D I) K" r! u Readme/Readmexxxx.txt: 本说明文档
+ r) Q* y7 S, D User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集
. I F$ r3 I i! L7 P 下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
9 C8 F4 z7 C4 r7 \+ m, c: E -----------------------------------------------------------------------------------# H4 H0 G _9 G6 D3 B* y4 L+ X
| 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
& C5 O2 Y2 T, \1 u3 j7 r. L |----------------------------------------------------------------------------------|
: b3 J2 |$ }5 z" U) t- l: F% r | RTL8703AS | rtl8703a_config | mp_rtl8703as_config |! @& U0 J% d/ e8 r7 v4 r
| RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |$ p5 Z- G. K* z
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
0 y/ Y9 p" z( | Q | RTL8723AS | rtl8723a_config | mp_rtl8723as_config |4 _8 T" C! R! }8 v- N3 @& T0 ^
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
. |: h- e5 Q4 e; C# a0 Q0 F | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
+ L, n6 m4 y2 _3 O% b' B* y) g6 l) C. g | RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |
' L% S/ q7 a7 E+ A# `( h' G | RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |+ E7 y0 G3 v/ N0 W
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
1 ^+ _5 l, K* j- D | RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |
2 {- U% [, {" O. a* } | RTL8723DU | rtl8723du_config | mp_rtl8723d_config |% C0 e3 ]. ^8 r' U
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
" A$ r, {4 V' a6 g- X: h. R0 I | RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |" A- Y8 h6 L0 H2 Q8 e/ y
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |* v' w5 Y1 z; E- }& O
| RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |/ K& I: ^" U0 w: }# {5 l8 _
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
+ w+ H6 J% ~) e$ Y8 O5 X7 E, A+ {$ T' b | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |" D) |, q+ n: r# b$ e6 r
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
+ {' J1 }$ l A1 V5 H' r' w | RTL8821AS | rtl8821a_config | mp_rtl8821a_config |
$ A7 m @- c5 A* s- e | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |+ L& {8 l& F' T+ |# e
| RTL8821CS | rtl8821c_config | mp_rtl8821c_config |
: {0 N" p4 A, Q8 ~4 {4 X | RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |
; o% [3 ~1 x; G7 w | RTL8822BS | rtl8822b_config | mp_rtl8822b_config |
4 I+ C! h7 R9 A" K | RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |, c. K' D) J2 o' Z, O* k
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |9 e, \- Q9 O& s& c/ D' W) {
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |9 U! R, p t' ?5 r, u& Q# t
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |. S2 Z4 k2 k8 j. U, T9 ~1 q: q6 a
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |$ v- | x6 r1 ]0 T- y& l. X4 Q
-----------------------------------------------------------------------------------" T' M U P" v
9 O) L/ Q7 [; T: ~7 K% T
2.运行环境搭建
9 j8 P; U2 f; C9 A1 j4 S- jAndroid OS 环境
# ^/ f# Y$ ]+ g! F. o' h将 tool 所需文件放到系统里+ Z8 c; @+ X; m5 m" p
将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;$ o8 e6 Z! C2 ?0 k5 E
adb push rtlbtmp /system/bin/
2 A6 v" N" w$ n+ y _adb chmod 777 /system/bin/rtlbtmp
+ [; D. e0 W r, K. h将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;; W9 I+ b% U0 I6 z% ?2 O% M" L: [
adb push btmp.default.so /system/lib/hw/9 p2 ]/ ~0 k4 N5 N: `7 y% ?* h9 |
adb chmod 644 /system/lib/hw/btmp.default.so
) h& E5 S; |$ B) }3 S5 B将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;+ m! L+ P: K8 P
adb push mp_rtlxxxx_config /system/etc/firmware/4 [: v0 U5 |5 J: E4 g
adb chmod 644 /system/etc/firmware/mp_rtlxxxx_config
3 m, i5 ^' a" C: Q, ^, |! E# Y9 b将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;4 [0 [ z @. L- G3 s( q3 y
adb push mp_rtlxxxx_fw /system/etc/firmware/
1 a3 D" q* e4 U. m* c8 m, Z, tadb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw
\& q) N8 }/ s) a3 A: J5 z9 L) T w4 A1 Y- o! N9 d
1 A2 k4 l- @+ i0 u0 Y' r#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面
8 [. h# U( I. X$ u$ r+ B将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;; v$ K1 L3 u8 M
cp rtlbtmp /vendor/bin/
1 f X$ t% s- }4 Schmod 777 /vendor/bin/rtlbtmp. M6 v6 H% q7 U( X* A; {. _
将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;! S8 H7 |3 U' m4 B" ^
cp btmp.default.so /vendor/lib/hw/
: R" n, |* X+ ^chmod 644 /vendor/lib/hw/btmp.default.so! p# Q/ d5 H, h% Y% c
将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;3 Y4 }9 V$ \. p
cp mp_rtlxxxx_config /vendor/firmware/# m4 \( e: f% Y5 F0 V3 _
chmod 644 /system/vendor/firmware/mp_rtlxxxx_config: `. v* V( Z) T3 h
将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;
4 Z% s! _7 r; t% d$ M/ hcp mp_rtlxxxx_fw /vendor/firmware/
# R; K# F0 w% I* u2 ychmod 644 /vendor/firmware/mp_rtlxxxx_fw
. _( Q; V+ h# h以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;+ H' v' @) K- `, m3 F5 Y
关闭 normal BT3 p/ [% p$ ~8 p; g/ ~# A
rtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:
$ Y: M! t% L5 Qservice call bluetooth_manager 8(关) /6(开)
( s4 D$ D& b4 B# C* J4 E _- B; A或者
" \3 R5 p1 H+ O+ i& T3 D# e1 Qcd /system/lib/hw
8 U8 G+ v- H B! Q. ]0 tmv bluetooth.default.so bluetooth.default.so_ORG( k9 a$ e6 t* k! `4 K. @/ u
(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)
5 N1 V* [5 R( z! }reboot
5 U* q& S, z% @. ^# ^/ r/ w% B
Linux OS 环境
. C! G9 s9 h4 |- k 将 tool 所需文件放到系统里& G2 c T d* \! o; W9 X
cp rtlbtmp /usr/sbin/
j+ i _) H3 X" Wchmod 777 /usr/sbin/rtlbtmp" X; K; i8 ?0 k5 B- |5 k V
cp mp_rtlxxxx_config /lib/firmware/5 l5 t# H: O, z8 h! F4 g) z0 @
chmod 644 /lib/firmware/mp_rtlxxxx_config
- L* t! _( }& A0 g; Xcp mp_rtlxxxx_fw /lib/firmware/
' b" z& O+ ]+ S" r& m1 s$ Ichmod 644 /lib/firmware/mp_rtlxxxx_fw: a/ x/ z! }; P/ m+ J% E6 q% X
UART 接口芯片准备
7 \- ]8 B \$ E& @1 v/ ~1 D4 x. o" B请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;, z" z5 v& M7 W) N8 y
USB 接口芯片准备
1 M- O1 `( J# g# m先打开 normal 蓝牙,再 hciconfig hci0 up" s& D7 R F; g7 j/ C9 f
: W& L# W# [- } Y/ w# ^# R+ j$ P0 M' Q8 i& a
3.BT RF Performance Test & TX Power Calibration% g4 {% D) [9 C8 L& e( }
参考User Guide
4 {) Y! V/ v' N* P* Z4 p#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide# W' `; ^7 k1 ?% L" b; w; v
R/ |0 A6 W+ u6 D q; v% t" K8 Y% H8 ]. H4 I0 c
一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!5 y V8 W4 T* q) S
. n7 `6 |. ~8 V! ]0 V4 p* o6 {# ?# F: p; c" ^& d
|
|