|
|
1.文件说明
: ~% _) d3 c3 RAndroid OS系统9 q$ ?: H4 {0 \- p3 s; O6 E
文件说明:3 ~1 ^1 ~* B8 v% `' b
Android_tool/rtlbtmp: 应用程序
1 x9 z# w+ n" j6 k" F! t Android_tool/btmp.default.so: 应用程序
9 }+ j# ~! j+ A5 N' N/ } BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware8 X; I4 w3 c4 G+ C4 H/ v
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
! R9 o- Y4 n9 K. e Readme/Readmexxxx.txt: 本说明文档1 A+ f$ B. u+ y- J! U4 O, ~
User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集0 \7 u; M5 d/ }2 l o& \2 G
: x6 x% W7 q' H6 \& ^) l 下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:3 P$ G' ]' l( {7 I2 V
---------------------------------------------------------------------------------
# N& I! T0 r" P% ]: } | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |& L6 ]! N2 ]" W4 L3 v% ?8 z
|---------------------------------------------------------------------------------|
4 Y& Q, d. |% e/ q' l | RTL8703AS | rtl8703as_config | mp_rtl8703as_config |
* r" t4 y7 T) }( _& ^0 T8 o- m | RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |
% ^4 ~# |, p( e" F$ X+ z0 x | RTL8723AS | rtl8723as_config | mp_rtl8723as_config |: n2 b- n% W' N+ O! t! u
| RTL8723A | rtl8723a_config | mp_rtl8723a_config |
: H. F: E7 c, I' E( P* o2 { | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |% i' B3 o9 O5 G
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
! N6 y/ \0 O0 n8 p- w; o" { | RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |
9 K. w* B5 `# q4 B+ j | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |* p `+ Y8 c9 {0 _
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |4 g$ G2 [2 R0 c* R, f& Z4 a
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |9 w) a) v8 o$ E; [
| RTL8723CU | rtl8723c_config | mp_rtl8723c_config |
: W* a, z' z$ u* r% { | RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |
: S* `. }9 j" D( ~% h& Y | RTL8723DE | rtl8723d_config | mp_rtl8723d_config |
7 r* g( Y, _, ^3 d | RTL8723DU | rtl8723d_config | mp_rtl8723d_config |+ X$ M7 ^ E8 L i" Z$ D' _
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |, L T( ]( l2 W8 e$ n
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
. T0 a. M9 _! M | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |" v9 W: S" l9 I
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |
1 l' u" W- Z& ^9 H; I2 a$ E! l | RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |, V: ^& l6 F4 k
| RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |
7 c+ s$ x+ G# [* p: k; ] | RTL8821AS | rtl8821as_config | mp_rtl8821as_config |
% R! {# ~0 e) R6 A | RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
9 X! ~2 J# H) g7 ?+ ~- \ | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |& h! `& _& B2 v( Q, N8 q" P
| RTL8821CE | rtl8821c_config | mp_rtl8821c_config |9 p; V# }' N9 I. U7 B
| RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |
& R S- d* l1 r0 o4 p6 I | RTL8821CU | rtl8821c_config | mp_rtl8821c_config |4 d# ]2 U9 U* ?3 F
| RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |/ g8 _$ x* Q4 e
| RTL8822BE | rtl8822b_config | mp_rtl8822b_config |( a7 ~8 N* w! r8 C
| RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |
5 L# t# d3 A- i: [ | RTL8822BU | rtl8822b_config | mp_rtl8822b_config |3 [: a" G' ~7 _ H
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |# x1 h3 Q- w6 `7 d" i
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |! u k- @2 T1 k2 \, R
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |- ~* U; g" r& ~( n
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |. {, [! v; Q4 a/ N% }# ]
---------------------------------------------------------------------------------
' k0 d; [' v+ h2 _* b! xLinux OS 系统
4 O) m: Y6 A, D: H 文件说明:8 n1 B5 |, w: s1 U& _
Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成
) `1 q+ @' @+ y8 [# C BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware. Q, j. e$ D/ W. V- S
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
8 w; g* {; l( P* l) ^- B Readme/Readmexxxx.txt: 本说明文档& F$ Q- Q, s, v$ y. m# C
User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集6 |+ t& M) r+ ?; ~& H# \; \4 R4 b
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
5 N! O$ j) Y2 h; n -----------------------------------------------------------------------------------3 D' u5 f6 g: E3 a* A
| 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |+ }0 k0 a, V( U# o
|----------------------------------------------------------------------------------|
0 c$ g9 X+ E- h9 F5 N: x; f | RTL8703AS | rtl8703a_config | mp_rtl8703as_config |
5 l! |2 V0 p% i0 { | RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |
0 _9 P, v N5 s( f. A | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |' z3 |. z l: D- U
| RTL8723AS | rtl8723a_config | mp_rtl8723as_config |
' F, H9 g) U+ }+ a0 W! P% e | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |4 h8 ]3 B9 y0 r
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |/ s8 W# K7 R t! n+ k
| RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |
% [: O7 R4 \% @( V | RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
5 k$ \ h2 Y# T8 A | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
1 I% r0 d9 H8 Y' O, A1 `* G8 c4 s | RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |
8 O5 B4 Q$ t- W* b8 x4 v; v | RTL8723DU | rtl8723du_config | mp_rtl8723d_config |
6 `7 [4 R5 K* u7 Q. m5 A | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
2 o/ V* C6 y: `/ j+ r | RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |6 J5 Q9 W) H. s3 o* [& _- w: o
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |2 `, w" ?- i0 X! r" Y! y: ?7 R1 i
| RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |
5 B+ F# c0 n, ?; m, A; W | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |9 x& x& A, d# {! ^5 i& e6 ?
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |6 s2 B9 g7 z6 L1 h: V7 t$ h, n
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
: j/ H7 t y/ ~9 B2 U | RTL8821AS | rtl8821a_config | mp_rtl8821a_config |
4 B5 Z2 l8 j7 n% c0 F9 g | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |( c" u( C! S- o7 z0 p4 j
| RTL8821CS | rtl8821c_config | mp_rtl8821c_config |# i( @! f/ Z3 r* y" W
| RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |
9 G9 i4 o, ~5 l/ {% m | RTL8822BS | rtl8822b_config | mp_rtl8822b_config |" V& e$ N) X$ M& q
| RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |
; v3 s4 d# f M | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |/ b( c B' t. l) Q; n
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
1 n& T# s3 T" P6 V% y" B( ~ | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |+ @% A6 f6 \) \3 g, M. s
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |4 n2 c9 d% C \: r0 C% Q+ L: r
-----------------------------------------------------------------------------------
' K+ }5 h0 j" q5 J& ^: q; I& g6 ]) _( [
2.运行环境搭建" g4 {& R) v3 k( {& M
Android OS 环境
/ \+ `2 c/ D) Z) v" \0 U. S7 z! q将 tool 所需文件放到系统里: ?$ H1 ~1 R8 J
将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;5 H! m9 W. z9 I6 n4 \ L o
adb push rtlbtmp /system/bin/
8 f( j5 `- o; j; q3 W" O* radb chmod 777 /system/bin/rtlbtmp
/ ~' p7 L2 ` Z8 q1 P# O将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;
" i9 \ }9 \( b8 i; L4 @/ eadb push btmp.default.so /system/lib/hw/$ \* E, n3 ?4 i/ M+ \& G. z
adb chmod 644 /system/lib/hw/btmp.default.so7 ?5 b2 |. p9 o+ v0 ?6 b$ Y
将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;
: G5 ]7 R/ y, i* m1 C) l, Madb push mp_rtlxxxx_config /system/etc/firmware/
0 ?& \- |1 S, N$ F- n+ S# G) u* ^adb chmod 644 /system/etc/firmware/mp_rtlxxxx_config3 [) v$ `! f6 K% W
将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;6 U- K. T& g' Y- w
adb push mp_rtlxxxx_fw /system/etc/firmware/
* Y. w5 @% g, o. s5 C& uadb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw
5 \2 P0 [' e7 ]4 c% O G# a8 e9 [6 h, W2 Z9 ^; A6 q. e+ ?
' ^% K/ p- Q9 c' d9 l( d* h$ V#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面0 r) B; P% z4 A5 u: }0 z
将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;
% I3 E) q# |5 h, c6 xcp rtlbtmp /vendor/bin/
: [ A. _. `( t" m3 @' y7 Qchmod 777 /vendor/bin/rtlbtmp- U( y8 [# ~$ S0 B/ s" ]# [
将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;
( ^ l& T, M" M/ z" L# \ C0 l% Xcp btmp.default.so /vendor/lib/hw/& a% K6 B7 F @0 ]" Y0 V& d8 j! d
chmod 644 /vendor/lib/hw/btmp.default.so2 s0 |* d$ p& Q+ d4 @
将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;
`. ?& Q! R* {1 P: ~5 \) Wcp mp_rtlxxxx_config /vendor/firmware/0 k0 D. f3 R& t6 d, x+ ^
chmod 644 /system/vendor/firmware/mp_rtlxxxx_config
) F. A. f* }2 C0 E9 R' R0 W0 w将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;
" A$ `* A2 p" f4 b0 w3 I/ Ocp mp_rtlxxxx_fw /vendor/firmware/
4 n$ F7 t$ R- [5 g1 pchmod 644 /vendor/firmware/mp_rtlxxxx_fw1 b1 a9 [- w1 z& Q1 U
以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;: H' I. z* v" C$ d) W0 K7 M
关闭 normal BT) ?, i! X- P1 m9 e0 a8 V0 |
rtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:
, A& v. J: r( E) @2 w- Q9 lservice call bluetooth_manager 8(关) /6(开)
* O1 @& U% _1 L& ?) k0 E9 W或者
5 g+ }1 @- T6 W1 u: N: r- Ecd /system/lib/hw
# s U, y* c4 z; pmv bluetooth.default.so bluetooth.default.so_ORG3 S8 Y# q0 a- Y4 b
(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)
2 ~( v) E% R+ f& S! P4 g8 ireboot
# u' Q8 j' r+ B& k8 d w
5 ~/ g9 T$ o1 K4 ]# _$ u# vLinux OS 环境
' P- V/ c( S) a' i& Y 将 tool 所需文件放到系统里
( J- g! z" t, D/ C' ? S! Xcp rtlbtmp /usr/sbin/+ T6 e u' I$ Y
chmod 777 /usr/sbin/rtlbtmp$ b/ n: U$ O! ~) V: @$ z2 ]
cp mp_rtlxxxx_config /lib/firmware/
8 J( N) _5 ?+ Pchmod 644 /lib/firmware/mp_rtlxxxx_config) F! ]1 _4 E2 U$ ]6 N
cp mp_rtlxxxx_fw /lib/firmware/
' J1 Q- {1 ?4 b( ]+ V* bchmod 644 /lib/firmware/mp_rtlxxxx_fw
! |+ ~/ T% R( j UART 接口芯片准备9 j. M) n3 W# M7 P7 z4 `% J- x
请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;. L$ |: e* A: ?4 Z3 R' K
USB 接口芯片准备* U3 g" j" r3 t9 j
先打开 normal 蓝牙,再 hciconfig hci0 up* z4 Q# W Z+ o' m T& E$ p
4 Z* D2 I2 T- l' c2 O
" R6 k! S* X8 U" U5 G3.BT RF Performance Test & TX Power Calibration
' i) G( U8 P' I7 o3 Y" C, E参考User Guide( x) @+ Q: U* d; I
#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide* z4 ?) j6 k' @# l* x ], ?& g; P
: p& v# G6 k9 |' S
: T2 g# e5 r6 `3 w4 D% W
一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!
y9 G2 r- V) ^5 ^) U4 ~+ l4 F- z
5 O8 _) d0 t: u
0 B- M8 s, ]$ w) F* b |
|