|
1.文件说明
# |7 i/ e4 n5 M# m/ [$ E- bAndroid OS系统$ J" {8 b: D3 b2 f! }. X3 f" Y
文件说明:* b2 K8 b: g0 p' }# Y
Android_tool/rtlbtmp: 应用程序/ f0 J3 v* d2 ?/ r3 }
Android_tool/btmp.default.so: 应用程序
0 @- p* h2 r% p) U& ^ BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware& ]2 b0 g& X! J, H% D( S% D
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
) @5 C) M. Y3 k1 R$ x3 z1 c0 @, W6 | Readme/Readmexxxx.txt: 本说明文档% z3 ]' C }+ Z3 i
User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集
/ ?+ R+ h+ a/ w: C# T1 v7 d / z+ w% [4 I, N
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:9 x4 P- v! E2 C, Y
---------------------------------------------------------------------------------
$ ~& Y+ C q4 e/ R6 V* v& F | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
o, H: X' F& A# q9 M |---------------------------------------------------------------------------------|0 E q% F+ _! C/ E" ^4 q5 m% I; U3 \% X
| RTL8703AS | rtl8703as_config | mp_rtl8703as_config |9 T+ h' B) d s2 K" |7 ]+ |
| RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |: Y [2 D2 O" k
| RTL8723AS | rtl8723as_config | mp_rtl8723as_config | S$ V) U- D. d9 ]
| RTL8723A | rtl8723a_config | mp_rtl8723a_config |
! @. y6 T. ^ Y2 g | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
0 s* N( D* s- P! X3 H4 ^ | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
G% V' M0 R: |0 ^- _# o( ? | RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |
) q: a8 w. z1 k* @% |. b; i | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |; H% {$ V! O: W- ]
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
0 X k3 Y- R: @: r2 L$ W/ t) K | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
3 ?- Q! x+ }. `& h" I4 r+ E4 B6 c. F | RTL8723CU | rtl8723c_config | mp_rtl8723c_config |' T0 i$ b. l- [
| RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |# O9 V; c& W- b' d8 |5 ~# X
| RTL8723DE | rtl8723d_config | mp_rtl8723d_config |
) x" A; C8 I' r( w3 I | RTL8723DU | rtl8723d_config | mp_rtl8723d_config |" ?$ h A( q9 W0 u. d4 L" w! f
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
7 P8 ]* z5 e# a" E+ l- N1 }+ i h | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
4 v3 H; J3 c3 z, [/ N | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |" U! K7 [/ T* `0 V! o: S
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |9 b4 ? v9 h: N; ]
| RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |
! x0 l* W* v2 V R | RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |
7 K9 ^3 e F7 e2 ? | RTL8821AS | rtl8821as_config | mp_rtl8821as_config |" K) n c( L$ K$ Z
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |4 Q! p! S e0 H/ L1 L7 V9 y
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |$ o; Z$ O3 D2 \# B) N4 A
| RTL8821CE | rtl8821c_config | mp_rtl8821c_config |
0 F E5 }. }# o2 O% z* H | RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |
6 l; f7 u7 t& Q, O | RTL8821CU | rtl8821c_config | mp_rtl8821c_config |
# p4 U0 _. k, z1 d( c9 u | RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |
: c1 [ x9 J( E. R. [: c8 p* D | RTL8822BE | rtl8822b_config | mp_rtl8822b_config |: [0 a3 o/ ?( p. e$ X/ I
| RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |* q) a. a$ R7 [4 G/ H
| RTL8822BU | rtl8822b_config | mp_rtl8822b_config |* s: l1 Q# J) e
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |
! e' c# @% n7 d; } | RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
( `3 ~- ^4 Q- O2 n | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
7 x* x6 m, L L& ] | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |
( f4 Z, U" A( ?6 P' ~ ---------------------------------------------------------------------------------- n; G" U1 F% J
Linux OS 系统
3 r5 W( y/ v* y4 e# W8 T 文件说明:
* {+ i/ Y" _- h& u; o4 D& J Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成
. e, u/ g a7 A BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware, V. ^# H7 H* L1 u1 {( ~: c+ ^
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config 7 g$ d2 f& u( y4 T2 L; `/ J$ I+ p% ~
Readme/Readmexxxx.txt: 本说明文档 D8 S" C3 A/ W% [. Q2 P
User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集
3 S5 @5 X$ t. {1 O 下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
8 i* R T* ~, b6 f+ j2 v -----------------------------------------------------------------------------------
D' [7 F. f" b4 F+ @ | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
% K* L& e, A- @4 a. Q: A# U |----------------------------------------------------------------------------------|- q+ Y: O( i1 A5 f- q
| RTL8703AS | rtl8703a_config | mp_rtl8703as_config |$ L; Y, r D2 Y+ Q( q& X* ~5 _5 P
| RTL8703BS | rtl8703b_config | mp_rtl8703bs_config | ]) p, V8 m- z* ~ I; }
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |1 F; A: z7 g" b4 i* D( S
| RTL8723AS | rtl8723a_config | mp_rtl8723as_config |
; f g A" R$ N9 c( u) i4 m- l | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |! A# V4 Q$ c5 O3 o; @8 R
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |8 i( j2 a5 C+ ~3 A
| RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |
$ [9 B1 t) A3 W" m m0 Q% E$ q4 l | RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
4 l) ~: s# G# J6 L | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
$ B2 d3 F( M. g* M5 @ | RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |) ~1 y1 [& ^1 V, {/ {7 {
| RTL8723DU | rtl8723du_config | mp_rtl8723d_config |
- |& F" e% v1 ~0 C | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
& w/ X4 H+ q2 p( P/ u0 d | RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |. v4 o* h# V4 G! p. H/ F
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |, A& t9 r' f; v
| RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |
& z# h) r h# j" d& }1 g | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |5 m3 q1 I* `( e* [* V# h
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |: e! C% L @( I$ A4 y0 r8 r& t
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |3 I" @% V% }, v/ U) r
| RTL8821AS | rtl8821a_config | mp_rtl8821a_config |/ z! R" H& t1 ^2 P9 _6 ^
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |- ~" V2 Y" z! M
| RTL8821CS | rtl8821c_config | mp_rtl8821c_config |$ h* \$ t. z {& N
| RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |! Y( K9 C( x9 f% k0 U8 S: x7 K
| RTL8822BS | rtl8822b_config | mp_rtl8822b_config |
0 h' q/ ]7 ~5 C/ c9 E0 R! x | RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |$ d* o R% o) V
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |6 d( N# J7 @3 W/ G1 J) F2 g) R1 }- f
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |) a1 W: |% a, Y% c& O) }+ p3 h
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |* Y, a/ h& K1 z/ m
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |( R' D" i9 [% H+ L6 S; X; p- |0 O( G6 ^
-----------------------------------------------------------------------------------
7 L; `" S# d* m' C
2 y E' C# g4 a8 ~! L2.运行环境搭建, Z/ p0 {7 k# U: q6 o8 r2 m0 t
Android OS 环境
6 I8 K# ?; J! P/ K" i将 tool 所需文件放到系统里
1 \. d2 L7 Y% o将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;
# G$ E1 T0 @ y8 Q ]- D+ Nadb push rtlbtmp /system/bin/ n! ]: G: h2 R
adb chmod 777 /system/bin/rtlbtmp
+ q# }& k( C! w o' Y5 `+ D将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;- }9 Q. Y M2 s9 E
adb push btmp.default.so /system/lib/hw/
. w5 w( Y; k) A2 w" gadb chmod 644 /system/lib/hw/btmp.default.so
' O; i, i0 Q' B. x* L将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;$ h" q" f; Q' l8 e- n$ \
adb push mp_rtlxxxx_config /system/etc/firmware/$ F* G. d' C4 {1 e( g
adb chmod 644 /system/etc/firmware/mp_rtlxxxx_config
! B" B; O( l- L: \将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;4 @, L0 f1 o3 F/ N
adb push mp_rtlxxxx_fw /system/etc/firmware/: G, l/ q. ]* `6 D [
adb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw4 ]# l% P( V; D) [
# x8 x' l: p9 E* g: P
/ m( |2 K9 @ ]8 v' [9 h) a#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面
$ |/ u* f$ L7 h' E+ t! |& @4 f9 p2 x将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;
1 J+ n5 f# Z) o4 r9 e6 ]cp rtlbtmp /vendor/bin/
1 E- T, q9 @6 ~chmod 777 /vendor/bin/rtlbtmp
. r" M5 r: T" V将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;
6 e% I" _' {: `cp btmp.default.so /vendor/lib/hw/* e( |" U2 N$ ~9 }
chmod 644 /vendor/lib/hw/btmp.default.so
' L" n r' p, a- I# u6 M将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;( G: j- {1 Q V$ B5 H% ^, \) Z* e4 P
cp mp_rtlxxxx_config /vendor/firmware/0 M6 u$ L# x# o. d, ]& ^
chmod 644 /system/vendor/firmware/mp_rtlxxxx_config& s; D8 m9 D: V$ o9 M
将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;
5 M1 G8 i" m9 I1 B) }1 v6 ~0 f% Kcp mp_rtlxxxx_fw /vendor/firmware/. j6 c" W, M6 h; ?
chmod 644 /vendor/firmware/mp_rtlxxxx_fw' D/ G: L! ]) `5 p" V
以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;! E: E$ Y7 E; w# F b5 a5 d( u
关闭 normal BT) d5 ]1 d& n8 k& L) s
rtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:* h U* S1 K- n+ S" G7 K5 Q
service call bluetooth_manager 8(关) /6(开)
8 _( M+ P% v ~& r或者
' T5 I7 f* {" x4 z( dcd /system/lib/hw, }) L$ Q+ [: k! ~! G* ?
mv bluetooth.default.so bluetooth.default.so_ORG, m' H' l! b* [( b
(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)
1 D6 q8 D8 U X7 \6 p1 P; \reboot
" ]9 X3 R4 `# O4 q/ N6 \
( a# V7 ^: G! X6 u/ s4 ]Linux OS 环境
- x; Z' L# r4 X; W6 E" ?) E3 s 将 tool 所需文件放到系统里
. ] h4 ^1 Q% S3 l1 T7 s; [, ]cp rtlbtmp /usr/sbin/+ {# m3 H( V/ f) e+ O/ `
chmod 777 /usr/sbin/rtlbtmp1 O9 h1 C0 o: K. S2 g7 W
cp mp_rtlxxxx_config /lib/firmware/
; `; q+ X7 b7 x- K6 p B2 L# ochmod 644 /lib/firmware/mp_rtlxxxx_config
i5 F8 R2 Z5 n& lcp mp_rtlxxxx_fw /lib/firmware/- P" ^3 A( t' [
chmod 644 /lib/firmware/mp_rtlxxxx_fw, j( l' }# ~" H# }! u2 C+ ~: J6 x
UART 接口芯片准备( V/ J5 B) {8 i! @4 O
请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;
e+ d3 p d2 K: Y4 e4 V+ ~ USB 接口芯片准备1 C7 T4 j! x% d# v
先打开 normal 蓝牙,再 hciconfig hci0 up
3 x. p! S L2 ]1 j3 _/ s) s6 o# x+ O4 z
% X9 W' @; t7 i. x' w7 d3.BT RF Performance Test & TX Power Calibration
. v& r. V0 i' _3 ]: P参考User Guide5 |% d% C# i8 Q' L0 l$ E; Q& d* ^
#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide
) V- N; ^! C" o4 f1 T' K) e; N7 `6 m* C, L n( X0 `) [
: O/ ?( t) o* I6 K$ t一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!* w+ l9 I0 s1 X
0 i5 b: \* J4 p9 Q2 Y5 s1 X2 x3 m' |
& O) U; G6 W m; C |
|