|
|
1.文件说明
) W; W) B) N1 C9 Q6 q" jAndroid OS系统+ r, }9 g1 ~+ v; q/ p: C
文件说明:; D b4 V' O! V4 J4 \) e N' h
Android_tool/rtlbtmp: 应用程序
0 M. d7 [ y, x9 n- i Android_tool/btmp.default.so: 应用程序( J2 R2 p7 n+ V1 _
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware) l2 o; ]( f* h; `. D
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config $ H* C: e- p; K C! Q5 T
Readme/Readmexxxx.txt: 本说明文档7 @3 T1 ]# Z( V9 |
User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集
# ?& y, K6 }$ n# e6 @ 9 B6 I. X- }. m5 V$ G0 m* l- |0 N8 z
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
2 q' M# e: _. s* ` ---------------------------------------------------------------------------------
. C1 E: ^- z& N0 A& W* _% x | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
# m; E! O* J; N0 n |---------------------------------------------------------------------------------|
4 @3 u% Y' B) g6 ]8 i% r | RTL8703AS | rtl8703as_config | mp_rtl8703as_config |
' k- _! _* g- _2 G | RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |0 c3 F# \& q& X3 c* _+ e2 R
| RTL8723AS | rtl8723as_config | mp_rtl8723as_config |
6 G/ h _7 m: e | RTL8723A | rtl8723a_config | mp_rtl8723a_config |
{7 } H! h- K8 e p1 p/ G | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |1 V. Z6 d9 Z2 t" |' O
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
3 u6 r+ G- d$ e9 N) t | RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |+ G! j& Z, e" \) q7 d' \
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |" B# r4 a5 P9 i9 T3 _( g
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |+ Z2 [8 H& X4 W) M
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |& P2 w5 L+ n% q, Y) _% C2 P
| RTL8723CU | rtl8723c_config | mp_rtl8723c_config |
8 Z; y1 Y! s e% L | RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |( D6 e: s5 `% F6 h+ X: z# S* f6 T
| RTL8723DE | rtl8723d_config | mp_rtl8723d_config |
6 } U7 |, U8 I | RTL8723DU | rtl8723d_config | mp_rtl8723d_config |9 ^* R2 o0 X, [, [0 @% T
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |8 `* P, `8 H. G# ?" O* e
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config | Z- ? N" x9 f6 e1 H F+ C( ]
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |7 x& x" y3 R) T) h9 v
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |
" _1 A- `: _; T N% x | RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |2 L8 X3 Z$ o' q7 b* K
| RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config | T: X4 x' j8 L4 q. d) H5 N
| RTL8821AS | rtl8821as_config | mp_rtl8821as_config |
9 m0 H' [- {4 C3 ?1 ? | RTL8821AE | rtl8821a_config | mp_rtl8821a_config |) Q( T6 X2 S) T+ w& @
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |
& f9 W4 n/ [. ^6 p3 T, N/ K | RTL8821CE | rtl8821c_config | mp_rtl8821c_config |
- Q5 N4 Y y5 `. }# S | RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |7 ]* y. X3 _' a6 Z% s+ ]
| RTL8821CU | rtl8821c_config | mp_rtl8821c_config |
: y+ ?( p: p7 U: u( J! l | RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |7 J# D+ F( ^7 _4 N3 N
| RTL8822BE | rtl8822b_config | mp_rtl8822b_config |2 I- N$ g/ D8 w0 ]
| RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |9 S/ C& E' }" r: x. @2 L0 Z- q' o4 l
| RTL8822BU | rtl8822b_config | mp_rtl8822b_config |
0 K( D1 j4 D) P4 S: V | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |% D; ~2 p# L h* a) f. O
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
4 A1 p# Z7 ~' \2 k' e( l. w | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |) C7 R$ S( Z7 H6 C
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |
: M4 ]' W! x. f' n ---------------------------------------------------------------------------------
! y2 U' C" L, z7 G) P$ XLinux OS 系统% _) v! N) m+ _7 _" G
文件说明:! r V) k3 i k. A
Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成
3 p. A+ x J9 b6 `$ N# A. d0 h' M BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
+ M6 t% D# `" z. Y1 ? BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config $ h [! U/ [! F$ g. T
Readme/Readmexxxx.txt: 本说明文档
) k: s, a8 \& c% \7 r1 @8 @ User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集, }6 J/ a: {+ K2 g& K" R4 G$ Q0 A
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
! ^' W4 X) d6 x* e, ? -----------------------------------------------------------------------------------! X9 ~: f& e6 `) K8 h
| 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |! w H$ @6 C- `' p% ]. C
|----------------------------------------------------------------------------------| B3 p0 x# C4 d& c
| RTL8703AS | rtl8703a_config | mp_rtl8703as_config |
F, I2 a8 z7 G | RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |
( p# @( S3 s* b% I) R | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |' z2 i" r' K, Y, @
| RTL8723AS | rtl8723a_config | mp_rtl8723as_config |1 I& \ G7 U* F" A' V4 s3 n
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
: s' ? T! d% X/ _ | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |' |+ t; f; ~: }) N
| RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |
% K2 ^* H! }' t9 q | RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
3 S) f6 j/ ` L: S4 U) E6 { | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
2 R+ z5 }1 D7 G6 i v | RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |
5 _: j- U- X+ r8 q7 s | RTL8723DU | rtl8723du_config | mp_rtl8723d_config |
5 O! C c: j; ^# X | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |6 ^, F2 V0 w; _) m8 n6 d' X
| RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |
% Q5 U# W& O# L6 M, {, W | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
8 @# }$ e: l; N% n0 p6 f X9 t9 L' j | RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |- R$ g* j7 G7 W; d* ?
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |5 a: y# B8 M! ~0 V
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |8 t0 ^4 ]/ z1 h; b# b7 S' _: N
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |% x |$ n9 D7 O4 p; j
| RTL8821AS | rtl8821a_config | mp_rtl8821a_config |: h! j( b3 `( _* [7 b% _
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |
1 O, H6 u5 ^3 T- c* g* e | RTL8821CS | rtl8821c_config | mp_rtl8821c_config |( S/ f' }4 @2 W( |9 b
| RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |. Z e& Q, u! J8 n" ]. s+ J4 m
| RTL8822BS | rtl8822b_config | mp_rtl8822b_config |
3 z) M: y1 N! P& U+ N6 U | RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |
# C+ ?. h( i" A, O$ K* K2 H | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |" m5 \" H' n6 R/ P; a
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |9 i: c0 }" W3 T& F
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
3 ]- L6 j. H# {4 ]' d+ ]9 k | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |
7 {6 `% t# W% S0 @ -----------------------------------------------------------------------------------
9 {* {/ {( ] X e/ U7 f
/ r9 c$ a5 V" E: Z2.运行环境搭建
; @- v- b/ p8 [) N3 X) e+ {Android OS 环境- d7 N' q' ~" ]
将 tool 所需文件放到系统里# a8 e& a5 b2 h8 D
将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;9 q* z5 w. B0 r% ?* C6 X
adb push rtlbtmp /system/bin/' G5 m( s, c$ u( G& K7 i A) F
adb chmod 777 /system/bin/rtlbtmp
5 s+ a; G1 G3 i0 M' u将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;" w/ Y, Z- s6 S, _9 ]
adb push btmp.default.so /system/lib/hw/
( w" j2 S4 ?; d/ A c/ K7 ]8 Wadb chmod 644 /system/lib/hw/btmp.default.so& \! {* E! B( g, m/ d
将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;- ?: @* K$ n& @, m0 `+ Z
adb push mp_rtlxxxx_config /system/etc/firmware/
/ v2 B3 e0 {" h: M# Kadb chmod 644 /system/etc/firmware/mp_rtlxxxx_config" A- Z( F8 _; g+ m
将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;
0 B# E& X- d' s# badb push mp_rtlxxxx_fw /system/etc/firmware/
* L# E) ^& s( @0 S4 ladb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw
1 f3 L6 h0 |/ E y" Y- @3 s5 T$ f
' E* h* }) |) }% i& ]. N$ m N. V* T
#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面
& v: E+ N. @; I- [" X8 H将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;
$ ~" Z( K8 m' X, X1 e; E! m0 mcp rtlbtmp /vendor/bin/0 t* V. t0 d: ^; B/ K; w
chmod 777 /vendor/bin/rtlbtmp7 y8 {. Q" f$ `; H) d! t& ?
将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;0 [& t' X3 I* ]6 ], S
cp btmp.default.so /vendor/lib/hw/
! ?1 `# U2 [" h) @. |3 schmod 644 /vendor/lib/hw/btmp.default.so7 v9 m4 Q. \6 f' |8 G
将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;2 K3 Y. B! X$ A( \) l+ [# q
cp mp_rtlxxxx_config /vendor/firmware/+ h. V, U2 q H1 N4 }8 j
chmod 644 /system/vendor/firmware/mp_rtlxxxx_config
5 F1 [/ s4 n- h7 z, |将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;1 b' W T8 }$ |+ }% m; E
cp mp_rtlxxxx_fw /vendor/firmware/ z# M: J5 @1 R/ [6 c+ o# k
chmod 644 /vendor/firmware/mp_rtlxxxx_fw- ? i6 N; | O/ l
以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;
0 G5 e8 z3 D7 c& m$ L, S1 u* r 关闭 normal BT4 P- {8 n+ v, X4 X) I
rtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:1 @- r0 b% L" B: h- ?# O
service call bluetooth_manager 8(关) /6(开)
[/ \4 q+ \5 q6 y或者% t+ A$ k2 s( N2 ^. I; L1 K9 c
cd /system/lib/hw3 J4 [1 K; ]5 Z
mv bluetooth.default.so bluetooth.default.so_ORG4 c& R0 e' n* T. b- U, B& ?' g/ _
(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG): N* r7 O V# M* a, k) ^- Y
reboot
# G$ @2 Q/ v- \; G4 o2 T; M) i2 {( @) h( h: i6 k0 X
Linux OS 环境! z9 N0 E8 _2 P: X8 l: y
将 tool 所需文件放到系统里0 J5 {/ G. d6 e1 F! {9 K5 i
cp rtlbtmp /usr/sbin/" V q# q. L* ~7 y8 |+ b4 o& r. r
chmod 777 /usr/sbin/rtlbtmp6 E" J* W! f$ A7 I1 d
cp mp_rtlxxxx_config /lib/firmware/6 l1 t1 P! D; j, Z! [; O
chmod 644 /lib/firmware/mp_rtlxxxx_config
8 i" j/ }+ u* C( v9 V" zcp mp_rtlxxxx_fw /lib/firmware/; T F2 W) Y2 r! s) u; [
chmod 644 /lib/firmware/mp_rtlxxxx_fw9 r) i3 ?1 w, ^% ]7 w9 W
UART 接口芯片准备
9 l/ `- P& K5 R( n" W请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;% y0 Q D O. H$ F
USB 接口芯片准备
- f, w& x; s+ U: o5 i先打开 normal 蓝牙,再 hciconfig hci0 up
7 M, L/ M. O7 Z/ t! e/ S' H: h" Q; [; |" a$ L
0 s2 m5 N. ?# u+ Y3.BT RF Performance Test & TX Power Calibration
* }/ B- m6 n( ^( ?1 B \# s参考User Guide- x0 O* T- S2 k5 M' {' k& \
#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide5 u' |+ M$ A& X4 y' E$ J/ ]3 U( y
1 F& A$ K" \! \' i- J8 ` K! R
7 m+ c% ?7 s9 ^4 ]; L1 Z一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!4 z$ j; u+ |: i+ `1 ?1 K! n
" G9 ^% j+ h- u" @" E' l1 Y3 ]% n9 G* B* I7 S3 P( \& z8 A
|
|