|
|
1.文件说明$ A& z" V1 B5 u; j8 ^
Android OS系统: h) s. S _8 O0 J; }
文件说明:
( t) _" z$ [% x+ { Android_tool/rtlbtmp: 应用程序2 @6 o9 Y0 Z, r' l3 m
Android_tool/btmp.default.so: 应用程序
3 p/ `# C/ j7 G- _' Z8 o BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
# K- Q z6 ?9 H5 Y BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
2 c, S- P9 Z8 m/ }/ u Readme/Readmexxxx.txt: 本说明文档
- ~6 r! M, h6 \0 }6 j User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集
5 d: Y3 i0 m7 T, z) {
; h3 t* U z0 `) J; A) ^; Q D$ a 下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
" a6 c$ X0 h$ M1 g: ]0 e ---------------------------------------------------------------------------------) H2 z( E x3 |' P4 m. d. n/ @
| 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |1 N7 I- T2 L2 U
|---------------------------------------------------------------------------------|8 `# \7 ~: G2 I9 k' x/ y% y
| RTL8703AS | rtl8703as_config | mp_rtl8703as_config |) n! Y" Y) Q" Y6 }5 e% b
| RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |
& Q' S! U3 o# ?! x: B: z* ^' [ H! z5 f | RTL8723AS | rtl8723as_config | mp_rtl8723as_config |0 h) B6 |0 N7 J! q" ]* }
| RTL8723A | rtl8723a_config | mp_rtl8723a_config |) S4 g: g. s! S: K0 p
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
% i# b$ ], @" e7 e, C3 W | RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
# k, `* y2 f& V7 ]7 T. G | RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config |
) m; O* i- z" W! S6 \, ~ | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |' o# K0 j# g* O+ h# ~2 D' q
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
- T8 f: W* X9 {% u+ O | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
* r- X, C' s) `# h | RTL8723CU | rtl8723c_config | mp_rtl8723c_config |
7 Q# j, A/ r8 k6 e | RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |# ]- q/ j, \. N7 s+ |$ e3 v. J) u% m
| RTL8723DE | rtl8723d_config | mp_rtl8723d_config |. N7 Y3 `2 N! k! R: |- V# L2 p
| RTL8723DU | rtl8723d_config | mp_rtl8723d_config |* A0 v0 `# L; m }
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
{, g: R$ X& D% A6 I( a& { | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
5 j2 A% Y. W2 h4 Y8 h% ~' X1 e! H | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
) g( k+ h3 t+ C% A9 { | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |% a* `" t1 C$ C. R: @: J3 V
| RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |# p" {" V- Y: B
| RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |
; y& n- Q0 o, ]+ W' g8 e0 X! |( o | RTL8821AS | rtl8821as_config | mp_rtl8821as_config |9 m' I) o( V; Y z
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |4 u0 p9 ?0 N2 O
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |7 K8 z6 K, y4 ^, l
| RTL8821CE | rtl8821c_config | mp_rtl8821c_config |) @2 C! X; f6 V( }3 {
| RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config | T' X2 Z% |6 n
| RTL8821CU | rtl8821c_config | mp_rtl8821c_config |
. W! e& @, X9 P# J: U | RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |
7 M3 e; H- {9 O* l; p5 [ ] | RTL8822BE | rtl8822b_config | mp_rtl8822b_config |, \" ~+ g2 T1 t2 Y0 a; n+ O& t
| RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |1 d; r+ f& {. m1 B( [. l, A5 A) Y
| RTL8822BU | rtl8822b_config | mp_rtl8822b_config |4 u' G. a8 ?# _0 g# w
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |
( {) k) G( p% f) a | RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |
4 |6 Z+ T6 u" [2 g2 Z2 u | RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
! C' G) {" p$ Q% D9 A5 ?8 H. x | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |% O1 |2 \/ k. G6 g
---------------------------------------------------------------------------------8 b R1 S, ?, I& C1 `( o N" J" ]
Linux OS 系统
# j8 |, I- J* c' o9 e/ }9 j 文件说明: U5 }" b% ^+ W& w0 E7 ~
Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成
: L6 ~/ r& k0 {, Y$ f/ V BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
3 A' g3 Q+ `$ X. g( ?0 ^) E9 Y' T# |& J BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config
8 s1 l, F7 t* Q3 W: x Readme/Readmexxxx.txt: 本说明文档
/ |7 v; |$ n0 A( n9 X- T User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集
# h- [% I, a4 |( [! k9 W3 ^' Y. o 下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
7 O1 _, x/ F5 w* r -----------------------------------------------------------------------------------
1 Y& c/ L# [! ~/ _# P | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |6 b: _$ d( m, T3 U
|----------------------------------------------------------------------------------|
/ o6 m F. R7 Y; H# C2 @( T6 ~+ A | RTL8703AS | rtl8703a_config | mp_rtl8703as_config |6 _7 n1 Z: |. @* ~! G: l
| RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |
, u6 [; ^$ ]: l6 m2 l | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |
+ R7 X) J0 J# v" } | RTL8723AS | rtl8723a_config | mp_rtl8723as_config |$ o% Q1 I0 R P
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |
5 H0 ^( I7 @6 s' }6 N! B! z' v | RTL8723BE | rtl8723b_config | mp_rtl8723b_config |5 b# `+ Q& n; {8 z& S- } ?
| RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |
O+ n! j' M& L4 t8 I$ {0 u+ G* l | RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |& [3 h8 Y1 T( p
| RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
+ l5 T( s" O* f3 H# Q( }6 |( C | RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |
2 Y: A7 ^+ d$ k, J1 ]. E | RTL8723DU | rtl8723du_config | mp_rtl8723d_config |* r$ F) l& s1 X0 Z4 M* l2 Q
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |* P, ~! D7 G5 [& E& Y+ Q
| RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |
7 [& Q9 t1 M ^$ p% {. Y | RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
5 \0 ^: T6 J9 f" i/ T2 p% X | RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |
; I2 f1 F3 T! Y2 O4 Y- P& O h | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |
: l _0 C+ X) W | RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |* e6 l T- _0 T6 y6 a x9 t
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |) [/ h2 U$ }; t j. `
| RTL8821AS | rtl8821a_config | mp_rtl8821a_config |
, t! }1 r/ J; ]! T | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |9 c* X0 T9 c. o$ ?+ t8 ]1 @
| RTL8821CS | rtl8821c_config | mp_rtl8821c_config |
I, `; m5 n* F" D% q6 s | RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |
& {8 ~- t3 J. ]6 O& T | RTL8822BS | rtl8822b_config | mp_rtl8822b_config |" ]; T; [% X+ p& O* N* {, n5 j
| RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |
. V/ m0 M9 v1 I3 H! q# { | RTL8761BU | rtl8761b_config | mp_rtl8761b_config |
; R, A4 k; I) Q# V: t% p2 [ | RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |# f! x4 E" u9 E4 u0 V' ^
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |
" t E9 c# P; b& F8 T | RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |
1 k! _( d; J' K; A- J0 p6 l3 B/ o -----------------------------------------------------------------------------------1 c6 f( V: G" i2 z9 a
+ g0 v5 {" {8 m s8 _0 d
2.运行环境搭建2 V( N9 z* a( u& w
Android OS 环境# f8 G. u' ]! k0 p4 r
将 tool 所需文件放到系统里
8 Q C/ J& V }; [7 L将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;: ?/ X8 \8 s7 }- q9 W/ l4 n
adb push rtlbtmp /system/bin/2 P. s6 d9 l1 c u5 M
adb chmod 777 /system/bin/rtlbtmp1 Z4 ?0 Z3 y1 x3 Y
将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;
/ J% y5 H: E* O8 T+ ?# Cadb push btmp.default.so /system/lib/hw/
6 a& k7 s8 Z" p4 {8 }9 C% Uadb chmod 644 /system/lib/hw/btmp.default.so
* `' C8 P) T8 w1 {0 D) H+ m将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;* G' F- W5 H' Y9 z/ \! N X6 C, V
adb push mp_rtlxxxx_config /system/etc/firmware/$ n" e: I6 y" t0 e
adb chmod 644 /system/etc/firmware/mp_rtlxxxx_config0 i, {6 o' X7 q
将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;
# {9 z$ ]9 R g* I' M3 R) Y8 Dadb push mp_rtlxxxx_fw /system/etc/firmware/
2 y0 p q2 K% @$ O3 ?0 O% |. eadb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw! w t' N, K3 _# E# k0 S' ^: e
& z9 }" b+ l# o4 x. R+ Z" }% N5 L
8 B' b4 P9 h8 N5 c! O
#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面
* M: R' \0 d7 K- ~, b将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;. q( L' ~; b' `& x3 W& L
cp rtlbtmp /vendor/bin// f M7 A* h; [5 u! H
chmod 777 /vendor/bin/rtlbtmp
! ?+ i1 f. g( S2 r将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;' ]# o+ ]$ \" N! l
cp btmp.default.so /vendor/lib/hw/
" \) G5 S' U$ f& S& L# Tchmod 644 /vendor/lib/hw/btmp.default.so
- e9 S7 P9 C1 P5 \将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;
$ a) s* r+ } r L1 B2 w. w: u. s+ [cp mp_rtlxxxx_config /vendor/firmware/% {+ M5 Y0 N( S$ j+ F! m7 q
chmod 644 /system/vendor/firmware/mp_rtlxxxx_config
5 K9 ]% T4 q9 O将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;4 E( J, W C9 C/ Q
cp mp_rtlxxxx_fw /vendor/firmware/$ }* w2 A, N7 {# M
chmod 644 /vendor/firmware/mp_rtlxxxx_fw
' D' c2 t1 \2 b& c以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;3 _2 c& C' I" F5 _$ V
关闭 normal BT8 g1 p( C3 ~5 ?
rtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:
/ o" L, l5 j4 z0 dservice call bluetooth_manager 8(关) /6(开): V) @) V* @0 ~( A. }7 C! ?
或者
7 u# ~4 {" W5 e. E, y0 r+ M0 rcd /system/lib/hw
3 l4 I# N7 c) {mv bluetooth.default.so bluetooth.default.so_ORG4 V; {: x9 V1 R- ~- {0 ~
(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)% E4 u, p0 x( u( S5 N
reboot
$ _8 P- O2 n9 f; X+ W& M$ }0 K7 \* H/ D- J1 _% x0 }
Linux OS 环境! J7 l. @# @' J9 v0 l* S
将 tool 所需文件放到系统里
) @& y/ L0 @; X8 i6 C fcp rtlbtmp /usr/sbin/) I4 g9 _9 K2 F/ ]
chmod 777 /usr/sbin/rtlbtmp4 {* L- U: D" {! O+ B' ]
cp mp_rtlxxxx_config /lib/firmware/
6 F8 F6 `5 p# |+ O# { C- Kchmod 644 /lib/firmware/mp_rtlxxxx_config4 m( Y8 ]# _) j' j. E$ `
cp mp_rtlxxxx_fw /lib/firmware/# [& h6 d$ m* E, ^
chmod 644 /lib/firmware/mp_rtlxxxx_fw6 A. {5 U" L& N/ F' _9 c) q
UART 接口芯片准备$ Q- h; ]0 r) L4 |1 s |5 _/ d
请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;
7 z- e" N2 z R USB 接口芯片准备# s( o, q6 K% W8 j( k( C- Z
先打开 normal 蓝牙,再 hciconfig hci0 up% r/ [" K& F, G8 @ {
4 a* d$ _- |' X7 B: r$ B! O) h
! l! p1 }# H& z3.BT RF Performance Test & TX Power Calibration
! [* F8 ^9 E8 @6 U, s2 m参考User Guide- @5 F% H4 t# _4 Y$ _" c
#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide
5 {+ {0 p1 d S& w \# E8 f* X4 g) k- T; p) k( k
9 F/ C9 c6 j# H& H+ `0 M% U. a9 u
一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!, }- z; f5 M7 Z. {) ?
, G% E. ~2 \" m* p1 ?6 B
5 i# n# K: D$ \ |
|