|
|
1.文件说明0 i6 t2 x) v& B& z0 T
Android OS系统
. N+ _) K o8 i 文件说明:' y$ u d0 F) X7 V6 D+ ?" y; {
Android_tool/rtlbtmp: 应用程序, x0 H0 V( V3 V# n' X
Android_tool/btmp.default.so: 应用程序
. [5 ?- ~( ?! O: }0 r' [ BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware% O4 D% e6 b, K, h
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
* ~( N" e$ R/ {; ?% w! A; A Readme/Readmexxxx.txt: 本说明文档5 d0 ~6 i4 ]2 w, w8 O
User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集8 I5 e: c, _5 ~) F" c, e" P0 z1 D
" p1 D8 X7 }" f( S9 [* @4 R6 c
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
$ o# S- J3 i/ s$ ~ ---------------------------------------------------------------------------------
5 o9 i, a9 Z- p! f. P7 _ | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |: S# D$ U2 M" A
|---------------------------------------------------------------------------------|
( r+ G# ~/ s, k+ B% X/ e2 ~ | RTL8703AS | rtl8703as_config | mp_rtl8703as_config |- }+ s6 W) H7 S# l7 s
| RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |
2 c5 T# W9 {4 Z: \; E& a | RTL8723AS | rtl8723as_config | mp_rtl8723as_config |
5 P* f# F$ P3 B; s' F+ g | RTL8723A | rtl8723a_config | mp_rtl8723a_config |) E$ \ @% L% C+ M( e! P- t
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
M7 h1 d, ~) g: ?" V. h3 M G0 f+ H# J | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |* B# J# X( j( b1 a
| RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |
! t3 r3 s- V5 X | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |0 l' @4 l0 `. R8 i
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |7 Y8 E# ?5 e! {% Z' Y0 `. i
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |. ^4 z3 M1 x; b+ G- e
| RTL8723CU | rtl8723c_config | mp_rtl8723c_config |
- Z8 u+ h! o' m" \$ M: f | RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |
1 n2 R8 f8 n" } | RTL8723DE | rtl8723d_config | mp_rtl8723d_config |$ O6 H4 G5 x0 W! d8 q3 d0 }, ^
| RTL8723DU | rtl8723d_config | mp_rtl8723d_config |
9 Q- S' B7 w" ^5 Q! ? | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
3 e8 O4 h' K8 m+ X- G. x | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |7 H3 P5 n' G5 G$ r4 p# @
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |9 h# W+ ?3 B5 w: B
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |& |. J: e9 j8 }) I1 g; W
| RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |
3 O7 }9 p q+ i* t, w+ N | RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |) v2 T) U: }* k% N5 j$ e! j
| RTL8821AS | rtl8821as_config | mp_rtl8821as_config |2 F& L- R* H: C. k- A7 H1 H2 H
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |2 ~) }5 Y% I+ k; \! m. b
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |. \1 I$ O$ N" |2 ?( B
| RTL8821CE | rtl8821c_config | mp_rtl8821c_config |
4 ]* X; S8 D* \ | RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |% C" C. x: r7 I) {. I
| RTL8821CU | rtl8821c_config | mp_rtl8821c_config |; ?0 O# M* w- j& A3 O8 T/ A0 P- V- |- b; V
| RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |
& D3 F/ ?) p) y3 x( }& @. n! Q | RTL8822BE | rtl8822b_config | mp_rtl8822b_config |
7 y1 w3 H, Y4 t | RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |- f! r ?; @- {+ V' |
| RTL8822BU | rtl8822b_config | mp_rtl8822b_config |
* M% \' f3 d; Y: v | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |
4 v; k5 {. _5 r1 R2 M | RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |+ y( S3 N) s+ ?' v
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |3 P1 Y! U4 Q2 V5 D: i. n9 q
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |
- K1 ]* D/ p3 q: x5 b$ A8 ~- d3 Z ---------------------------------------------------------------------------------
7 Z& V( i' y8 ^ jLinux OS 系统9 L7 K b: S0 Q9 Y8 O- M2 q9 c) _
文件说明:
8 b) B' W( o* r x* l2 K' c6 _# S. H9 h Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成0 z8 \6 n* G; y
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
1 L8 Z% x% v& t: u% I. j# ] BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
$ }" d) J# r+ ]* z' M Readme/Readmexxxx.txt: 本说明文档
9 `+ U2 d7 `0 @2 R* W. f5 a User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集8 ]5 J& \; B+ K& ~4 t
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
- D' D& R+ @3 S0 U -----------------------------------------------------------------------------------
/ G: v* z2 Z; ]: E | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
2 \! x% G' P! B! ?" r |----------------------------------------------------------------------------------|/ T0 @3 z, E) T- p8 d! C: }& Q
| RTL8703AS | rtl8703a_config | mp_rtl8703as_config |
% t: {. ]( I, S; _ | RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |
) C1 @- `$ K4 ~+ B. P% h | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |# q+ M4 H& f3 v' K$ y" J
| RTL8723AS | rtl8723a_config | mp_rtl8723as_config |
; U T; B {, m7 C6 [: U/ P) K | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
2 ?* h1 a* b$ @ | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
( a8 \& Y6 z. |4 _5 Z$ m. a1 r | RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |
6 u* ^0 P: y" L9 }$ ~ | RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |/ U. L! a! ]' a& Q# M
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
$ U1 H8 }, L- [( B | RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |
' h1 G6 }; |: o0 x | RTL8723DU | rtl8723du_config | mp_rtl8723d_config |
8 u. W% V8 t% g' H. R# [ | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |. ~8 Y, ~, t: D7 `
| RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |" V; Z7 t0 i. R6 q
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |: v, G3 l* B; @
| RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |
; }" V7 o% W5 |0 K6 ~8 d | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |9 @2 L, ]/ }$ ~6 O9 C
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |
) A1 T8 t" r: ~# `9 s | RTL8821AE | rtl8821a_config | mp_rtl8821a_config |3 r8 S" `9 |2 F' Y$ `2 B' y) T
| RTL8821AS | rtl8821a_config | mp_rtl8821a_config |
- U( @& q5 S* K- J) [; w | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |
; j2 S; R4 R% C1 T' W W) |! H | RTL8821CS | rtl8821c_config | mp_rtl8821c_config |
1 p9 [; j3 Q0 q1 Z; x | RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |, r) c& P9 L' P6 \
| RTL8822BS | rtl8822b_config | mp_rtl8822b_config |
& m, l% A$ K$ `# y2 V | RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |
7 N* f1 W2 i: T: `0 m | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |+ K+ f9 {/ T" D) D; A
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config | k5 U2 N, e2 F3 Y- J% y" S
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
3 V' l3 C% a' S, u4 Z. F2 L | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |, k3 @4 W5 Y3 \% r7 i
-----------------------------------------------------------------------------------
4 _3 c/ R! i/ Z: u @, {
( g6 f. | d/ D" E6 ^& W2.运行环境搭建' F5 P6 h d: a' @, ~' H
Android OS 环境1 H- K' Z& S0 V! O) q4 X. z
将 tool 所需文件放到系统里
6 `. S9 P3 |& E8 C8 d% X将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;; H4 b- N1 [5 X! x2 D6 B
adb push rtlbtmp /system/bin/
3 b& P1 v7 T5 c: O' s' W) jadb chmod 777 /system/bin/rtlbtmp; D0 R9 y' j& v, {, p6 s* r, @
将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;4 f7 y S! N7 L0 v5 V
adb push btmp.default.so /system/lib/hw/
4 h! D: j6 L3 g2 m+ Z6 badb chmod 644 /system/lib/hw/btmp.default.so
1 N8 k; d7 \! i4 z" L8 y3 e将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;
' f1 s: c- [3 y kadb push mp_rtlxxxx_config /system/etc/firmware/
2 Y* \5 d$ [8 Uadb chmod 644 /system/etc/firmware/mp_rtlxxxx_config* F1 J' d) R: }/ `6 C# V, T
将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;
% s5 [3 o, S( ^8 [8 Y% a7 I3 d" Nadb push mp_rtlxxxx_fw /system/etc/firmware/
+ E, c# N5 f O J$ g" c# B, |) h' Eadb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw0 @7 X( ]3 ^+ a4 l7 `
6 B! V1 F' l5 i% {6 G& f1 k
0 A% L8 e! |, n
#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面$ C$ ]+ I" i& I3 {, O$ F
将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;
- l0 C; \! i/ ]9 A9 v8 tcp rtlbtmp /vendor/bin/
7 p9 a7 r; B! e) M) H0 \& @ lchmod 777 /vendor/bin/rtlbtmp/ R- C* c' H6 r7 i5 e8 W: a
将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;+ x) |2 ^, A# a5 L# `6 Q
cp btmp.default.so /vendor/lib/hw/
J" B& w& F% N b. h# q& R. x( @chmod 644 /vendor/lib/hw/btmp.default.so+ B7 F5 i- Y+ v
将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;
8 q, R4 u# S& W$ c1 w$ o, Rcp mp_rtlxxxx_config /vendor/firmware/
- d0 U/ g p' T( \; s+ uchmod 644 /system/vendor/firmware/mp_rtlxxxx_config! U! m: U6 K9 V' L, n; H- [! Y4 q
将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;
/ }# n- m/ ^: L& a7 k2 V4 Xcp mp_rtlxxxx_fw /vendor/firmware/
; ` b5 t: Q: C7 q! @3 ^) gchmod 644 /vendor/firmware/mp_rtlxxxx_fw
+ ~# L, k0 ?- H8 j- y' m5 h2 [以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;2 z( [- @9 E/ I. R1 _7 F5 Y
关闭 normal BT) u% K) }/ M/ {
rtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:
, e' j! Y* J$ Y1 _. n: i+ dservice call bluetooth_manager 8(关) /6(开)" p' x4 E- H+ Z3 S
或者
" p) E" D& V1 e$ tcd /system/lib/hw
2 e5 O; P, K" ^/ ]. `mv bluetooth.default.so bluetooth.default.so_ORG
5 _! i, b2 H) a3 g(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)
& a- [2 d" W. A$ B1 Lreboot$ o2 L/ E3 x" B- B: s" O7 N
% s; Y; _, }- k9 f$ q- O% v
Linux OS 环境8 q% e9 ~& t. _6 ]; f
将 tool 所需文件放到系统里" u# m* _/ h. x4 C/ P( \: P
cp rtlbtmp /usr/sbin/0 ?+ g! ?+ h' k7 Y$ z6 U* V& n
chmod 777 /usr/sbin/rtlbtmp( |- o2 N4 `" y& q$ l! L. ?, i
cp mp_rtlxxxx_config /lib/firmware/
k* L: R( Q" T( @chmod 644 /lib/firmware/mp_rtlxxxx_config0 K! O) u- y2 ], b( o& H
cp mp_rtlxxxx_fw /lib/firmware/
( n0 I8 W- r9 {% g* k3 kchmod 644 /lib/firmware/mp_rtlxxxx_fw
/ S3 l/ e- M$ S' h UART 接口芯片准备
% o8 q" r7 m( E- o' @# f2 e; H请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;
, E6 r. v: u3 |! ]# r2 i USB 接口芯片准备% z6 z7 e) E3 e- i
先打开 normal 蓝牙,再 hciconfig hci0 up1 X: v8 f& x; _
2 p4 e% s$ _: }4 i. q+ o3 t$ `
$ E X5 H4 v- Z/ @ @3.BT RF Performance Test & TX Power Calibration
- y7 a% ]6 k" T2 K: q4 d参考User Guide& a' S+ Y3 B6 P1 R# x: {
#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide! w9 [; j* c. M' O0 L2 v8 }
" N k0 `" B' B! l. R7 Z5 `
2 _4 y1 G- e$ K0 ^
一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!" V& u( j1 c! \( j0 B7 y
# _6 o8 L' H! q3 J0 S% J
, @1 b( S8 t! z( g |
|