|
|
1.文件说明- @9 t. N$ o( r9 w! B2 ^) b8 _
Android OS系统
4 G2 u, A$ A1 P+ b 文件说明:2 `& p$ h- |# |$ y( ?4 k+ S5 d: J
Android_tool/rtlbtmp: 应用程序
9 O. { }- M! _ Android_tool/btmp.default.so: 应用程序
/ @3 ^% v9 R* |3 \( }) a BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware$ F" l3 N3 f+ o9 s) ^/ Q4 F* s6 |
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
7 R. r: \3 ]8 x' | Readme/Readmexxxx.txt: 本说明文档' C& O v5 i# ?7 T2 h
User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集+ T0 i: i: ]4 ?, [7 x; p* u( k& T% v
; k) N/ O' s/ w* R4 s
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
* U5 G8 S8 j) {$ _% k) c ---------------------------------------------------------------------------------
. Z* R3 t8 }6 x! W. l | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
/ j' n: _; N k2 p& P# q |---------------------------------------------------------------------------------|3 ^9 I% Z7 s, C, j% @! f
| RTL8703AS | rtl8703as_config | mp_rtl8703as_config |! g' q4 l5 d3 a& s% T
| RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |5 L9 D D6 p3 B" b7 h; D* c" G
| RTL8723AS | rtl8723as_config | mp_rtl8723as_config |
( ~! C- |, R3 z: U | RTL8723A | rtl8723a_config | mp_rtl8723a_config |' O! D2 R6 r) Q' I
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |6 ~, E0 E6 Z9 d' G3 g
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |! |# ]& g$ f! P' {+ w- G
| RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |
9 Y4 Y6 ^0 {1 Y+ G8 h+ C | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |, ]8 a0 z) X/ L7 _/ K+ v8 R
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |# O4 {$ j' @" v- s" t$ k
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |- g( s, Y( q- u* ~
| RTL8723CU | rtl8723c_config | mp_rtl8723c_config |3 |- ]/ L) O% t
| RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |
. _+ Y* R: D3 j) k | RTL8723DE | rtl8723d_config | mp_rtl8723d_config |
! k. r7 ?) n: G7 `1 A | RTL8723DU | rtl8723d_config | mp_rtl8723d_config |% g3 b1 S6 {$ r& \1 r) I
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
8 }: m' O) J& U | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |' H5 ?6 ?9 K' `) S. X8 l9 _: y' O
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
# B" }" C) u2 S9 i c5 f; s/ i | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |0 J, U9 ~2 E8 F1 ~, M
| RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |
! w+ o1 Z- M1 l" m) I' L7 d | RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |* z. X# U( l+ Z
| RTL8821AS | rtl8821as_config | mp_rtl8821as_config |
) i P% E6 h& o" ^ _$ ^1 c | RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
, E4 [9 N: H; ?3 j | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |
6 Z- f( p; @* N; n | RTL8821CE | rtl8821c_config | mp_rtl8821c_config |4 t' @# [" x/ c* t, N8 B
| RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |
4 C3 o) h- k% J" ]: ` | RTL8821CU | rtl8821c_config | mp_rtl8821c_config |4 P9 h2 e) R! |' X! g! }
| RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |- c# V4 ]3 i3 u2 g2 j1 S. o
| RTL8822BE | rtl8822b_config | mp_rtl8822b_config |
2 _2 n; e4 w, u0 ?- M/ b! p | RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |1 O/ O% o: O9 Z
| RTL8822BU | rtl8822b_config | mp_rtl8822b_config |
& ~+ K' ]* I' w7 I: q* g0 X4 C5 J | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |
9 D p% \/ ]9 Q$ H | RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
) {; x6 A! }& v1 Q/ b7 Y, Z2 r | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
, _8 E% V: f+ R* a | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |
9 k$ r8 |# L, E5 j7 t) M ---------------------------------------------------------------------------------: ]5 N* U3 o7 o
Linux OS 系统
4 R- `" @( |, [- H9 b: c- t |9 u 文件说明:' f" F% H- J; O7 g; ]
Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成
9 x# v2 i' `1 I1 l: x BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware8 g1 P2 ~5 w8 j+ ~$ R! e( A
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
: h5 P& n9 `$ h9 T& F I9 l Readme/Readmexxxx.txt: 本说明文档
# M9 t8 v" w, L- p User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集# b% c! m" l/ N2 k }& s
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:) d3 z7 c# }7 |! Z, ^. [( Z6 h
-----------------------------------------------------------------------------------
) W# @7 J' r- h9 R/ M* a | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
. e# L! u$ M( A3 J+ V9 S# H |----------------------------------------------------------------------------------|" R, w/ V2 a5 a- w8 A- p! e
| RTL8703AS | rtl8703a_config | mp_rtl8703as_config |% }$ U5 z0 o% k+ G
| RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |
c, _9 v1 i9 _3 j | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
: q$ i2 N2 b7 p+ C; A7 D& ~8 ] | RTL8723AS | rtl8723a_config | mp_rtl8723as_config |# z/ }5 S3 w# @- o' }# c- m" C
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |7 y9 `* E% j8 w7 g+ o
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |5 [4 [ G( i' V9 k( v3 p. o
| RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |8 Q8 M6 q1 i/ T5 e8 _* S
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
' W/ a3 |: U6 z3 D C | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
1 \9 ~# A8 Z8 @8 ] | RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |( T6 C2 u* e& ?' V9 j5 E: y
| RTL8723DU | rtl8723du_config | mp_rtl8723d_config |
$ S- b- U' Y5 D/ R | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
( ]# \7 V% z! b" ]4 V9 } | RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |
4 I3 K# f' U) e& \5 n5 ?: `# {3 s, V) i1 z; s | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
8 Z6 S7 e+ ^) c2 s& p | RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |
$ A- g7 B- ~" Y | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |* [' w! O( q+ x% b5 l6 Z8 s/ {; N p
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |/ l6 o5 G$ \$ n2 Y0 Q4 p$ c
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |, O" [ ]4 g: e9 x b0 _2 T
| RTL8821AS | rtl8821a_config | mp_rtl8821a_config |. }/ q3 G, o; n
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |) y: G* Q; w$ N! F
| RTL8821CS | rtl8821c_config | mp_rtl8821c_config |3 f6 g* z+ h! f' n3 d
| RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |1 a& P, H, V3 H, _0 z4 R0 w# j
| RTL8822BS | rtl8822b_config | mp_rtl8822b_config |% h- D( v- y6 g3 A
| RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |
! k+ ]# m/ _: p! \' B# I1 {: a | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |( r9 w, n; q" M2 h9 w
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
" s6 w$ } ~3 s$ i( w | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |0 d$ L2 |! N2 S* l" |1 p6 z
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |
7 \6 V% i( v8 I: T1 ?( @ -----------------------------------------------------------------------------------
v2 r. z4 [2 T D. y7 V# s/ p* b- u
2.运行环境搭建; I2 E- f) p2 ~6 }' t
Android OS 环境. F0 V! S2 U/ {* d: |0 H* `
将 tool 所需文件放到系统里1 [- N3 _9 C9 Z) F: G: z& s
将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;
/ }+ O! z- [; L8 {( s, }+ R+ Wadb push rtlbtmp /system/bin/3 j: w9 l; T+ Y4 h+ a- V
adb chmod 777 /system/bin/rtlbtmp
! R7 ^2 H7 ?9 U# f将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;
4 l' ?9 C; c2 badb push btmp.default.so /system/lib/hw/
0 ?; L7 {: H* u) o2 h# B7 Zadb chmod 644 /system/lib/hw/btmp.default.so& C, m' w2 l" S8 P# r0 l
将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;
+ J1 f1 F- D+ Y) d7 wadb push mp_rtlxxxx_config /system/etc/firmware/
/ m( Y3 i8 h2 U; b! I& m& xadb chmod 644 /system/etc/firmware/mp_rtlxxxx_config2 E6 {6 U8 v/ ^
将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644; p8 p5 K1 x. B6 Y: S1 D- D
adb push mp_rtlxxxx_fw /system/etc/firmware/
+ Y& x/ ~! n* L; _+ N7 Badb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw
+ b% Z- b% V: T7 O1 P. m: O: t m4 C3 j1 M
1 [/ P2 I( O' \8 U* S& G% n. O7 W
#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面
' Y& _$ }- |+ ?将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;
2 i: S! ?' O4 e1 I) D9 ocp rtlbtmp /vendor/bin/
2 E0 L+ X1 |' e: ]: Vchmod 777 /vendor/bin/rtlbtmp
f. a" T% v9 D( y0 H" K将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;6 N) l6 {* q# `+ B
cp btmp.default.so /vendor/lib/hw/, ^6 ~# g, ~3 d( x* v6 `
chmod 644 /vendor/lib/hw/btmp.default.so
' |, K* f% ~& u9 D将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;$ P8 P# m+ |- H. g6 ?/ T4 Y
cp mp_rtlxxxx_config /vendor/firmware/
* O5 ~$ e0 g+ P# Hchmod 644 /system/vendor/firmware/mp_rtlxxxx_config
. e! g& b8 T: G1 c! c4 S x$ c将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;' F6 V' A0 j. V5 [0 M1 l7 F* I
cp mp_rtlxxxx_fw /vendor/firmware/; _( o- D: F* u3 ] \- f9 k+ x- t
chmod 644 /vendor/firmware/mp_rtlxxxx_fw
* p7 }$ Y7 e6 f以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;
- v+ Q5 m0 m: X5 F/ O 关闭 normal BT6 E" L7 @% s7 `# ^4 k
rtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:
& P6 c' r2 D2 |service call bluetooth_manager 8(关) /6(开)- |+ ?5 u2 r9 m' K: L
或者
4 [7 t @* H( a5 r' b" Ycd /system/lib/hw/ g8 g- \. i$ t9 f" [& N/ G
mv bluetooth.default.so bluetooth.default.so_ORG7 h' h1 }& c$ k- ?" O
(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)
0 h# b/ l" P) ]0 u4 Ereboot
[' J) B2 b0 t& r" ~) X( A# p7 c: K; w! K: J! }, W
Linux OS 环境
b, Q Z* U! k; h! J1 V& I4 ] 将 tool 所需文件放到系统里
/ @6 t. q( [/ d( D8 Acp rtlbtmp /usr/sbin/, y- ]+ G+ x1 @. t8 i
chmod 777 /usr/sbin/rtlbtmp
# f4 h, [: ~' T$ |, n" I1 Ucp mp_rtlxxxx_config /lib/firmware/' v5 \) C3 U' w% t, g
chmod 644 /lib/firmware/mp_rtlxxxx_config
~$ l3 x( j2 {; }cp mp_rtlxxxx_fw /lib/firmware/) A$ Y6 [- U9 ~- L
chmod 644 /lib/firmware/mp_rtlxxxx_fw# c9 y S6 B( n# ~( q! B( K6 `% u
UART 接口芯片准备
$ j/ n) [1 r. a# ?请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;
& T& o2 y) t, y: r. H USB 接口芯片准备1 a% @* b8 Q' w; K8 j0 F9 O2 ]1 ]
先打开 normal 蓝牙,再 hciconfig hci0 up
0 W! s( ]5 X; E4 V' a. M4 ^# L' u5 U9 F. |3 p! i6 ^
1 f6 M/ a0 ~( J A; i x. Z3.BT RF Performance Test & TX Power Calibration1 H, s( z- g, q4 B# S
参考User Guide5 N% N! \/ l8 Q; m7 I$ x( |/ p
#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide
; r8 ]8 ?, S" Z7 _2 O, f& {3 u, U6 d0 B! G% b+ \; F
4 a. o8 |9 z* Y' P; i
一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!6 i6 {' q+ J) Q" b4 t' t
2 V! S, I6 @# @
* N; D! A# f# F( N |
|