|
|
1.文件说明
% H9 X8 y$ ~- ^$ ]Android OS系统
3 o( K0 j* Y0 U 文件说明:
$ d# O' x' o {: ] Android_tool/rtlbtmp: 应用程序5 F- b0 A9 a9 R3 W8 Z5 _7 Z
Android_tool/btmp.default.so: 应用程序
8 i7 S4 h3 U$ _8 C9 A/ u$ [. F BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
7 w3 @0 T% q0 o2 S! W2 q BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
4 g8 ]4 c/ {0 E; K/ k9 i: t Readme/Readmexxxx.txt: 本说明文档" _5 Y. r2 N, `. E# w) Y
User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集
& J' B( X. R2 J8 @) c & P$ x# y; y$ q* c4 N* G/ @
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
4 P: r7 s$ h) S& Y6 E+ h3 B ---------------------------------------------------------------------------------9 S' z$ b! ~: j: ^- q! U! q: a
| 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |6 P1 ? {. z: A ]5 k
|---------------------------------------------------------------------------------|7 q. V) a$ C) e$ o% \
| RTL8703AS | rtl8703as_config | mp_rtl8703as_config |! W I3 B# i3 N. L" C* A' k
| RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |
3 g: _6 o- I) s8 n! W | RTL8723AS | rtl8723as_config | mp_rtl8723as_config |% b4 I9 ~! W/ o- q$ `
| RTL8723A | rtl8723a_config | mp_rtl8723a_config |
0 R5 k4 y7 r# j I9 W0 \ | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
! B7 P: V. U8 s1 ?- P+ P# r1 c | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |$ m( y' Q4 y; v! ^( }1 `
| RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |: V8 j, ~$ C0 J& G/ Y8 D
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |/ T. X# K( x* ?5 s' l: V$ n
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |; j! d. R! T H( i, C: ^
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |% b6 R! P- B- I |0 x' M6 f
| RTL8723CU | rtl8723c_config | mp_rtl8723c_config |" c% Z) R; C% _8 a0 I1 U
| RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |
5 w5 V" r1 c1 j6 a4 B+ d | RTL8723DE | rtl8723d_config | mp_rtl8723d_config |
! X! e0 O9 M! [* E, J1 F | RTL8723DU | rtl8723d_config | mp_rtl8723d_config |; H$ {) f3 j9 P9 i r: o- ~
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |7 I: D2 q* e4 k; |: e% ]5 B
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |- Y, j# r, |, i8 e8 ? U
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
, I9 ]6 G! h! Y2 b5 m | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |* |5 ?7 `: s+ d* V
| RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |
; c; ?/ z) o6 P% Q- k# ` | RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |. _) C4 |2 U G3 s
| RTL8821AS | rtl8821as_config | mp_rtl8821as_config |* l& T2 B: r3 Z6 w* Z6 j& X
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
$ U- C7 t/ g/ e9 K M5 y | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |0 H0 W: t( ] M& V3 U% U
| RTL8821CE | rtl8821c_config | mp_rtl8821c_config |% m4 G8 y& S) J
| RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |6 R ]; ^" C- H# R# {# E
| RTL8821CU | rtl8821c_config | mp_rtl8821c_config |
* Q0 k; A2 \6 u# l8 L s2 X | RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |) g; i: X, ^3 G! M/ e
| RTL8822BE | rtl8822b_config | mp_rtl8822b_config |6 E9 D: N8 H5 l, u9 K
| RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |
: i# E# A, B, F- S | RTL8822BU | rtl8822b_config | mp_rtl8822b_config |# ?1 u- p( x) W; [; w1 p( i- X
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config | m7 d) k/ w9 \3 ^" I- \, D
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |' U; b- U: m7 s, @, A, D) D
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |( g( i. f& H6 R0 Z
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |% A" f" }4 Y' W3 C+ W# t
---------------------------------------------------------------------------------
+ \ Y; m' R0 @7 tLinux OS 系统& z$ d. s9 D- Q' ~- y
文件说明:5 L; N r& r& }0 ^
Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成' M, z: M3 ~1 e/ x5 g7 n
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
8 n: }+ o6 c( L* p9 ~+ i BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config f2 T, u* C# m3 v( F
Readme/Readmexxxx.txt: 本说明文档
, H5 [& k: ^3 D4 h User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集; l+ R$ T* B& n- C, o
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
) B/ a; A+ o& J- e, G8 k -----------------------------------------------------------------------------------
+ U4 D7 b/ s- |5 y+ k) c' G5 D- } | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |1 c1 s' L, T2 H1 \
|----------------------------------------------------------------------------------|% [4 w5 P" ~; A3 x
| RTL8703AS | rtl8703a_config | mp_rtl8703as_config |
) G z$ m% Y8 Z) h' V) e- ^8 C | RTL8703BS | rtl8703b_config | mp_rtl8703bs_config | `& W7 V N' ^. _1 B Q+ V9 f
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
9 l( O$ }% m' i1 g+ q' E3 b7 l+ R | RTL8723AS | rtl8723a_config | mp_rtl8723as_config |
* I+ T7 L: |7 Q. ~1 S: L" v6 C | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
% n* Y: W" \5 `& r! r | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
1 t% a8 H2 Z& k# u4 U/ j) U0 u | RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |3 l( B9 }7 N3 {# M) D! A* B S
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |" A( I# ?/ k7 @2 k$ b
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |' m" p2 N% z% [- z" S8 W2 v
| RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |
4 `; {+ M, U5 ~) A: c | RTL8723DU | rtl8723du_config | mp_rtl8723d_config |6 M9 `1 [6 `. n6 Y0 c
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |) N _5 e8 a7 H3 u
| RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |. ~6 P: M# O, [: M4 m2 S5 e" G
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |6 B1 h5 k' w" E- w
| RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |9 Y4 O7 {( P0 \9 T
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |) F1 X$ Q, G- |8 ] x" A! N
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |" `% I: ]) [2 b
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
7 \6 B- U8 S! G1 d- E | RTL8821AS | rtl8821a_config | mp_rtl8821a_config |
1 L% E# J# x+ [4 d | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |* R* M% G! m8 ~) B9 O! K* O% S
| RTL8821CS | rtl8821c_config | mp_rtl8821c_config |( ^ E: ~# o8 Z: y5 d9 `+ T3 S3 I
| RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |8 e$ {* M% P1 l6 ]1 d) |
| RTL8822BS | rtl8822b_config | mp_rtl8822b_config |+ R$ K z1 U' T; _4 c& t: W
| RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |
5 c C' G9 s& k+ [. y | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |. S3 j; j+ t# { x8 u% K# X* v
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |. |! P- ?) a3 l8 K
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |8 y, b8 [5 A/ a* \! S5 k3 L8 v+ ]0 k8 n. ~
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |
& y5 K" P3 v1 Y0 g- z; G -----------------------------------------------------------------------------------, E) O% L: {! j6 }
b Y3 G& n! n# I- I
2.运行环境搭建' [1 C$ o9 i8 f, a. }2 a
Android OS 环境
$ f* y, s o0 l9 Z* Z将 tool 所需文件放到系统里
6 g3 z0 a( D8 ]8 ~% ~- C, y/ |$ a将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;
5 ^% C/ p/ K$ {# e- dadb push rtlbtmp /system/bin/
( u% r# a+ O4 k& _adb chmod 777 /system/bin/rtlbtmp6 c0 a0 b/ K( n; H+ c
将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;3 i/ [- z/ S' p3 N
adb push btmp.default.so /system/lib/hw/
. D' R" Z$ U: j% uadb chmod 644 /system/lib/hw/btmp.default.so
5 B: ^1 ^: R! I* [0 p0 Z; @5 u将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644; g9 |2 w& p: I
adb push mp_rtlxxxx_config /system/etc/firmware/( d. e) v, V4 g
adb chmod 644 /system/etc/firmware/mp_rtlxxxx_config y9 l3 C1 g% t) e0 f% t
将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;
! Q2 G0 a4 c' v% c, fadb push mp_rtlxxxx_fw /system/etc/firmware/0 R- P! \ I5 Q7 |2 u/ s2 y
adb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw) F! W d, r+ `$ L: _! y
# @ S- K3 m& ~/ u
1 ^# b1 L7 r+ B+ y/ k# S4 d
#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面: `5 C5 i% h& K+ b* @4 L& v
将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;3 G5 X) I1 T& ?
cp rtlbtmp /vendor/bin/ J6 U+ \( |, v( q% @" _: p9 t' I
chmod 777 /vendor/bin/rtlbtmp
V) Z( l* T* f2 J* m" n) D将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;/ T# y @" L5 q2 i' J( G
cp btmp.default.so /vendor/lib/hw/
# }3 t! l5 o9 f/ i6 wchmod 644 /vendor/lib/hw/btmp.default.so
6 c) ~4 I6 Y: f将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;
8 |8 h4 z2 d8 `" Ycp mp_rtlxxxx_config /vendor/firmware/
, R/ e) ]! j1 `chmod 644 /system/vendor/firmware/mp_rtlxxxx_config* b0 t" G/ x( s* N0 D
将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;2 r% N5 s: y& D9 g. U/ P
cp mp_rtlxxxx_fw /vendor/firmware/2 g7 l/ z; [& Q0 D, y
chmod 644 /vendor/firmware/mp_rtlxxxx_fw
' N$ p U0 Q: O+ y3 g; B! A% j! [以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;1 D. n* b8 q$ Q; D$ o
关闭 normal BT, O5 B- H1 C6 n
rtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:# ^, J f3 s! }7 A. K/ l# @
service call bluetooth_manager 8(关) /6(开)
1 `) B. r& N$ L+ Z5 U7 _: o* ^- T或者
T4 t! |6 C( D5 v6 qcd /system/lib/hw
* t+ m$ L5 x# [/ E5 V8 Cmv bluetooth.default.so bluetooth.default.so_ORG
8 ?7 f! B8 m3 E- ](for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)* U" L! A6 S8 W$ X1 k! I* P! V% L
reboot
$ J/ H, G$ y, o4 w F$ o( ^# P$ i3 s9 Z8 x+ X) v) E
Linux OS 环境4 g& L' S; L, c& G
将 tool 所需文件放到系统里
) ]" }7 W* W& p- P/ [6 U$ Acp rtlbtmp /usr/sbin/" R0 \9 b( u' A1 [
chmod 777 /usr/sbin/rtlbtmp
7 D g$ H# b5 S! H+ O4 @cp mp_rtlxxxx_config /lib/firmware/; }+ L' j* ~, q
chmod 644 /lib/firmware/mp_rtlxxxx_config
8 T& i h5 u1 H3 Z5 k+ \cp mp_rtlxxxx_fw /lib/firmware/
# w: f/ {+ c5 {# z" B7 Tchmod 644 /lib/firmware/mp_rtlxxxx_fw
4 [- S7 W6 W) K# b) c UART 接口芯片准备
! o* y! O! x. I2 P; O6 r% t请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;/ K! ]6 z5 a8 a7 M9 F5 l' k
USB 接口芯片准备 Z1 J3 {/ l$ l' [- i+ v- T! M- c
先打开 normal 蓝牙,再 hciconfig hci0 up
# S9 _9 X J$ d2 ]8 T* R; X: Q0 J/ `9 _0 P0 U {
u ` L- i2 u* I, S$ h3 n
3.BT RF Performance Test & TX Power Calibration
/ Q9 b2 B6 r' z; P+ S9 C参考User Guide
# R. Q" H+ y$ i" f/ D0 ?#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide
+ N1 \: i2 ~# F$ |* u
7 Q) x* J5 ~& l a) k
/ f& ?( P' r3 }9 ]5 R1 d" G一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!
. F9 u- `! J+ ~, d, l5 J: I6 m# q _% O
, l' f& p6 k5 ^+ n |
|