|
1.文件说明
+ D/ \( b8 V% e6 U' EAndroid OS系统7 i9 h! d1 X3 K+ Q) d9 W$ ?6 S
文件说明:
% B# ]4 U, G+ Q+ D C: U Android_tool/rtlbtmp: 应用程序
* ?9 _& Y4 f n l) [ x- e1 r Android_tool/btmp.default.so: 应用程序
2 @% M& @5 x2 R/ ~ BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
+ [3 i$ R% A6 J: L% M4 H# Q BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
3 Q" Q! r R+ j f Readme/Readmexxxx.txt: 本说明文档
, p( i0 t! i! q$ O User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集) B9 T! c$ y5 X1 Q4 B
: x+ O0 b* h R* w 下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
2 w+ `- ^6 r6 c4 H5 p; b ---------------------------------------------------------------------------------
' f9 {! C; T, K | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |. [+ b# i/ G* L- }
|---------------------------------------------------------------------------------|
" T# g0 _1 i9 s9 V4 T | RTL8703AS | rtl8703as_config | mp_rtl8703as_config |
1 Z6 o! u! J4 g% _0 [8 S+ j' ^ | RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |0 c$ D c! |; U. Y5 ]* h+ ^
| RTL8723AS | rtl8723as_config | mp_rtl8723as_config |
( c' F. R: K6 Y" T, \& u | RTL8723A | rtl8723a_config | mp_rtl8723a_config |# X( \7 N6 J! q) Q% }% k
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
( Q% t0 n2 u/ E9 x | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
+ ~* A" h4 H8 y. O+ t8 x/ q/ l | RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |" ~: U' {' D Y& X. f% V
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |# R! q; I# G4 E2 w& C# l
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
3 e" }* |5 X1 |6 n4 |: ~; I' u | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |6 A! n _1 m7 A5 v$ J2 p$ G) `7 ~0 T
| RTL8723CU | rtl8723c_config | mp_rtl8723c_config |
; t' Q" E5 J8 k& |7 O. G3 j | RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |' Z. C( X' M2 _4 _3 w" T" P
| RTL8723DE | rtl8723d_config | mp_rtl8723d_config |
8 \0 c; c. I. N | RTL8723DU | rtl8723d_config | mp_rtl8723d_config |
' {& X f8 g# {% R5 Y9 e* n7 s+ X$ s | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
$ E6 t J/ p$ m: a$ ?% }3 \, \ | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
5 q9 g5 @' K" e! t9 P3 k; f | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |. V3 L6 s4 ~* `$ E9 F
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |: k& G' E% c/ f# n6 d( u) G
| RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |
) b3 Q I9 L( Q, u# ^0 t% V | RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |
# k F* T& A% l& A" }) S& @& W | RTL8821AS | rtl8821as_config | mp_rtl8821as_config |( S& L7 O, c+ s- `' }" ^8 w
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |+ i. B+ w, O- O' z) I
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |- C, z2 L+ D4 [8 P7 M3 v
| RTL8821CE | rtl8821c_config | mp_rtl8821c_config |" e$ B& F& ]1 L
| RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |5 c) F3 x. m" M
| RTL8821CU | rtl8821c_config | mp_rtl8821c_config |" Y* X: Q) W1 _2 G! o w- Y8 Z
| RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |5 u) R0 q( ~' G: c; B
| RTL8822BE | rtl8822b_config | mp_rtl8822b_config |2 [4 \, i, A7 H4 }
| RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |
$ S: a A k h3 Q | RTL8822BU | rtl8822b_config | mp_rtl8822b_config | \# `7 G6 b# z) I) I- _+ W
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |
1 M8 g m7 O: Z$ h | RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
4 Y: A" f/ |/ g7 }1 q2 |+ ~ | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
; c* b6 q) C) b9 }8 e7 q4 ^/ B1 L | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |( S4 H3 S* T! X! O, d, {
---------------------------------------------------------------------------------
+ Y# y+ S, |! y* a! qLinux OS 系统0 j* _: X" D1 o( @8 m$ R% A2 u) Y/ T
文件说明:
" y g& j- C6 I) R, e0 P Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成7 a6 n% Y. Q: u4 ^
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware( I4 c4 R. X, j! ~1 u# v- v- R
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
5 q O; V" K: n Readme/Readmexxxx.txt: 本说明文档
% x9 c$ O1 U& o- L User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集4 [- @6 p: v& s
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:; f6 J3 U* r! P2 q3 k, \' L" ]
-----------------------------------------------------------------------------------
2 g; F2 L% p2 o% n | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |3 R8 j) i# q" v) H: E1 A& q8 X
|----------------------------------------------------------------------------------|5 Z. z3 h0 F8 p" Q; a6 _
| RTL8703AS | rtl8703a_config | mp_rtl8703as_config |$ g& D c* _, J- y& j1 }% `% z! W
| RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |
: w* F: x5 o& D5 `" r8 W9 Z" N2 T | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |4 U3 o' U" c3 o( B; `
| RTL8723AS | rtl8723a_config | mp_rtl8723as_config |
& I7 _2 \" t: c0 j | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |2 e# m8 [+ p, n* F+ `* F9 `
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |, ?- F. G( j5 G7 [$ J" u& c& v6 [
| RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |
) U7 l! l6 x. j; ~ | RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
1 ~( i9 F1 d6 x | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
. q$ }9 n3 W2 p7 t! |6 j7 g | RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |' W2 x$ j4 X$ }; |" F! Y
| RTL8723DU | rtl8723du_config | mp_rtl8723d_config |: K8 c% Z3 n3 D- X% y& D" [$ D
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config | L" Z% \: x( }/ h0 ]$ T% K0 M
| RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |2 N8 V& U$ I% I, L* \
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |" ~ F/ p0 N$ C3 R q
| RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |" y- T) q) n% Z+ P: g2 k
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |4 p0 A- c3 t% Z* j- e
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |
/ o) u3 \- k! V: H( |4 r | RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
( P2 u' t0 d7 f" D) z- N3 H | RTL8821AS | rtl8821a_config | mp_rtl8821a_config |
6 ~9 {9 W# l& k" y: e$ J' [ | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |
4 u, d8 \+ `3 w9 z" p | RTL8821CS | rtl8821c_config | mp_rtl8821c_config |& l) Z" h( d; Q0 m
| RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |; ]. @; ~* P$ | ?9 r
| RTL8822BS | rtl8822b_config | mp_rtl8822b_config |
/ I" }6 h( ^, Y! C3 H& z | RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |9 D f1 G' ]. n5 k! t
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |1 I- [# d0 Z2 C) h( U4 E
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |) W/ b- K1 r9 M, s! V8 @& J- z- g3 e
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
& u" H2 R8 ]. n# h | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |& I: F5 ?! d, s7 i5 Y9 ]
-----------------------------------------------------------------------------------2 y, b- A6 h5 }: ^& `' v
, y7 e# s+ p" N; A% U" x/ i2.运行环境搭建
6 V, o9 P7 ]6 gAndroid OS 环境! k% Z$ T: J7 X
将 tool 所需文件放到系统里% K+ F( o, V% h4 x9 K$ }
将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;- U3 ~, O" z8 e3 s! y% ?: t
adb push rtlbtmp /system/bin/7 k( v% l" d* J2 R. ^) k/ ]
adb chmod 777 /system/bin/rtlbtmp
+ W# h# [; ?+ Z8 a9 j- ~& s将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;* Y8 z/ Q' U4 x5 F# ?
adb push btmp.default.so /system/lib/hw/: E9 m) u: m1 | U g
adb chmod 644 /system/lib/hw/btmp.default.so, H% g$ h( Z8 X" }0 _% x0 _
将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;" l! y( X& W9 }5 D
adb push mp_rtlxxxx_config /system/etc/firmware/
) T8 k! n# G, f1 A0 ~adb chmod 644 /system/etc/firmware/mp_rtlxxxx_config+ M8 c. A$ S; ?" u; r
将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;. O! I7 W( _0 X
adb push mp_rtlxxxx_fw /system/etc/firmware/. I2 k, V0 i3 O
adb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw
3 X+ Z7 c6 F* k4 v
1 L4 ]8 `# m5 Y, v* K! N. F% H5 @4 X9 `8 m6 ]% j
#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面
) B- j/ @8 j8 o% o8 m将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;( ~- M- i! I4 ^% J
cp rtlbtmp /vendor/bin/ L' z- {& [* ?! Z
chmod 777 /vendor/bin/rtlbtmp
: s& ?0 }5 k# U! N0 J4 _7 |( B将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;2 J& u! j; Q' w, r. J8 F: Q
cp btmp.default.so /vendor/lib/hw/
! d6 l+ R6 g2 D0 V, C/ f7 l% {chmod 644 /vendor/lib/hw/btmp.default.so4 r6 T& C" @' U0 w
将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;# h" A% M+ ?& U: j
cp mp_rtlxxxx_config /vendor/firmware/
M1 ]2 Z+ v& {$ Vchmod 644 /system/vendor/firmware/mp_rtlxxxx_config
6 J" |1 T( M) p2 q将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;* _3 w, e2 N$ ~
cp mp_rtlxxxx_fw /vendor/firmware/% L/ ^4 |" p3 g+ b
chmod 644 /vendor/firmware/mp_rtlxxxx_fw+ C- P7 I, I! I; i
以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;" g7 A2 T2 s, d% ~9 O3 c7 p$ x
关闭 normal BT) q0 r* J/ r* U! I; ~& U9 c/ l
rtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:
6 x' @% K0 s5 K9 E% K* qservice call bluetooth_manager 8(关) /6(开)
6 H' k6 x2 X/ R0 Q( y9 a4 H6 `或者+ K) N# W* d4 d9 d0 n! k- B0 k% F: A
cd /system/lib/hw1 a9 E3 F/ A: K) H
mv bluetooth.default.so bluetooth.default.so_ORG
! D" c8 H3 F$ [; o(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)
, s5 a. |) P: i" h% e( x& qreboot
5 A+ w; l. F: n2 \# ~8 b! j) Z6 {: \4 G2 ]! M2 ]! @
Linux OS 环境. S: H0 W# |. r
将 tool 所需文件放到系统里
$ N Y/ a; \! w$ Q6 d: lcp rtlbtmp /usr/sbin/
9 S8 J/ K" R, g" e5 C" Y! Q! H' S( e3 gchmod 777 /usr/sbin/rtlbtmp
4 l; i8 _% W$ Z2 P8 }7 dcp mp_rtlxxxx_config /lib/firmware/
! U* g; ^1 g5 @) Achmod 644 /lib/firmware/mp_rtlxxxx_config
9 E* t5 g R' w! v( a! c0 ecp mp_rtlxxxx_fw /lib/firmware/
6 o, Q! H( Z* u- Gchmod 644 /lib/firmware/mp_rtlxxxx_fw
- `% l: f2 k- u UART 接口芯片准备
: W/ m/ c! G$ ?% r6 g请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;5 P! L, W/ q2 { S m( n
USB 接口芯片准备
: l: e [/ _7 Q1 P先打开 normal 蓝牙,再 hciconfig hci0 up" @! `6 P, P5 j$ A$ d- Y/ @" s
. P0 e* `: n* {# _% P
3 W0 b) a5 i. E; Z3.BT RF Performance Test & TX Power Calibration% E2 X8 D4 H% @. I
参考User Guide2 `- w8 P: M" P& F
#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide5 S) H) w, g7 ?
& m& {0 i% ~) C" c* c3 e
/ y# M8 G9 m/ r% D9 E8 Y) B一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!) z! k8 u( z3 I
) O h; R4 \+ J1 P4 {2 K
E% a& w5 y' e6 m$ f; [- i |
|