|
1.文件说明
6 x6 N& ^" k" pAndroid OS系统( |* ?3 o! I" f* O. e% |
文件说明:
+ D$ Q& Q# R% T/ B6 B& p/ Z; ^( M Android_tool/rtlbtmp: 应用程序
& t3 q3 [6 ^2 q @( K1 l! \$ y+ W8 b Android_tool/btmp.default.so: 应用程序0 t) e# S( [. l* @; u
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware5 y7 r# n$ V8 y% y
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config / H1 l4 d" r+ @
Readme/Readmexxxx.txt: 本说明文档
2 Z! l. t4 C: K4 J/ C9 T User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集
, M1 X* e0 K7 _4 [& k1 d3 c4 Y: r
8 ?1 J' M0 R# G! U6 h& g 下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
+ z! ~! T& T. w' n$ ] ---------------------------------------------------------------------------------
; G0 G8 Y7 M! X" W | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
1 L8 [/ G f _; P/ i |---------------------------------------------------------------------------------|
- C% I. S, X$ ~" U) a% D | RTL8703AS | rtl8703as_config | mp_rtl8703as_config |' F# R- T+ D2 {; I7 y$ u
| RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |
3 m# \2 r4 `. ]! V) G | RTL8723AS | rtl8723as_config | mp_rtl8723as_config |; S4 I: U* o$ m8 a
| RTL8723A | rtl8723a_config | mp_rtl8723a_config |
" W- Y/ T! b* }0 u | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
6 R( E J& ` ~0 C4 Z& ]1 J, E) L+ X | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
' l# E) ?% _# e8 X4 x | RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |
1 s9 e( S+ N$ Y4 c3 [4 K1 V; n l | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |% Z: Z- K8 u- T5 M+ p/ k
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |; ~. K* b; z" G* X# @' X
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
+ i! S# R. N1 |: |% }7 n' S% ] | RTL8723CU | rtl8723c_config | mp_rtl8723c_config |6 ?% Y; u: d# w3 r! S, T6 Q7 w
| RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |7 B3 a8 x# Y( y+ d
| RTL8723DE | rtl8723d_config | mp_rtl8723d_config |
3 z0 I: w2 }9 r0 f | RTL8723DU | rtl8723d_config | mp_rtl8723d_config |) H4 ~$ M R7 S0 l! p
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
% _ }; }! z$ e& P | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |% ~( l* _) A. O# c$ ^
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
% P* d6 X. `7 s! `7 b | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |
6 k! O. \! r1 e$ s! v# K/ p S | RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |
4 x# g" b" s, O% v3 `, u | RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |
( I- N1 X& g' ]! A9 }8 ?: x | RTL8821AS | rtl8821as_config | mp_rtl8821as_config |1 H% L3 ?& S9 L
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
( K( M0 q( j" S | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |- G5 P' k* X. X. K# _3 N6 ^( V
| RTL8821CE | rtl8821c_config | mp_rtl8821c_config |5 f% |3 d! N5 m' P$ g. O. y
| RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |
% W3 H. U7 Y+ Y$ J8 z | RTL8821CU | rtl8821c_config | mp_rtl8821c_config |
5 a' m2 c! X5 l) e- Y | RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |
, C/ l% w! \. l' |$ [0 ]. v# s | RTL8822BE | rtl8822b_config | mp_rtl8822b_config | a: Z* b9 Z1 D( A4 p( K. ?
| RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |$ T. T/ s7 z) p# r4 ~2 ~# {
| RTL8822BU | rtl8822b_config | mp_rtl8822b_config |
! g: ?/ P) f6 E. C | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |) t+ q* N6 X" f3 P6 u! \/ m" V
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
5 b ^( D4 ^6 J) _/ s! S l1 c | RTL8822CU | rtl8822c_config | mp_rtl8822c_config | t4 j& u- g9 Y0 B
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |
, W1 Y+ |, U; M" l7 l- {2 m ---------------------------------------------------------------------------------( u$ W4 r# ]9 g. }
Linux OS 系统1 a( M) \$ d+ D( k ^
文件说明:8 B$ }! X ~ O( m1 o
Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成
: K; A; z& H) X2 u, S BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
) T) \! _& h* {. G7 N3 g1 S BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config 1 E% R+ x* e* e
Readme/Readmexxxx.txt: 本说明文档& s: D* |* g3 {0 r' n( J$ {
User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集1 E2 F/ x' F2 T8 z( _- h
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
' B7 g7 a$ h$ x$ [. \6 F4 s, s -----------------------------------------------------------------------------------
8 U% W" z5 F! a. T | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
# D4 L' \ }$ O; H5 P |----------------------------------------------------------------------------------|
8 b x+ e; o s) n | RTL8703AS | rtl8703a_config | mp_rtl8703as_config |
. r4 ?* t+ b) j/ u' ~ | RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |" `3 _& w1 v0 x: y+ U7 F
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |# D- n8 Q( d0 J* ~& u% p! i
| RTL8723AS | rtl8723a_config | mp_rtl8723as_config |. l9 w, [ S: w% E
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
# O/ ^- C _, M: G9 c. U% m | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |8 V: y: H; w( }
| RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |
1 w$ f; I; {, a; u$ b1 O7 F- _ | RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |6 R/ g* A" [$ T9 Q. W1 u
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |* a0 B1 n& K8 p
| RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |
# O# ^+ W' _3 H" B" J X8 i | RTL8723DU | rtl8723du_config | mp_rtl8723d_config |
. B! E3 u' H F7 q6 ^ | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |1 t8 b) s( Y+ H' y+ Z, J
| RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |
3 T( v R/ K5 W | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |9 B7 V% _; E( M$ }3 H8 k' e/ s
| RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |1 `( q, z( ~* n' P4 y, x$ a
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |9 \: Y. I) z0 U6 ~7 M+ S
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |
' ~' N( X& O3 O9 R, i | RTL8821AE | rtl8821a_config | mp_rtl8821a_config |4 [: K1 q4 z. r$ | |
| RTL8821AS | rtl8821a_config | mp_rtl8821a_config |* O' S3 I. i4 H9 Y
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config | ]! w: _4 _4 m$ d
| RTL8821CS | rtl8821c_config | mp_rtl8821c_config |4 p1 T6 c6 {' ] M) W& D" I1 G* y9 q
| RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |% p+ d$ X/ R, P8 ~& K9 K" L# e
| RTL8822BS | rtl8822b_config | mp_rtl8822b_config |
% v. p) Q+ p5 P1 W7 |- z1 w4 H | RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |: ]/ p/ F* y7 l2 H( B3 O4 z
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |9 d- d s2 }; W: s; L) B5 \" B
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
5 Z# A- S% {* w; G( Y' @1 C7 E | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |' }2 q: C$ a" g! Q: F
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |
' J S7 O" h- D p7 \. ^ -----------------------------------------------------------------------------------% {2 j1 Y' F5 Z" H+ x
" Q- L+ X5 q, ]* j2.运行环境搭建
|2 S1 w, d1 ~/ h! KAndroid OS 环境+ b7 Y1 _% g. j. P; r* t
将 tool 所需文件放到系统里
9 [- P9 z+ ?% S2 h# Q将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;; |8 J# o2 M3 Y
adb push rtlbtmp /system/bin/
2 b6 c/ E+ ~# Q1 i9 Tadb chmod 777 /system/bin/rtlbtmp
. {7 x) K! o. M( B4 m; w0 m将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;4 E: L$ {( [! v* ^) E! W4 x& J& W" R
adb push btmp.default.so /system/lib/hw/
. @7 L- z8 d/ o" ~6 Radb chmod 644 /system/lib/hw/btmp.default.so
- C3 X, L4 _. r将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;) l( m. \- T' V2 h8 o: D0 I
adb push mp_rtlxxxx_config /system/etc/firmware/; p H$ w% C: X. i, ^
adb chmod 644 /system/etc/firmware/mp_rtlxxxx_config
( V. p H! @. v% ]8 p. @6 |将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;
. U. D: {. h2 [8 R% V. c$ ?adb push mp_rtlxxxx_fw /system/etc/firmware/
, F1 o; n$ p! N5 Uadb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw8 g) i4 u8 ^ M
2 _3 j. }, R! q0 D6 ]6 W- f3 C2 H, D+ d8 p" E
#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面
g! W* R0 R, D& q5 w4 r- q% j0 f将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;& m! _, [5 N# x3 S" P
cp rtlbtmp /vendor/bin/
* h& y* y& {$ \/ o4 `9 ^( Schmod 777 /vendor/bin/rtlbtmp% B( j2 d' _1 C+ R6 e( x
将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;7 M/ G3 p3 B' c0 R
cp btmp.default.so /vendor/lib/hw/! V+ R* G" u+ T7 Q% N
chmod 644 /vendor/lib/hw/btmp.default.so+ q# W) t6 k1 L4 W! ?: M
将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;9 s+ K8 j* l- b0 E2 D. [! N
cp mp_rtlxxxx_config /vendor/firmware/
1 ]" g) B2 _8 q! l4 w' Kchmod 644 /system/vendor/firmware/mp_rtlxxxx_config* u4 {/ [; S0 ~) M
将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;3 A: N# p3 V# d7 E1 z: j: n
cp mp_rtlxxxx_fw /vendor/firmware/
. J# T' m2 C$ M: p' ] A) I# echmod 644 /vendor/firmware/mp_rtlxxxx_fw
, z1 S% R' u/ w& R以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;
0 }4 I0 \ N, p/ S 关闭 normal BT9 X) i6 b, G! b; x/ E5 U
rtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:
4 A6 i$ w- e! z) Hservice call bluetooth_manager 8(关) /6(开)& }$ f; n- ]1 }6 N9 p) M- [
或者
3 w! z# o% N0 w* mcd /system/lib/hw8 ]1 s) H% M8 D% A
mv bluetooth.default.so bluetooth.default.so_ORG
. D/ l( z0 x# Z' z5 J- u(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG): x7 I3 R$ q6 g# J0 ]
reboot( s' X1 ], g2 S. M( p( f( O; K0 i
% u0 Z, \% t! t# PLinux OS 环境# K8 \+ P! V9 E$ F* b
将 tool 所需文件放到系统里
: Q" [9 e/ A% c* M, G2 ?cp rtlbtmp /usr/sbin/7 ]! S+ A8 }% y4 W, I8 ^
chmod 777 /usr/sbin/rtlbtmp
- d5 E. [: |6 L( l7 lcp mp_rtlxxxx_config /lib/firmware/% S0 `' V" ?7 B) ^; X
chmod 644 /lib/firmware/mp_rtlxxxx_config
% T6 s0 ^5 |# Gcp mp_rtlxxxx_fw /lib/firmware/7 G, y4 x- [1 g4 Z
chmod 644 /lib/firmware/mp_rtlxxxx_fw
! N _9 E$ P& q" c3 i) W. G5 f# y- A UART 接口芯片准备
3 o \" f: ^0 v5 B& S请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;; c+ z5 X8 |$ c! G
USB 接口芯片准备
; y/ @( b5 } H+ K! k! W先打开 normal 蓝牙,再 hciconfig hci0 up% R1 o( f q/ }4 k* x) Z1 L
5 I' G! w5 R d5 p1 R3 p: i
& _9 D6 M$ s4 t( {9 D4 Y3.BT RF Performance Test & TX Power Calibration5 H+ l+ `; J' v# |, d* t, l
参考User Guide' B6 N0 P4 u0 f0 D7 i
#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide$ W5 X5 m6 i3 y" \ c W! j# _: ~8 h
4 ^1 W) k C! R! R# z
f* `, z+ B# g+ T& Z; i
一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!
' m- F! b3 C* v# P7 I0 P! }0 A& v% ]( \: s% \9 ^$ I7 w! s! z k
* \8 O+ \4 V: q2 L+ O/ \ |
|