|
1.文件说明
' Q: |/ r; w; N* [% t; t2 G2 KAndroid OS系统
$ a5 w- ?$ q+ Z* y0 C; ?$ Y, R 文件说明:
: e" W8 v0 }7 C4 F d Android_tool/rtlbtmp: 应用程序, P Y3 P& b1 b7 s* Z) s
Android_tool/btmp.default.so: 应用程序% G% ^5 r. x( X
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
m, D# n9 \/ s; L7 n' }7 M BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
: g8 j+ Y4 V% P Readme/Readmexxxx.txt: 本说明文档( d' j0 N4 U8 h2 j1 r; ?
User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集4 h+ \- Z" ~; [) i
& O. |$ ]% r3 w: p& j$ ^
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
- v' L' B$ F: w& J4 W ---------------------------------------------------------------------------------. ] Y0 k1 ?. L( [5 r* e
| 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |8 C) ~& ~2 y7 j& o' n% w: [, [
|---------------------------------------------------------------------------------|9 q2 c7 g4 S8 R/ Y( X0 Z' c
| RTL8703AS | rtl8703as_config | mp_rtl8703as_config |7 b: @; h9 J5 f. W# [2 ~
| RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |
# k3 a/ y9 r) ^& Y- N+ n | RTL8723AS | rtl8723as_config | mp_rtl8723as_config |
- d7 j/ g4 k& u1 F | RTL8723A | rtl8723a_config | mp_rtl8723a_config |
5 Q! F0 H, Z" t) {5 B8 `& Z | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |5 H$ K! p8 Q' {
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
0 g2 Z% a2 H5 t | RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |1 R* o# J9 [/ l2 B
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
2 j5 P, a2 b: ? | RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
, N& ]2 @$ d" B3 O5 l, M | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
$ K( F. q* U' ]! O. O | RTL8723CU | rtl8723c_config | mp_rtl8723c_config |
# {0 b) j( I( | | RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |
9 h( a- x2 Z9 \2 H | RTL8723DE | rtl8723d_config | mp_rtl8723d_config |
, s+ y' e% @4 s- |' i | RTL8723DU | rtl8723d_config | mp_rtl8723d_config |
! u. O/ g7 w* n5 F* R+ V* v0 e | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
; ^/ Y# v' M8 h3 G' [/ `4 u | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
- y5 e2 ~5 n# D% { | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |1 {9 o) F$ L5 a. I( R& c( t1 X
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |# e- Z! |0 y" v4 S7 h
| RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |
; ~/ C8 `- s' ]8 I | RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |
, I0 |' v" _( d | RTL8821AS | rtl8821as_config | mp_rtl8821as_config |
3 I* z! w9 Z! X! ~# V. d6 Y | RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
1 V% Y! D, | s9 Y1 x | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |1 b; H$ N, a: j T. @7 t4 V& B. c
| RTL8821CE | rtl8821c_config | mp_rtl8821c_config |
8 k: h6 K0 V+ _9 T5 L: W0 \ | RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |% |, R+ i9 s9 `9 g6 _. ^
| RTL8821CU | rtl8821c_config | mp_rtl8821c_config |
% c- l" V( a& U1 O( I R | RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |
/ u/ l) q- i$ i' |$ G | RTL8822BE | rtl8822b_config | mp_rtl8822b_config |+ U& P# T1 [- \* l' d" E+ y
| RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |
7 z2 u6 D. y( X/ J) s | RTL8822BU | rtl8822b_config | mp_rtl8822b_config |
2 N$ D0 a" t$ E D | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |
6 ?3 F/ l' a; R- j3 s) [ | RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
( Z: t0 z; ^, k, w. E | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
7 F$ X8 }* `) Z: ]0 n | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |
- O6 H% M0 { P" C+ M' M ---------------------------------------------------------------------------------
7 X; m4 U) S; Z6 N# i% aLinux OS 系统
}3 S3 k/ ^4 M7 _' z! h" ?5 n( W8 x4 D 文件说明:
, f3 @0 l6 P6 {$ d5 w7 S Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成0 e4 a; ~7 B; I! d) a
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
7 r, x2 j l, P L( i% |1 T. M BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
2 h$ T7 K/ g9 N( i7 i Readme/Readmexxxx.txt: 本说明文档
: ~/ w* O; k: b/ T" E0 X4 @ User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集
4 k) w- C0 Z$ f3 o 下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:/ V2 w8 a5 }% w, }; g0 G. s
-----------------------------------------------------------------------------------( d& ?. a' y" h4 I3 S
| 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |, E- P% E7 }0 p6 @: |
|----------------------------------------------------------------------------------|
$ Z3 K1 z3 D ^/ ^# E) \. o: g | RTL8703AS | rtl8703a_config | mp_rtl8703as_config |( q" K& t1 s+ `$ I/ [7 r( L& Q' a
| RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |4 ^# E+ y; H5 k# D3 |
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
; I8 E3 g8 W5 Y0 | | RTL8723AS | rtl8723a_config | mp_rtl8723as_config |+ c* {1 F# o2 }( Z* i0 h3 [
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
1 r# x e7 X8 d1 {0 E9 B | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
8 \$ }9 T M+ r | RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |: |, Z8 ?: c% [( d
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |* h9 Q! q0 E" K$ }/ B
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |$ K1 a- G$ f8 x' w E- }& P
| RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |
. G9 h, Z0 m* j8 _' z! P4 p+ y' H$ d | RTL8723DU | rtl8723du_config | mp_rtl8723d_config |0 z! j8 K- w5 \8 S/ z+ W9 d+ S
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |2 a5 z' S7 a& K
| RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |
4 I1 ~, \/ W0 l" l# m; L+ N) Z | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
3 S3 q/ K3 V. k5 G1 O% r% j! \) W | RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |
& k5 p; o5 R: `$ K; s | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
. E2 D1 g) J! @. t8 H* n | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |
' \) f5 Z* ]7 [( y: M | RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
& ~/ ]- X' @% V) q! B: ?3 h1 T | RTL8821AS | rtl8821a_config | mp_rtl8821a_config |
* C) {) q# h2 x' F5 {3 y2 U | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |# W" l7 L: D6 }5 w' a7 \$ B& Q
| RTL8821CS | rtl8821c_config | mp_rtl8821c_config |
$ f9 Y) A. h* ]: S4 U | RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |
9 u9 y( P0 E3 N9 _9 j* V& u6 v | RTL8822BS | rtl8822b_config | mp_rtl8822b_config |* p0 d/ \; y7 e* |) z2 H5 T: d2 Z& f
| RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |
2 \3 p5 q8 L2 B% w, U q4 V | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |
1 J2 z( n- I- r! l) ~: v# n' ~ | RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |+ i, i6 O; h0 Q- i
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
d; z) m# Y. A) h& R1 P9 i | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |
9 m1 U- P+ r& V3 }" c4 _ -----------------------------------------------------------------------------------! c7 A6 L- T/ x6 m
8 @+ F' ?" e ^8 W- |
2.运行环境搭建
) S( K3 Z5 N, U; CAndroid OS 环境. L- p* I& o2 x7 `# }
将 tool 所需文件放到系统里
1 I" c- G3 v/ k3 q6 _5 h4 r将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;) `; W" x4 o4 w7 h' m, V5 w
adb push rtlbtmp /system/bin/
! r2 j( i; Q% ]7 A, Eadb chmod 777 /system/bin/rtlbtmp/ ~$ p7 w& B" X ^4 V, j& e# A
将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;$ ^+ L. k6 J0 s N9 k
adb push btmp.default.so /system/lib/hw/
0 @+ i7 N% G( G# e7 Vadb chmod 644 /system/lib/hw/btmp.default.so
" m/ E: ?) f. {将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;
1 d1 e! l; Z' M; U$ `4 D7 }7 i' L! tadb push mp_rtlxxxx_config /system/etc/firmware/
0 P* X* h! n' q" y0 W g' P# ]adb chmod 644 /system/etc/firmware/mp_rtlxxxx_config' L; u. k! [+ |: O
将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;
3 m3 w1 k J4 p+ [# a* Sadb push mp_rtlxxxx_fw /system/etc/firmware/! Z0 ?5 M9 u$ U& P( a( G, r
adb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw
4 l. ~! \. K0 f) z# }" h* y" k5 C/ c4 W
' \( k3 w Y) L; t
#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面! N- c5 x; y) X, H* f! _* X0 Q! A
将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;% ^/ e. f& G1 D( T/ A/ Y, D/ @
cp rtlbtmp /vendor/bin/+ P( a! p1 V. v- J# n6 ~/ U+ m
chmod 777 /vendor/bin/rtlbtmp; s9 r! x* A# F9 E" x- |0 a
将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;
g7 N/ U; |0 b$ V) t" e) dcp btmp.default.so /vendor/lib/hw/" R" D/ b8 x$ i9 s& t0 p2 p
chmod 644 /vendor/lib/hw/btmp.default.so$ e9 i! W% x: l- Q# v6 L2 A
将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;
8 q0 f K: v: H( H3 Z& `( j: Ccp mp_rtlxxxx_config /vendor/firmware/
% O, h' Z6 H8 Y& q+ V( G$ [0 tchmod 644 /system/vendor/firmware/mp_rtlxxxx_config
, n! z, c- `) U: f" d3 c8 {将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;8 @5 Q- w" f1 A+ K9 }/ L" J! g
cp mp_rtlxxxx_fw /vendor/firmware/- L( ~9 Q. M- {6 w% S
chmod 644 /vendor/firmware/mp_rtlxxxx_fw: }: }! \( ~, [8 W4 F* L; N
以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;
4 W2 w. e0 E# R- a 关闭 normal BT" a" `2 |5 w K4 U* j' t5 W
rtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:
% w/ W) R$ u% G; U+ Y; A* R; gservice call bluetooth_manager 8(关) /6(开)& s u9 ~/ g% O% e
或者
" E3 O8 L, O8 N, b- p$ h" O1 xcd /system/lib/hw
2 @3 t4 d$ @2 A- ?0 L; w5 ?% C; hmv bluetooth.default.so bluetooth.default.so_ORG9 |; P- X1 D7 s7 I
(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)
( |" S5 F: v; R& G1 n9 ^# c$ mreboot/ J0 `! F* @; Y
6 w( P' r0 \& i) j) A- K4 X
Linux OS 环境
4 A w: w& K ?# U6 t 将 tool 所需文件放到系统里
/ h0 Z. J+ U% r$ L+ X7 E6 E$ Icp rtlbtmp /usr/sbin/
p% V$ j- L) Echmod 777 /usr/sbin/rtlbtmp
! S4 y; b5 j/ y+ j5 ?. X; wcp mp_rtlxxxx_config /lib/firmware/
2 E6 p& x6 H1 qchmod 644 /lib/firmware/mp_rtlxxxx_config
+ S, b9 P- [, _! Bcp mp_rtlxxxx_fw /lib/firmware/! M' W( ]( c+ n" E+ ^+ q
chmod 644 /lib/firmware/mp_rtlxxxx_fw% P7 I" {% d+ b! E! F3 Y2 {- b
UART 接口芯片准备
1 F" f, v- T3 A/ F0 l; C1 z% V请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;6 V* M k+ n% ^7 R" _2 g8 f
USB 接口芯片准备* A+ Z! O+ O' |0 g' @! d$ U9 T
先打开 normal 蓝牙,再 hciconfig hci0 up& C* }: g4 m# J
, o3 H2 {( _: X9 X6 \, q+ w# Q4 A
+ ^7 w2 N6 p- I& p' h2 o8 q* @( E
3.BT RF Performance Test & TX Power Calibration. G! I5 P" z/ x$ e; Y( ^
参考User Guide
$ M, R% y. o0 v#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide3 a7 ~4 k. X" e- j, B/ g" X
; S6 X# \% z# `' e" R! l
; a2 @) ]8 |: h, o: f
一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!) `1 o& ^& f. M/ F
% g9 j k. Z; ]# a
% b& a& k8 R' ]7 N |
|