|
|
1.文件说明$ s3 r, U K: K/ ^
Android OS系统
. _% @5 h% X; j' {2 W, V8 ] 文件说明:
1 @ V) v) ^ z# I Android_tool/rtlbtmp: 应用程序. g# b4 S5 U' f1 d4 e1 @
Android_tool/btmp.default.so: 应用程序% v w9 O$ S# B3 N
BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware& ]; S6 V9 f' N6 c8 A, j, K
BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config 6 q* p( i/ m) }# `3 u/ [# C
Readme/Readmexxxx.txt: 本说明文档
- }, x5 ^# x; m3 V, `) U; V User Guide/MP tool User guide for androidxxx.pdf:mp tool 的命令集
: \! P( g$ ^8 R, B8 ?, x$ j& T ) @2 y' T2 O% i3 n0 A, d" d5 `. Z
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:
v3 C1 t4 ^: [- j8 k" E ---------------------------------------------------------------------------------
- j# R! \/ }* L e- Q: B5 n | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |- W$ F4 w! P; \; Q. @
|---------------------------------------------------------------------------------|
' T! e z1 x1 T | RTL8703AS | rtl8703as_config | mp_rtl8703as_config |6 v4 W+ @1 j( P4 o* l
| RTL8703BS | rtl8703bs_config | mp_rtl8703bs_config |3 @# D2 {* ^6 H9 Z' A
| RTL8723AS | rtl8723as_config | mp_rtl8723as_config |
4 b$ |' e2 y4 B2 Z8 m | RTL8723A | rtl8723a_config | mp_rtl8723a_config |7 ~8 x4 M& ]- l
| RTL8723AE | rtl8723a_config | mp_rtl8723a_config |" d/ u2 O4 z" D$ K" ^) V
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |( j0 Q0 N( i1 j2 e
| RTL8723BS | rtl8723bs_config | mp_rtl8723bs_config | v; U$ d* q4 Q. ^0 E4 Z
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
, s% A# `( R2 ~. \ | RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
- J+ R0 ?, G+ b4 M) g6 B/ b | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |! x* i1 Z. y4 N% U# [) y% r4 A
| RTL8723CU | rtl8723c_config | mp_rtl8723c_config |
6 j% y2 H* a3 V; M0 u | RTL8723DS | rtl8723ds_config | mp_rtl8723ds_config |6 p/ h# w+ T5 {+ p
| RTL8723DE | rtl8723d_config | mp_rtl8723d_config |9 E8 E$ N: h4 J- A8 }: J8 @
| RTL8723DU | rtl8723d_config | mp_rtl8723d_config |! ?8 }/ L! Y) p! T. w
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |3 r; S! J+ I& \( F4 W% v
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
2 b8 A6 \: c- D | RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |, s+ S- O9 j$ X, C
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |& k& E8 h8 U6 I$ L: ^) F" e
| RTL8761AUV | rtl8761a_config | mp_rtl8761a_config |' P3 ~6 [( Z# K2 m
| RTL8761AW + 8192EU | rtl8761aw8192eu_config | mp_tl8761aw8192eu_config |& b! p1 S+ D. t* F/ B( J; p
| RTL8821AS | rtl8821as_config | mp_rtl8821as_config |
3 q* w) R M2 D7 x0 |# V | RTL8821AE | rtl8821a_config | mp_rtl8821a_config |5 f; L4 y W! E, f5 ~; w
| RTL8821AU | rtl8821a_config | mp_rtl8821a_config |
3 N* b+ h+ n- ]0 v/ M" i8 N' b/ C3 n | RTL8821CE | rtl8821c_config | mp_rtl8821c_config |
! F1 x/ I. }7 d | RTL8821CS | rtl8821cs_config | mp_rtl8821cs_config |. d; g) C. b& B( \7 D
| RTL8821CU | rtl8821c_config | mp_rtl8821c_config |
( `: ?1 G6 S% ?/ h$ \# i | RTL8822BS | rtl8822bs_config | mp_rtl8822bs_config |& p G5 i9 e% ~# c0 L
| RTL8822BE | rtl8822b_config | mp_rtl8822b_config |
- |/ t5 n& T( L& j) M' @ | RTL8822BEH | rtl8822bs_config | mp_rtl8822bs_config |! j4 _1 J; @, ?& d7 ~
| RTL8822BU | rtl8822b_config | mp_rtl8822b_config |5 A) D; T! h3 e* H; S# n9 P
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |$ d9 I3 P+ g, q8 _' v1 g0 z$ Q' k
| RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |: G) `6 i) P/ W
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |! S7 p/ @3 N8 t3 ?* X' l
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config |( |3 A" `' m- Y. G
---------------------------------------------------------------------------------4 G+ r0 w B# N% ^" w1 g: t$ r
Linux OS 系统8 X! l; r/ I+ `% D
文件说明:& ?: t; l/ K* B- F6 ^9 s! D7 ]* w
Linux_tool/rtlbtmp: 应用程序,需客户提供平台的交叉编译工具链来生成
" D$ z. I6 z' U( e/ v, U BT_Firmware/mp_rtlxxx_fw: 蓝牙芯片专用的 firmware
& o/ p) q- ?% _( M5 ]( q" x BT_Config/mp_rtlxxx_config 蓝牙芯片专用的 config ! i8 d. o+ H* Y, X8 D5 Q
Readme/Readmexxxx.txt: 本说明文档
5 E1 `: ^% W4 l/ a. S8 k* d User Guide/MP tool User guide for linuxxxx.pdf:mp tool 的命令集' ?5 O$ w: ]8 u, |! a1 Q) H
下面是蓝牙芯片名称、rtlxxx_config、mp_rtlxxx_config 的名称表:- S: S' D! {6 B9 N* H2 R* }
-----------------------------------------------------------------------------------
; t! |0 W8 w+ k7 j* }! Y | 蓝牙芯片名称 | rtlxxx_config名称 | mp_rtlxxx_config名称 |
4 O/ S/ q6 a' N! E. t |----------------------------------------------------------------------------------|& k3 a/ e' k/ ]& d2 `" l
| RTL8703AS | rtl8703a_config | mp_rtl8703as_config |( |& Z/ @ V" D- \( @9 e/ l0 p6 h
| RTL8703BS | rtl8703b_config | mp_rtl8703bs_config |
5 w0 k1 ]& m+ U | RTL8723AE | rtl8723a_config | mp_rtl8723a_config |* I: V% J% L& Y* U% u
| RTL8723AS | rtl8723a_config | mp_rtl8723as_config |8 O/ v' D/ O# u0 l) H2 W& l
| RTL8723AU | rtl8723a_config | mp_rtl8723a_config |! Z. b3 q6 v# e A
| RTL8723BE | rtl8723b_config | mp_rtl8723b_config |
9 |6 o% c6 I( d% F1 D% @ | RTL8723BS | rtl8723b_config | mp_rtl8723bs_config |0 N' _4 J- P( y a, d$ U! V+ h
| RTL8723BU | rtl8723bu_config | mp_rtl8723bu_config |
6 ]2 j9 c8 H, M' u' G | RTL8723CS | rtl8723cs_xx_config | mp_rtl8703bs_config |
% J0 N* Q0 W. K | RTL8723DS | rtl8723d_config | mp_rtl8723ds_config |
* B6 h/ s, k+ A" B( g. y% m | RTL8723DU | rtl8723du_config | mp_rtl8723d_config |0 }3 [: Z8 F* H/ P$ ?
| RTL8761AT | rtl8761at_config | mp_rtl8761at_config |
* t2 [3 ?; T- b1 X | RTL8761ATV | rtl8761a_config | mp_rtl8761at_config |6 T; J% E j- Q4 P" H
| RTL8761AU | rtl8761a_config | mp_rtl8761a_config |
4 J3 p8 u+ M4 W& i | RTL8761AW + 8192EU | rtl8761aw_config | mp_tl8761aw8192eu_config |! O, F7 V, V8 N' S3 \
| RTL8761AU + 8192EE | rtl8761a_config | mp_rtl8761a_config |3 v% | D) m+ \: c3 w9 F
| RTL8761AU + 8812AE | rtl8761a_config | mp_rtl8761a_config |5 X0 c6 } e3 F" C" q; ^0 `
| RTL8821AE | rtl8821a_config | mp_rtl8821a_config |
+ i8 @0 R1 y/ U | RTL8821AS | rtl8821a_config | mp_rtl8821a_config |
) t6 i. v5 S& p2 b5 b7 S5 W1 V | RTL8821AU | rtl8821a_config | mp_rtl8821a_config |
0 Y; h' s, S/ v# w: L | RTL8821CS | rtl8821c_config | mp_rtl8821c_config |
1 v9 `( E9 ~1 z; [( _ | RTL8821CU | rtl8821cu_config | mp_rtl8821c_config |
4 J+ n* I* R; [, s- h | RTL8822BS | rtl8822b_config | mp_rtl8822b_config |
+ |6 T0 }# {+ G | RTL8822BU | rtl8822bu_config | mp_rtl8822b_config |' S2 \8 R* c. w, B3 W& p
| RTL8761BU | rtl8761b_config | mp_rtl8761b_config |
. o8 G: G+ f2 ^# r! i" f1 w | RTL8761BT | rtl8761bt_config | mp_rtl8761bt_config |! M2 |2 @ j/ ~' o' @; T
| RTL8822CU | rtl8822c_config | mp_rtl8822c_config |" J A/ |8 w1 g; R1 r( {
| RTL8822CS | rtl8822cs_config | mp_rtl8822cs_config | r8 d3 q3 [& C1 ~! Q; N4 P
-----------------------------------------------------------------------------------: \) O4 c k: N
1 |# U+ N3 L- L( R" s$ ?
2.运行环境搭建
6 \, R) L" n4 uAndroid OS 环境
; b1 p8 K+ y6 j. n- b将 tool 所需文件放到系统里
/ ^& Q& ?! Z V( D2 T将 rtlbtmp 文件放到 /system/bin/目录,并修改权限为 777;
# B* a U3 N% Madb push rtlbtmp /system/bin/
0 w5 H: f L( o+ Vadb chmod 777 /system/bin/rtlbtmp
; ^" \; t% I2 T+ D% o- u3 W- U将 btmp.default.so 文件放到 /system/lib/hw/目录,并修改权限为 644;
' M6 V3 i' z& y+ Z$ vadb push btmp.default.so /system/lib/hw/
0 ]2 u6 a$ Y$ g3 wadb chmod 644 /system/lib/hw/btmp.default.so. }1 D7 @# U5 S1 y
将 mp_rtlxxxx_config 文件放到 /system/etc/firmware/目录,并修改权限为 644;
( r. j+ h8 E- D/ X2 [adb push mp_rtlxxxx_config /system/etc/firmware/+ Q2 o, L$ K8 ^* U _) T& ]& @
adb chmod 644 /system/etc/firmware/mp_rtlxxxx_config4 h1 `4 ?: B* r4 C1 z! b
将 mp_rtlxxxx_fw 文件放到 /system/etc/firmware/目录,并修改权限为 644;
1 [( ~0 w6 q5 i& ~adb push mp_rtlxxxx_fw /system/etc/firmware/
4 ^& F6 T9 C# @8 Z! I, y Hadb chmod 644 /system/etc/firmware/mp_rtlxxxx_fw
" W1 ?8 g. K2 [" o4 f" `% q6 ]! t- \5 l/ k I) R' F. b. p
4 n* `( h+ H1 j0 x
#Note: 从Android 8.0及以后的系统开始,以上文件都将放到/vendor/目录下面
6 o4 y+ O3 e) w) D1 L将 rtlbtmp 文件放到 /vendor/bin/目录,并修改权限为 777;
* s5 {* w1 ?+ d' v$ I9 F/ Mcp rtlbtmp /vendor/bin/
& f) Z( V& T& b5 Z) F/ M0 Fchmod 777 /vendor/bin/rtlbtmp
- i, v1 R9 ~, m7 h1 T/ m将 btmp.default.so 文件放到/vendor/lib/hw/目录,并修改权限为 644;
2 O# @; h/ E2 U: ?cp btmp.default.so /vendor/lib/hw/
! Q! c; h. f6 b6 Hchmod 644 /vendor/lib/hw/btmp.default.so
# m8 U9 I1 V) n' { v. K将 mp_rtlxxxx_config 文件放到 /vendor/firmware/目录,并修改权限为 644;
' x- D$ @. i4 {1 F$ O! Fcp mp_rtlxxxx_config /vendor/firmware/0 q- r! u. q( w5 S) c
chmod 644 /system/vendor/firmware/mp_rtlxxxx_config/ Q9 \& ]' v* ]) v. K; L# B; g* o, O
将 mp_rtlxxxx_fw 文件放到 /vendor/firmware/目录,并修改权限为 644;
7 a6 { U# ?, h5 U* vcp mp_rtlxxxx_fw /vendor/firmware/* i; a0 \5 w+ Z
chmod 644 /vendor/firmware/mp_rtlxxxx_fw
2 S4 `/ n# {0 c: ^; D" ]2 @4 N以上文件建议放到 SDK 里,不会影响正常的蓝牙使用;
! a+ Q- ~4 Z: t* P" S 关闭 normal BT9 z8 v% d+ T" j) x5 O7 j; m
rtlbtmp 使用的时候都需要先关闭 normal 的蓝牙,如果 UI 上不能关闭蓝牙,可以使用如下的方案:
# t; g& w k# Gservice call bluetooth_manager 8(关) /6(开)& a ]2 m; i: _1 e
或者4 x" y) l5 T, g- B+ y; g
cd /system/lib/hw! X! {: G2 x! ~! |2 n
mv bluetooth.default.so bluetooth.default.so_ORG
9 d; t! `/ K7 H% P# M( S(for android P 之后:是在 /system/lib/目录,mv libbluetooth.so libbluetooth.so_ORG)
, t( b' ]5 K, G2 L, R6 zreboot: V! ~1 j7 U& j
; j+ R$ D9 J0 F9 pLinux OS 环境, n, X; j8 n( t. C
将 tool 所需文件放到系统里
+ N7 K& S1 L; g6 k Hcp rtlbtmp /usr/sbin/
$ H7 m; }9 W, n2 A: R' D: echmod 777 /usr/sbin/rtlbtmp# w, O2 c( Y4 `6 ?
cp mp_rtlxxxx_config /lib/firmware/
7 w8 y. Y; P9 xchmod 644 /lib/firmware/mp_rtlxxxx_config
9 j% c* {6 b- t- w( ccp mp_rtlxxxx_fw /lib/firmware/
: s# f" z7 g. w y9 L w" rchmod 644 /lib/firmware/mp_rtlxxxx_fw7 {* j# F' r2 ~6 A
UART 接口芯片准备
( y0 S+ v: t6 u请关闭 normal 蓝牙,即开机后默认不加载 rtk_hciattach 等流程;/ _1 |8 h/ ~- U( w+ @ O
USB 接口芯片准备
% j. |! y- q3 f- d0 a% |- v先打开 normal 蓝牙,再 hciconfig hci0 up0 \2 {" [: a2 y$ @; B
$ ~; R5 m1 y. {- A0 N
; I/ D, k, M0 y {2 x2 H$ G7 P3.BT RF Performance Test & TX Power Calibration4 R# a, j3 c- }+ g
参考User Guide
$ N* p5 ^# K# M* T3 f5 V9 w#Note:8761B & 8822C 相比之前的IC比较特殊,参考单独的User Guide
: k+ c+ d$ H3 O' l
9 c* T; `( y3 N: V3 j4 M3 |: h+ O& c/ S: a! w& V* y
一般就是要细化linux还是Android,对应其中kernle版本有对应的config、fw、btmp.default.so、rtlbtmt、rtlbtmt_clt、rtlbtmt_skt,一些疑问可沟通!- Q, Q% n6 X4 U5 |9 Z, d7 N
) r6 \0 n: r% W# }
* H: c' Y' V! @/ d: ~
|
|