|
|
1.文件说明
. j7 G/ C6 {( NAndroid OS系统
- v$ \+ q$ d4 t3 e. b. h: r, ?% z 文件说明:
0 l( ~. F+ D1 O" Z9 x Android_tool/rtlbtmp: 应用程序
+ z& S1 G7 ~( _: M# x9 C8 ], O4 ? Android_tool/btmp.default.so: 应用程序
4 i; p& S7 T i/ y: D( A$ j BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware2 K) @8 L4 A$ @, H7 A
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
1 G! I+ t/ s |4 z9 R+ E Readme/Readmexxxx.txt: 本说明文档
5 x$ Q7 h8 r: b$ l7 E User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集( K8 d7 w, U$ j. _
$ U" ?4 Y$ M, u# n% L
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:3 T# v1 {8 i+ @8 A
---------------------------------------------------------------------------------- {+ a( O, M1 Z, l2 ^" v
| 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
5 i3 i" Z& w$ s% n |---------------------------------------------------------------------------------|6 ^4 k5 R9 l6 h9 a
| RTL8703AS | rtl8703as_config | mp_rtl8703as_config |) b0 ]; E1 t6 G9 a
| RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |
- q( u& Y z* ]6 B2 g | RTL8723AS | rtl8723as_config | mp_rtl8723as_config |
+ l. f, e- T0 C- r | RTL8723A | rtl8723a_config | mp_rtl8723a_config | O$ N) F" e9 ]" m
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
, ?! Y2 n1 E+ W7 k# m- U ~2 f# e | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
+ e( U) Z; X# P& T6 i! M/ ` | RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |! |" D* V; Z. d5 q- [
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
4 J5 L! X+ Q3 ^% P- u1 Q | RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |7 ]7 r) m0 Y8 M' \
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
5 d; e3 }6 E% s9 \7 p6 O2 P1 p2 A | RTL8723CU | rtl8723c_config | mp_rtl8723c_config |9 ]3 k6 G- T7 J6 }$ F, S/ F
| RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |
* P+ {. _0 X q | RTL8723DE | rtl8723d_config | mp_rtl8723d_config |
- J4 y; D; ~) R! w) c+ R4 A | RTL8723DU | rtl8723d_config | mp_rtl8723d_config |8 p, v% G" o7 o8 g" O, ?
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |4 y4 [3 N' K q
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |0 R* k: ~- H- k/ c8 [+ |
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
& I! h( o- Z4 {$ q; H1 j | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |2 U3 Q9 B* V. b! G9 ` s
| RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |
$ ?3 D O5 r8 ~; L | RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |% M$ y% `# L( \* z7 S! H8 S5 a
| RTL8821AS | rtl8821as_config | mp_rtl8821as_config |$ U8 _. I! ?, x
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |1 C- m$ i. ~/ s6 A# X+ U
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |0 W4 w- I2 |& S q$ i' H3 ]4 G
| RTL8821CE | rtl8821c_config | mp_rtl8821c_config |
8 Q- h7 J( J# m" t | RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |" n$ [7 {, s6 @* U9 W4 v. Q
| RTL8821CU | rtl8821c_config | mp_rtl8821c_config |' D, P; t( ~1 {4 A3 W. c( K4 `
| RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |
9 i- x$ v2 u; X | RTL8822BE | rtl8822b_config | mp_rtl8822b_config |
0 m& x/ ?& b6 k5 N: }* {: F K, S | RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |6 \7 ?- s, i$ l: T* k% V
| RTL8822BU | rtl8822b_config | mp_rtl8822b_config |. W4 m: B& n( P. I- i( {" j
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |" p' T4 t7 g4 i$ ]
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
|5 p2 v' p$ ~6 V# |; d | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
) V& w' P- D1 z5 ]8 p | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |8 @" V% b+ b/ {% Q% ]+ X
---------------------------------------------------------------------------------( p3 Q' X& l. q4 Y
Linux OS 系统' X. v/ [) i7 B0 w3 p# ]5 [: f2 s
文件说明:
9 w3 E* \) K; i/ Y Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成* f, C) `) J4 A
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
# Z5 e& t$ s) k3 |6 J" m BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config * _# q7 v4 E% {; l) G2 p
Readme/Readmexxxx.txt: 本说明文档" q1 ~, Y1 X, f" p4 D2 r$ N8 l3 C
User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集
$ @/ l+ F* }; [' g& E, j" l 下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
+ ~3 H( n+ d. E3 Y9 G; ^ ------------------------------------------------------------------------------------ a2 I) p) |2 d8 E4 g1 p G
| 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |' ]% }$ H6 b) \* v0 N. W1 Y2 `5 @
|----------------------------------------------------------------------------------|$ A9 M, ?' {) R3 s1 w
| RTL8703AS | rtl8703a_config | mp_rtl8703as_config |: \- y7 _0 ~) ]6 i( S& S
| RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |/ a' _: ~( D( R0 F
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |+ l) a( x' [1 `: v
| RTL8723AS | rtl8723a_config | mp_rtl8723as_config |) |3 W9 |9 T _. g% L; s7 }! C
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |% B0 d9 h' R2 R
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
z$ B" I4 ^% _+ R& C u- P- i | RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |( q& B6 S0 J6 e( d3 H; ]
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
1 {1 H- |- Y# n% _: l | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
) ~ |) P+ |9 c- Y3 B( e | RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |
5 S" F0 J% B. S* d/ s | RTL8723DU | rtl8723du_config | mp_rtl8723d_config |
/ Y) F' Z: ]' T | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
2 i) E, K5 L* @; U9 A* Q! u' } | RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |' N5 B+ s' D5 U( x$ E# t! ~0 c
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
$ S6 O4 Y' Q" u | RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |
$ T/ |+ z8 K' j2 r8 I$ N | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
0 ?# C- P1 ?7 s | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |
9 d3 P8 h' a' Y d2 h. ?3 m' ?! ~ | RTL8821AE | rtl8821a_config | mp_rtl8821a_config |, _. v7 {, p1 f6 ~" @
| RTL8821AS | rtl8821a_config | mp_rtl8821a_config |& x* d. `+ o% k* f# W
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |
8 V9 X4 o* S! Q: U# ] | RTL8821CS | rtl8821c_config | mp_rtl8821c_config |
) B+ t2 N6 ~/ }* c: _0 a) \, d( ^8 z | RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |6 U% F1 G+ Z2 w' i$ C1 K0 I, w+ A1 c
| RTL8822BS | rtl8822b_config | mp_rtl8822b_config |
; V7 h1 h i' f/ C& ~) | | RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |2 L" \9 o( g+ c' W
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |% {- _ h5 _; C& Z# g( Y0 X
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
' n9 ]- b* m' [4 N, }, v | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
$ l0 }2 Y. K2 V/ H+ J8 T! O8 | | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |
' W6 b U, `* V9 l4 O -----------------------------------------------------------------------------------) |9 [4 W/ A+ t( ^" Z/ P: R# [8 w
% |, C( \9 b! Y, V0 I; `
2.运行环境搭建) N0 j8 r" O) A' q( S# {8 j8 }
Android OS 环境
7 ]$ z: f5 g; {将 tool 所需文件放到系统里' G4 X5 X' L4 x
将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;
! }9 f3 m% G" G! W" l# Uadb push rtlbtmp /system/bin/9 i( j1 {- h/ b8 ]
adb chmod 777 /system/bin/rtlbtmp
?7 [/ J* s9 c& v) _ j. x将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;
/ T) e9 X& y! i: I4 H Q& Nadb push btmp.default.so /system/lib/hw/
0 S3 S. s9 a7 U" Wadb chmod 644 /system/lib/hw/btmp.default.so
0 |$ h2 \$ X7 e将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;
$ w. K( n4 M9 t- I! Kadb push mp_rtlxxxx_config /system/etc/firmware/) A; _8 \1 H8 I0 Q n
adb chmod 644 /system/etc/firmware/mp_rtlxxxx_config9 v) t0 C' f6 Y3 j. ~) n! Y) s8 H
将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;
( E) g. t. h- e f3 N0 Jadb push mp_rtlxxxx_fw /system/etc/firmware/
4 m" }% N$ ^1 F: J! dadb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw0 `# D: F* s- q( G0 v
+ o# [: r% h. P
8 @) ~& p# E: j$ n" T8 J/ n2 o
#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面
" C' | p+ }0 ^/ |2 W6 f将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;8 U! `. t! u: x) b+ G
cp rtlbtmp /vendor/bin/
: H# q5 ~) H) p+ Achmod 777 /vendor/bin/rtlbtmp U% |" z! J6 Z. n. |( i+ E! d
将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;
5 h( l8 v D) J7 D v! Ccp btmp.default.so /vendor/lib/hw/* m2 e: Q! b7 e; z
chmod 644 /vendor/lib/hw/btmp.default.so
! K8 B5 H! l% n1 x& S7 }; Z将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;
. ^0 C7 U& T( Y4 `& Ecp mp_rtlxxxx_config /vendor/firmware/
) C% j. X& b* S- Jchmod 644 /system/vendor/firmware/mp_rtlxxxx_config
: z6 R* B% u0 {/ i: u' F3 R- N' r3 A将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;: b& i. W5 J9 W7 I
cp mp_rtlxxxx_fw /vendor/firmware/
) q7 F4 T: H! X4 C( W6 Bchmod 644 /vendor/firmware/mp_rtlxxxx_fw) }2 T' b5 D* v @0 }6 ]2 c2 F
以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;
) Y6 j9 {- j! S7 e3 r 关闭 normal BT
- o7 A4 [* u6 f; L3 ~; T. L* rrtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:
: r7 ?% Z4 B, X9 Fservice call bluetooth_manager 8(关) /6(开)
3 a, a, |+ D0 W9 J或者; j# E) S) m7 e
cd /system/lib/hw$ M4 V. W/ {# @; m5 S: p
mv bluetooth.default.so bluetooth.default.so_ORG @& f0 v; M: F$ I. X
(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)$ h! |8 g$ m! e9 B3 \
reboot
5 S( S3 N) e7 Q- A) J0 t! z1 |" c" I: h7 U. R+ P* t6 K
Linux OS 环境% T3 o: b X1 P. Y. e! c% }
将 tool 所需文件放到系统里
4 ]5 m' V- v1 Q0 I5 E6 z6 Vcp rtlbtmp /usr/sbin/$ x% h \/ v8 {) k- F
chmod 777 /usr/sbin/rtlbtmp
. \2 E( Y9 j3 Y0 O8 s( hcp mp_rtlxxxx_config /lib/firmware/( [4 N9 Z% d$ N
chmod 644 /lib/firmware/mp_rtlxxxx_config
9 k0 v4 w4 @. @, |; mcp mp_rtlxxxx_fw /lib/firmware/
! l8 G1 b) N! u# c/ schmod 644 /lib/firmware/mp_rtlxxxx_fw _% j8 h* U6 j6 _. o+ d
UART 接口芯片准备
4 R4 p8 v+ ^$ h# I1 q请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;) Z* X: C; x% O+ o
USB 接口芯片准备
* @7 d2 s, }( S. Q: I$ m' k: B) b先打开 normal 蓝牙,再 hciconfig hci0 up" G7 a9 d* G& e" }! R- w% A
/ K# B. ^" a- H" r: z4 x
* D8 Q' p9 `' y" w! W& `& E3.BT RF Performance Test & TX Power Calibration
% R% ^! X8 b% q* z) @0 U参考User Guide
" k/ P; f2 \$ ?6 M" E4 q6 g: {#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide
2 b! ?4 M6 q/ n6 k, H3 K
6 x/ U O3 d4 c, `" N# C/ _' `( ^. C6 v7 @
一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!- a' D( [% G; x2 P2 i
' u4 f$ P! \( l; h% \ w
8 U8 Y0 @. M$ H* G; [* e H! T |
|