|
1.文件说明
1 G$ @" c/ Y3 k E( |3 S3 [6 [) Z! rAndroid OS系统
( s3 N* t1 t/ O 文件说明:
, E% k! \) D) T/ F9 z Android_tool/rtlbtmp: 应用程序
# r/ r2 \9 u# u5 Q! Y) B6 k Android_tool/btmp.default.so: 应用程序5 F1 C- ]. j6 q" V
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
2 F$ \5 {3 V& Y B BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config 7 n) _' `9 K Y M/ U
Readme/Readmexxxx.txt: 本说明文档" B& ^. A5 Z% D$ t
User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集
/ a# W+ D' V' i) }# H, L - N, o/ X6 {" S9 G
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:$ B% A1 F5 y8 |: r
---------------------------------------------------------------------------------
3 Z$ t( }7 E% R" L( ` | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
6 d; g9 }- v. ?" e3 G7 x- s) q+ ] |---------------------------------------------------------------------------------|* F' B7 ^2 m3 T# E l
| RTL8703AS | rtl8703as_config | mp_rtl8703as_config |. X, k) ^7 Z6 x1 B
| RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |
! R7 X6 J! v/ ?6 U. f' i | RTL8723AS | rtl8723as_config | mp_rtl8723as_config |6 Q3 [! Y+ t; t, M% Q( I
| RTL8723A | rtl8723a_config | mp_rtl8723a_config |8 U. _1 k" {$ x# r5 ^: d
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
2 Y" U3 H' T7 `3 P | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |- o7 o* f7 G8 p
| RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |
( u. o( O4 [: v ?6 X# [+ N$ j | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
A: x' \0 {0 r' D6 m7 o, Q | RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |: D5 f: {, @# b$ O: |
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
+ K+ N* n2 r3 O4 Z& r) K | RTL8723CU | rtl8723c_config | mp_rtl8723c_config |
) t3 a4 h4 C( B* {+ y | RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |
' n1 m# {+ b7 F" A | RTL8723DE | rtl8723d_config | mp_rtl8723d_config |
1 _% W2 x. \, g: K+ h% I( A$ M | RTL8723DU | rtl8723d_config | mp_rtl8723d_config |# {* A0 q% I% Z- f: _
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
& V5 {% Q% f }% ^3 | | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
- e* U( q7 K0 s" Z* m | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |9 v7 Y# r: t$ y
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |
9 |( z$ M) Z" X9 j* v | RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |- ?1 @. S6 Z4 A6 u8 H
| RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |& X% I! O" w$ ]2 F
| RTL8821AS | rtl8821as_config | mp_rtl8821as_config |/ S! @6 w. V, i1 V; y( j7 F
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
+ ]: H7 ?7 ^9 T+ ^. J R | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |, B+ t! ?( A4 c
| RTL8821CE | rtl8821c_config | mp_rtl8821c_config |
Z7 ~( _# U6 J- ~ | RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |. h9 T3 m( W' E* M8 r" K) F; B4 h
| RTL8821CU | rtl8821c_config | mp_rtl8821c_config |4 [) ~7 D! o& _5 J- B- {
| RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |
: p0 A; j! K6 A L8 P; m | RTL8822BE | rtl8822b_config | mp_rtl8822b_config |
- R9 s E) P/ S+ c9 ? | RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |
% I6 @3 P; k5 l W3 D+ Q, w2 v | RTL8822BU | rtl8822b_config | mp_rtl8822b_config |( }6 |2 \, d, Z a( l! ^" o' f
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |
: }7 P2 }$ S3 c7 D | RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |- x* n+ N+ Q& D3 e5 o( B k
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |: v7 O) @. ~5 f$ Q6 f
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |! Y7 S6 A9 t# v( C- A
---------------------------------------------------------------------------------! \+ X. r5 R2 |; x' k, u; N
Linux OS 系统
9 F! u8 a: g* y0 b8 d. Y6 v+ ]' a 文件说明:
; y4 z' t+ }/ g0 l3 v Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成% o8 z) y) Z4 k* Z5 O
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
# @2 ?, }' _8 h- @- ?4 a2 n/ } BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config * [) g: j- ~! G4 K
Readme/Readmexxxx.txt: 本说明文档6 \0 Q6 h3 P3 n4 j1 |4 z
User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集5 s; {0 e$ ^2 x* s' j, M( ]0 G- W7 S
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
, R4 t+ h! f7 k' Z ----------------------------------------------------------------------------------- D+ j& I1 L% z! J1 g9 x! f* X
| 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
8 o* q- C: _& E. E |----------------------------------------------------------------------------------|
; [4 t9 D f# d! a) Y2 ?* { | RTL8703AS | rtl8703a_config | mp_rtl8703as_config |* `* b9 Y. Z+ ?; w$ W
| RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |, Q: V, h' m) d- h4 V$ p# n
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |6 r T- i! Z1 M; j
| RTL8723AS | rtl8723a_config | mp_rtl8723as_config |
; n0 Q7 i1 t( q6 `2 j | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |7 h" f4 [8 r4 o! n4 c. J! J
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |9 {+ R3 n, V6 N3 L: T9 {# z4 W
| RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |+ g3 J) ]3 q8 B, q7 T# B3 u; W
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config | l! l. O* R4 f% W- F" Q: L
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |: y. Z$ z% F) h/ G- F0 u& q
| RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |/ k# a7 R2 N; R7 G( y# N; Q5 @5 [, X" s
| RTL8723DU | rtl8723du_config | mp_rtl8723d_config |
- _- }+ z# ~/ A; ? | RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
* q w* L8 @" S; ~+ I" |0 W3 `, E1 ? | RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |; {' q" x# P5 s5 J/ P- h$ ?* O4 Y
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
3 k/ Y/ ?* t- e! J" q3 k; N | RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |- T: M! V' Y8 x2 ~- R
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |# x" B2 |1 a" X _# S. ?
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |8 k6 _6 m3 F. x! @1 g% Y
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
( K! B% g3 l9 E | RTL8821AS | rtl8821a_config | mp_rtl8821a_config |
; ~% K! D. I2 M' I4 a | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |
c" p* o' x8 [2 f- ~; w$ o9 i | RTL8821CS | rtl8821c_config | mp_rtl8821c_config |
! u6 w$ d, T: A7 e% _) Q, e9 K+ h& q" \ | RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |
' S8 X5 {) Z% m | RTL8822BS | rtl8822b_config | mp_rtl8822b_config |
, D6 Y. E( N9 b | RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |
) G! N' b7 H% K" p" I9 E | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |2 G' y7 A/ F F' w. V& d- a
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |3 ]1 ]: a! N$ i$ p2 q" m
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |7 T4 s) H$ q, r, c" n
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |
' z1 ]6 h A" T -----------------------------------------------------------------------------------
) ~& k8 o% _+ b5 ^0 _) E! _& c4 y$ u. w5 n; w% Y# y
2.运行环境搭建6 N1 l9 ?( ~+ r1 q, x n
Android OS 环境7 q& y/ \4 K Q" g" x- t& N* b3 W
将 tool 所需文件放到系统里7 w) [& W- h6 F; J" z
将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;& M l0 V2 P4 j2 e* s
adb push rtlbtmp /system/bin/+ B4 f7 k8 N7 u) V0 }8 K, N
adb chmod 777 /system/bin/rtlbtmp2 m, Q4 u/ X) T- ]
将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;5 t. n+ }7 O0 R4 T$ { s
adb push btmp.default.so /system/lib/hw/
4 T: E/ [0 S j) Vadb chmod 644 /system/lib/hw/btmp.default.so
" `8 e) m* a8 y) P! ~3 i, ^将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;
2 F" P! O4 i. {! j; m hadb push mp_rtlxxxx_config /system/etc/firmware/
- w( ]( o: y9 m" ^adb chmod 644 /system/etc/firmware/mp_rtlxxxx_config+ n6 o: y7 r+ l3 F2 n
将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;
3 p" n9 y# ^* B& E* {7 g; cadb push mp_rtlxxxx_fw /system/etc/firmware/
0 |/ W8 `% A' Qadb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw
4 H: `% ^7 K$ D4 j( i. ~/ }- Q; ], n5 _0 y+ s
/ q' ~8 c/ J- n3 [( h) G#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面 b9 M- ^! W3 D( |: Y
将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;
4 |) a7 R- S- f6 ]5 N2 |cp rtlbtmp /vendor/bin/1 m: f1 R3 @# d
chmod 777 /vendor/bin/rtlbtmp
' o/ B0 g: c) m将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;- m; J5 s: C! t9 p
cp btmp.default.so /vendor/lib/hw/
1 v `. }* w5 {/ \6 Ichmod 644 /vendor/lib/hw/btmp.default.so. F" {# i1 K9 V+ p/ N9 X
将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;+ U$ E( i, a' u7 U
cp mp_rtlxxxx_config /vendor/firmware/3 @9 P1 q+ J, F" h
chmod 644 /system/vendor/firmware/mp_rtlxxxx_config8 k1 Q- B4 n) Y/ w0 v1 R, r6 a8 l- ^
将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;3 W( N1 m& Z+ {+ O
cp mp_rtlxxxx_fw /vendor/firmware/- Z. d; Z4 D. J% \& L1 Z2 Z) X! M
chmod 644 /vendor/firmware/mp_rtlxxxx_fw
# F( o$ g6 k! S以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;# l- X) h( P: j2 o
关闭 normal BT3 p8 X h* x! U1 {- _5 v6 e
rtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:1 C0 L$ E+ F1 j' B8 Q8 A2 h2 r
service call bluetooth_manager 8(关) /6(开)
" P6 k% E/ {4 z* s, \或者
/ A6 ~( \2 O. wcd /system/lib/hw! P( ^/ a& \% ? a6 H/ k; d
mv bluetooth.default.so bluetooth.default.so_ORG
8 |. [7 W9 d$ H(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)3 l; y( z5 u# e' R, q
reboot3 f" d+ L: D% ~( H" C ?- m
V$ d' L$ }8 K0 d) o( A2 V' uLinux OS 环境/ f" Q+ ]5 d, _. U* q/ X" j( f" y
将 tool 所需文件放到系统里
9 t7 e1 V# }" c9 f6 G4 @6 W0 Mcp rtlbtmp /usr/sbin/
; u8 d7 P3 x* P6 J+ @/ Ychmod 777 /usr/sbin/rtlbtmp; c" f+ K0 P: D% V" \# X
cp mp_rtlxxxx_config /lib/firmware/
1 m6 \$ o0 N( q2 t% ^5 Wchmod 644 /lib/firmware/mp_rtlxxxx_config" _4 ~: _0 q& i, N7 ?! n
cp mp_rtlxxxx_fw /lib/firmware/2 E$ ^7 ?1 _) u% }8 r
chmod 644 /lib/firmware/mp_rtlxxxx_fw
' s4 m* h: |# |. @1 c( }* _ UART 接口芯片准备 S0 Y3 Q! h5 | b1 E' a
请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;
6 }0 s N c- C7 k, Y$ W USB 接口芯片准备; {5 @" T2 X$ m* g" _
先打开 normal 蓝牙,再 hciconfig hci0 up
) ^, A2 G6 k, }
, c) W# C/ o$ _5 N& X
' q8 l- f( U c6 i, z. {* d3.BT RF Performance Test & TX Power Calibration
" [' l/ N3 Z/ {参考User Guide
' m" f2 B- ]( d X8 p8 h% R#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide t& t2 Q( C" b. c
" |$ ^2 q. {/ x" Q' @
0 T$ r. j& c6 Q# v" _2 O一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!& h5 v: N' R, w. [ I. S# s( _: e
1 D7 Q; w2 k/ v1 q/ X$ s2 `* e6 E( R/ y3 o+ d% U
|
|