|
1.文件说明" |* E S" {. D0 A' A* S* @0 A/ w# ?
Android OS系统# s5 R3 f/ Z' J* c" b! {( Q# s, D
文件说明:
+ j% D" l `) U Android_tool/rtlbtmp: 应用程序* n" A9 @9 s) S
Android_tool/btmp.default.so: 应用程序
8 Y ^$ F+ q7 X0 \8 y BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
9 r- I( S% F: q9 s2 N, a BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config # @ G' E4 Q% D( P1 P4 R( n0 T
Readme/Readmexxxx.txt: 本说明文档
* h, `+ I( _- k5 b( [' |: l* p! J User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集1 W8 a P1 e" C. h0 A' m& f
8 l) X+ v- a { V$ C
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:$ k U/ _' f' `1 F/ z
---------------------------------------------------------------------------------
5 a1 n2 d$ s# V/ k! s- C | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
2 \2 l' h' x7 i: n2 k) c |---------------------------------------------------------------------------------|/ ~* L% @; D2 T8 g7 c* ^
| RTL8703AS | rtl8703as_config | mp_rtl8703as_config |
; \; [. q- ^/ s$ {: t | RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |! {" l/ Q4 F! g5 p( G/ `
| RTL8723AS | rtl8723as_config | mp_rtl8723as_config |
5 I7 [: d/ z1 F/ z' G7 y7 V/ x h) R | RTL8723A | rtl8723a_config | mp_rtl8723a_config |
8 {; c3 T5 b2 X. N d | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
1 [8 a) c6 V7 _ | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
2 t! L* |2 T8 ?& a | RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |
! U# v( ~5 O$ ?' R | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |" |6 i& U" D5 N" l0 p% x
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
3 `. `/ |9 ]4 L7 X# E | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |4 |. f! k$ N2 s1 k+ f
| RTL8723CU | rtl8723c_config | mp_rtl8723c_config |) G: u+ g) ^9 Q9 A2 G; l C
| RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |
/ O$ |4 I- k0 H1 n# T# A | RTL8723DE | rtl8723d_config | mp_rtl8723d_config |+ Z* m, b! Q5 _
| RTL8723DU | rtl8723d_config | mp_rtl8723d_config |
* t4 ]0 ~; N" R( q' l5 R4 e- i | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
2 k5 ~9 J% K2 q* d+ @ | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
* ?& j, V! s- S9 I8 `8 J! z | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |; j& X/ s. b$ x" }% w
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |' l7 z% I& K+ U% A% m
| RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |
# {7 W) z$ X$ A8 K3 j | RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |6 U/ X s. `& c- n+ X* L+ G
| RTL8821AS | rtl8821as_config | mp_rtl8821as_config |
: S# z8 }# S( R9 c r8 f7 h | RTL8821AE | rtl8821a_config | mp_rtl8821a_config |6 K: W+ s6 B' D3 f% O
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |( C9 R3 J. b9 p7 ^
| RTL8821CE | rtl8821c_config | mp_rtl8821c_config |8 L- Z3 Y3 W3 m! t r9 f7 L: i6 |
| RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |
% `* M# E& f! q2 r+ U: V4 J# f | RTL8821CU | rtl8821c_config | mp_rtl8821c_config |
" ^% X) D' S) V* R | RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |" K) }# |8 s3 }" }" e; s+ X) n
| RTL8822BE | rtl8822b_config | mp_rtl8822b_config |
* D! ]( |5 p X$ w: s( Q- ] | RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |3 g' [- D& ?# M/ ~
| RTL8822BU | rtl8822b_config | mp_rtl8822b_config |
) L. B/ k$ _% q8 r. X | RTL8761BU | rtl8761b_config | mp_rtl8761b_config | d( _' f& }) k/ b+ J
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
, A$ a* B( H2 }2 v5 g& Z+ y+ Y | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
: F3 b9 ~) N# R2 E | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config | y) p$ M1 G: z2 \
---------------------------------------------------------------------------------
8 D' O# D: g$ F' U1 L$ J4 s. hLinux OS 系统
4 W$ f4 [" R4 H" x) A9 V# | 文件说明:
% V0 m8 @# s O4 i9 d5 W, q* G& Q Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成
. A- x7 C2 o2 |/ K. \! @! t BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
5 j1 r9 U+ B2 F3 j0 F BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
3 o$ o+ f5 `7 B Readme/Readmexxxx.txt: 本说明文档1 m* A$ F2 C2 D3 k0 u
User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集! W8 w3 k8 a- h* c1 Y
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:& K5 ]4 {4 N, M* `" p5 W" }
-----------------------------------------------------------------------------------
- j8 a$ I) j/ L3 N2 ?- f | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
& e$ q& `$ ^. H8 r- V( S2 C |----------------------------------------------------------------------------------|
) N) ]2 ? a/ P6 _ R, |0 M$ t | RTL8703AS | rtl8703a_config | mp_rtl8703as_config |
% R! R3 o$ j! x2 c- }# D | RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |8 G" s2 R, W+ K1 g
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
( u0 [+ ?- l0 v. Z7 p) e | RTL8723AS | rtl8723a_config | mp_rtl8723as_config |! W) n ]7 t9 E: I% g+ _) Z( W+ e6 Z
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |! {$ \* t; H- X3 M, R* v
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
3 c6 V9 a8 S, l6 `/ y6 G P3 r | RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |/ `/ H! w* j3 }: c8 a0 m+ N+ p6 T
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
4 c, k0 t) N j | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |* s* y+ y- t& f" U! _, J
| RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |
: V* S- f2 N, T9 [7 A | RTL8723DU | rtl8723du_config | mp_rtl8723d_config |
/ ]( W. D' [2 P+ Q: C' I/ x3 t; P& k7 _ | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
$ b% p1 Q a9 U2 o: o9 V | RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |1 O" ]# A* J- e2 Z' S4 i
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |2 p) p/ n/ b6 [& X- U$ N& u
| RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config | t$ d3 R1 W0 Q T. k/ T
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |! o `( P$ d' ]
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |$ E4 n3 g) U; ]- n! G
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |. H# ^. x2 u! w- H; Q) o( M1 r2 e
| RTL8821AS | rtl8821a_config | mp_rtl8821a_config |
8 k3 M( m, M/ _ Z9 V& g* g0 @ | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |
* z0 M% Q- [; c6 W0 A | RTL8821CS | rtl8821c_config | mp_rtl8821c_config |6 }; A! q! w/ x4 F o1 W
| RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |' ], O6 C0 l. _3 t3 W
| RTL8822BS | rtl8822b_config | mp_rtl8822b_config |. ?# D, A; D2 r
| RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |
7 t5 K% Z! d/ { | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |4 e" Q4 M. }$ v5 k
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
; Y, v3 d9 W8 u: z4 V+ U" ?; C2 @ | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |. ?0 I: w# C0 i r1 R! M! F
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |6 K L: [, @( O4 _3 B3 P
-----------------------------------------------------------------------------------
5 i) G3 s" E: P8 b7 \9 l
' z6 p! p% H5 t% t0 A( ]2.运行环境搭建
( D: f- E2 U5 w7 QAndroid OS 环境% g. ^/ [0 A! \0 @" i
将 tool 所需文件放到系统里
" S: U$ D2 K/ Y" F' a& W将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;
S4 A$ h( v, g) H' _adb push rtlbtmp /system/bin/
3 `2 e& r K# [' B9 b7 m+ a1 f( [adb chmod 777 /system/bin/rtlbtmp
$ k( S! ] T0 U( _4 y* `8 u将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;+ a' `# v+ f2 V, \# g6 s
adb push btmp.default.so /system/lib/hw/' H: k, f4 c9 N
adb chmod 644 /system/lib/hw/btmp.default.so
/ v, r+ K0 Z/ `* {) Z将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;
: A/ g6 r+ w$ t: H9 jadb push mp_rtlxxxx_config /system/etc/firmware/
& J* Y( @. ~) P8 V; G P: d% kadb chmod 644 /system/etc/firmware/mp_rtlxxxx_config
! X( i7 S+ Y+ g将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;
- ]* Q: Z6 D7 E; M; V9 Cadb push mp_rtlxxxx_fw /system/etc/firmware/' w" A4 b5 c B$ j9 n
adb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw
4 c; g, k' x) T: J5 S6 |8 p! e! A# R1 S5 ^
0 V2 c+ [" _% j2 f1 L% i7 l- S- X2 G0 O% _$ h
#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面
0 j# s6 {$ n$ c. `& y/ J将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;) A# g& n* u; W
cp rtlbtmp /vendor/bin/
7 S' w E8 d: V4 N5 i1 M9 ichmod 777 /vendor/bin/rtlbtmp
# P9 q( I7 } A1 N h. {将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;
8 `% ]2 D& P0 h1 K, hcp btmp.default.so /vendor/lib/hw/
* k+ f2 Z# c1 E' y6 D0 P' v Ochmod 644 /vendor/lib/hw/btmp.default.so
% o; _4 q4 K3 b6 Q/ O8 @ v将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;
# \. `9 K1 _( G9 p9 h; |cp mp_rtlxxxx_config /vendor/firmware/, ~1 m% Y0 z D0 M$ E* i) N
chmod 644 /system/vendor/firmware/mp_rtlxxxx_config7 i/ @# [: e$ c* A1 h! U5 t
将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;$ ]. N6 ]6 l8 L; F$ J! i+ E/ I
cp mp_rtlxxxx_fw /vendor/firmware/
' K# h. _. H( }. Echmod 644 /vendor/firmware/mp_rtlxxxx_fw
! S* I% B7 v( d以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;, p* F, e# P" b
关闭 normal BT0 i7 d! e) Z) m( p4 B
rtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:
( H( {: [1 G& Y# c& [; aservice call bluetooth_manager 8(关) /6(开): j0 p1 S% w' M5 X
或者
2 M. m# @ A4 V6 Y7 Ycd /system/lib/hw0 |6 U @+ w" j* R' ]% b
mv bluetooth.default.so bluetooth.default.so_ORG
" _8 S) Z9 W o1 i3 t: P(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)4 N* G4 v" H+ x- Z% H( `2 I
reboot
6 ?) `+ H$ e( U7 e
) y/ }8 r8 _3 v; ~# |, B$ T3 mLinux OS 环境
' f5 S# k0 G0 Y) [6 [ 将 tool 所需文件放到系统里
4 v# z+ t& J5 k+ p2 F6 J$ P w3 [; Z0 k% }' \cp rtlbtmp /usr/sbin/
. u' i+ v" H4 G* u+ ]chmod 777 /usr/sbin/rtlbtmp
* f6 X7 D; i8 ?6 v5 w/ t+ [4 qcp mp_rtlxxxx_config /lib/firmware/( T5 e- a1 ?$ B3 o, M' ] ~
chmod 644 /lib/firmware/mp_rtlxxxx_config; S* D, z& z$ b5 d3 {# N4 X
cp mp_rtlxxxx_fw /lib/firmware/- [( S; R4 }1 X
chmod 644 /lib/firmware/mp_rtlxxxx_fw- u m5 J/ A$ W+ j4 t" h
UART 接口芯片准备& |0 r, }* E5 Q6 t% L O) R
请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;3 L4 B( Z) C* D0 b0 Q9 Z" I* j( t
USB 接口芯片准备8 q* T6 e7 l% L
先打开 normal 蓝牙,再 hciconfig hci0 up7 U/ R# q" g$ ]8 g {% J
$ E, O: ^" }- A( Z1 l1 m# c! z
+ @4 E2 @3 k* O4 ~4 E
3.BT RF Performance Test & TX Power Calibration
0 z: t5 J d2 i4 m& \1 l; I% h) i参考User Guide
5 Y/ K$ q" @2 h% E" J#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide# L/ p$ B* w" ~
4 M& l' g' v8 ]
3 h5 v" F0 u. ?3 D0 u9 k& Z一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!" f) L+ m. g6 e9 U% g1 E
9 x. p7 m8 u/ |$ z7 ^/ O3 ?" H( W
1 B0 p' q5 s6 y# d$ ^: D
|
|