|
1.文件说明
+ A+ k: u) i$ w6 D0 z8 CAndroid OS系统
t) [1 h$ [) F0 G$ `5 j d 文件说明:. F4 V0 \+ f: k" [0 W; k3 c: w/ Z
Android_tool/rtlbtmp: 应用程序; J# L0 l! T6 y' k0 B+ d; W
Android_tool/btmp.default.so: 应用程序
0 O: Z. q; P* n) x9 a/ F BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
8 W( k/ k. f5 Q3 S* q BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config $ r2 D9 {- u* c
Readme/Readmexxxx.txt: 本说明文档
" ~/ t4 A6 P1 \) m l User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集
" X- T; @- S! a# s * Z/ T a5 ]' U6 A1 V5 `
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
! M( _1 I* S( X6 a | ---------------------------------------------------------------------------------! e3 v% B. w3 W# h: l
| 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
4 a. U5 h# R1 k+ F0 E% D: I6 K% I( i |---------------------------------------------------------------------------------|
3 @% d" n* ^2 M' S; I" ]; a2 [* T | RTL8703AS | rtl8703as_config | mp_rtl8703as_config |
( a3 A$ V! V; k3 G6 J | RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |
9 o- D. w4 k f* Z/ ?0 o; ^$ n9 p | RTL8723AS | rtl8723as_config | mp_rtl8723as_config |$ R- Z& ~" Z* u6 Z
| RTL8723A | rtl8723a_config | mp_rtl8723a_config | B" J& C4 r1 B3 q$ a' A
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
3 s3 A' D3 Y, T' u | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
# {, W! A/ l' ^# U7 a1 D7 T | RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |2 t: n; X! t, _6 y2 T* A
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
U2 X$ O: o- z, Z* G | RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
& C" E6 ]. N3 p' M$ l( E R5 J | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
y* X, r: u; r1 M& X" k0 K% m | RTL8723CU | rtl8723c_config | mp_rtl8723c_config |
. { t0 J# X2 ^, {; Z* s | RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config | L0 Z& a( F2 A' R% f( E1 A; ~6 H5 @
| RTL8723DE | rtl8723d_config | mp_rtl8723d_config |
K! `" G/ }, J- _. e | RTL8723DU | rtl8723d_config | mp_rtl8723d_config |
8 G9 w1 i- K1 n3 P+ { | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
; k. [! U" H" Z' H | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |( M& N7 E$ D; O) p- l. i6 }
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |% C& Y' x0 f- u& T# t+ J
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |
0 B7 g: ]3 L) [ | RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |
5 u- }# s7 h( A! ]) x | RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |
$ J+ N- ]# @4 ?3 X0 S | RTL8821AS | rtl8821as_config | mp_rtl8821as_config |! H& x- {9 l9 y0 {1 u9 o' x. `+ E
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config | b1 O+ f* z( y+ q: G/ C- `0 k
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |! O. h2 P2 u; E& Z9 D5 {
| RTL8821CE | rtl8821c_config | mp_rtl8821c_config |
# I! H& E+ }" t# S# y+ _6 ^ | RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |
9 w6 `; Q7 G& M7 c9 B3 l | RTL8821CU | rtl8821c_config | mp_rtl8821c_config |
, o( K3 l3 d7 F3 o" x! ~) ` | RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |. \9 M% o0 y# Y8 G5 t, t
| RTL8822BE | rtl8822b_config | mp_rtl8822b_config |2 Z/ @) J# p% J) `
| RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |
5 I6 Q7 o- G5 ? | RTL8822BU | rtl8822b_config | mp_rtl8822b_config |( `1 Y$ j+ }. f* [' Q C
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |
1 U) L* |2 [# v. z; T0 H- q | RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |: }$ Z' N# c1 J+ t1 ~* e- o
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
0 a- d7 M3 B6 B/ c( t5 a | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |* y! }4 D9 P+ `1 @$ |
---------------------------------------------------------------------------------7 x- c: H1 H) c9 x' J+ g1 |
Linux OS 系统2 p) m4 T$ R* r
文件说明:
/ p* M N* H8 m' _: \ Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成9 X _% e ~: O
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware: R& e: }7 X2 a
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
8 J/ y( Y; H. }; E4 }' d9 y7 C Readme/Readmexxxx.txt: 本说明文档
' m% J( T/ d: k6 p/ c% p* j$ w User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集$ q# s! q+ f+ d2 A1 k& \
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
1 U% y+ s9 s4 ?6 o h/ E -----------------------------------------------------------------------------------+ f7 L1 u2 M8 d9 Y! Q4 Q' T2 L+ V
| 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |" v2 e+ ]7 q9 Y7 Q
|----------------------------------------------------------------------------------|; O; b' r1 e: F$ o x" C3 E
| RTL8703AS | rtl8703a_config | mp_rtl8703as_config |/ d) j: u+ y0 H; f; E8 P
| RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |
, T. H) [( m: u- d7 P | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
# d) U/ h- a: u' K | RTL8723AS | rtl8723a_config | mp_rtl8723as_config |9 u3 d+ n; M$ w" b& [
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |! j) h0 |" l4 h- j# f3 \
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
9 \4 O: ]0 l. P, h* E | RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |" @' p# r" w! d7 U/ G
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
) ^0 @9 i- n. Y. E | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
% T# ?* D* _( X | RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |
, b- H$ ?) i( C | RTL8723DU | rtl8723du_config | mp_rtl8723d_config |
' S- ]9 S" i1 w2 p | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
; C |- \/ R0 h9 R | RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |* Q% _7 i2 c. D1 \" }
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
% M ~ |+ n& l. F5 {# s | RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |
) ~! s# V+ A: d/ D7 x | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
: x4 V3 N. I4 C7 T | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |
9 Y3 O6 x/ ^( v: ` | RTL8821AE | rtl8821a_config | mp_rtl8821a_config |9 U6 Z. ^3 z; B2 D5 D
| RTL8821AS | rtl8821a_config | mp_rtl8821a_config |* \1 V* I' D8 k1 W* I1 R/ _
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |" C$ @2 j% ] [) f( M$ r% E# A
| RTL8821CS | rtl8821c_config | mp_rtl8821c_config |
5 x7 ?$ F4 _2 T& Y* a& k# X | RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |1 O9 G* \ d, f0 _; U
| RTL8822BS | rtl8822b_config | mp_rtl8822b_config |3 F0 B9 s2 J; P
| RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |
& w0 u8 C4 P9 _' Z" n f | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |
! K. h' J' n% f: ~3 v$ A ~ | RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |% ?6 e; \4 }9 q9 o* E) ]) R
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
f) K- S# T9 F0 @ | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |! k* C/ ?( {3 J+ i( E5 O
-----------------------------------------------------------------------------------5 ^+ F2 M! f1 W5 K; A4 Y2 b" z
) y* } _) q' E) {7 E" Q; @: b
2.运行环境搭建
h, \+ ~7 u$ E) e" U+ \: o$ w9 YAndroid OS 环境
% P* }- {* C% A将 tool 所需文件放到系统里
2 s4 X* V: U9 r( J+ F) {$ J将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;
, r3 r( S! P+ j% z) H# D' qadb push rtlbtmp /system/bin/
/ |0 h& L: Q5 ?7 _: E4 Madb chmod 777 /system/bin/rtlbtmp: K5 `/ B. H% K) E4 d1 X
将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;9 }- e# o' r& p* O4 S" Z
adb push btmp.default.so /system/lib/hw/( u0 d& n+ Z7 N4 k
adb chmod 644 /system/lib/hw/btmp.default.so
% X' Y: M/ _" `+ G将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;/ j: p, C+ D G; k. u7 B; ]3 Y! [
adb push mp_rtlxxxx_config /system/etc/firmware/
3 |$ N1 J' S9 m% v1 Hadb chmod 644 /system/etc/firmware/mp_rtlxxxx_config
) H: \+ G6 \& k& v将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;& J- U! j9 c' i2 L8 T9 U
adb push mp_rtlxxxx_fw /system/etc/firmware/5 G2 t9 }5 K& L
adb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw
U$ q& i1 K+ j _8 v0 {; _2 ^6 U1 U0 J8 h& Q% Z! \+ ]9 h
/ Z7 [6 L0 g2 f* p K+ \( R, k
#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面
7 |/ }+ L" w6 F2 \& R Y将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;
* t8 N, z2 w2 ?; zcp rtlbtmp /vendor/bin/
: Q. Q3 k- S r: m. I5 pchmod 777 /vendor/bin/rtlbtmp
2 g) f [+ H3 G将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;: d- q- c( v9 B% k; Z4 ?3 k) U
cp btmp.default.so /vendor/lib/hw// x R( X! ?/ L5 K3 E
chmod 644 /vendor/lib/hw/btmp.default.so
$ @& B- R) a2 g$ d" n. x将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;
/ r4 z [1 k6 S5 ]( w& a' Rcp mp_rtlxxxx_config /vendor/firmware/7 O8 Q- }+ M& G' b B2 J$ J2 s* c
chmod 644 /system/vendor/firmware/mp_rtlxxxx_config0 l# |* B& d" d3 }0 l
将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;+ y* N' N0 I; i: r5 S% E. X% y8 B
cp mp_rtlxxxx_fw /vendor/firmware/2 ]$ s4 f! H6 }& J$ r
chmod 644 /vendor/firmware/mp_rtlxxxx_fw4 e6 k8 B& O" I7 k1 i# h
以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;
2 Y: L8 {/ y% C$ s2 i+ b! Y4 ^ 关闭 normal BT, F0 j9 F. Z: s
rtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:4 k" e0 r# l8 [3 [5 d
service call bluetooth_manager 8(关) /6(开)
$ n2 \5 V# }5 ~) u; E( A或者
) Z" I+ E, c6 j7 v; D" D7 Z5 Jcd /system/lib/hw7 y7 k& X5 e' q
mv bluetooth.default.so bluetooth.default.so_ORG
' U) T6 ]( d1 }' X* h1 P(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)5 S3 h2 {0 Z+ Q" L/ j# A! Z
reboot% T& t4 ?" l, s' ?& {7 s
- }- m2 \0 k9 ~; S l) T( vLinux OS 环境
4 O. ~! e) c. \, D 将 tool 所需文件放到系统里
, X0 S6 ]6 P1 xcp rtlbtmp /usr/sbin/
$ J; F; H. K6 K% O, z+ T$ hchmod 777 /usr/sbin/rtlbtmp h- T; Y4 u7 F* F
cp mp_rtlxxxx_config /lib/firmware/8 M! G5 ?6 @4 |- l' @
chmod 644 /lib/firmware/mp_rtlxxxx_config3 \# b4 x2 t/ d' O* ]$ c
cp mp_rtlxxxx_fw /lib/firmware/: S* ^+ d$ @8 T& _) R7 C
chmod 644 /lib/firmware/mp_rtlxxxx_fw( C4 a% c3 [, j* { q
UART 接口芯片准备
& r6 D% O+ X* t$ [3 a请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;/ k: K `% ]1 _' K" v
USB 接口芯片准备 [. O% S2 n7 ]) e4 o2 }0 [' v
先打开 normal 蓝牙,再 hciconfig hci0 up; t9 M5 J) K( G) v* o/ u
Y, y. ?) S Y3 _6 a% D: i. d- I
) k: u! }$ Z+ I7 b& p9 @5 ]% W3.BT RF Performance Test & TX Power Calibration
2 N5 D+ i I, y9 c8 Q, Q2 B# @参考User Guide, D1 k# d0 A4 [) X9 N8 T
#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide- W" G `1 a# V: P0 I4 [& ]- u' M
5 f+ T2 K) n: z9 X* Q4 E8 }
* t- i4 X* o% l* E" ]一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!* \# ^+ P5 F4 t: @
C/ [. i1 L* [8 \. u' s: ? n/ i# [
) y4 y8 r. [1 h5 h6 R2 S9 g
|
|