Android命令行下蓝牙使用
注意:此部分仅仅适用于broadcom 系列蓝牙芯片,比如RK903, AP6xxx 系列
通过su 命令切换到root 用户
1、先确认RFKILL 驱动已经载入
ls /sys/class/rfkill/rfkill0/
假设没有找到rfkill0 这个文件夹,说明蓝牙驱动有问题。
请检查kernel 中的蓝牙选项是否有勾选了
请查看kernel 的信息打印中以“[BT_RFKILL]”打头的信息。
2、关闭蓝牙:
A. 在Settings 界面中关闭蓝牙
B. 给蓝牙设备下电:
echo 0 > /sys/class/rfkill/rfkill0/state
C. 关闭bluetoothd 和hciattach 这两个service:
setprop ctl.stop bluetoothd
setprop ctl.stop hciattach
D. 对于Android4.2。还须要关闭进程com.android.bluetooth
busybox killall com.android.bluetooth
3、确定蓝牙已经关闭之后。手动给蓝牙上电:
echo 1 > /sys/class/rfkill/rfkill0/state
4、下载蓝牙固件
Broadcomd 系列芯片使用命令:
RK30:
brcm_patchram_plus --patchram bychip --baudrate 1500000 --enable_lpm --enable_hci /dev/ttyS0 -d &
RK29:
brcm_patchram_plus --patchram bychip --baudrate 1500000 --enable_lpm --enable_hci /dev/ttyS2 -d &
假设蓝牙硬件及驱动没有问题,那么在这步运行完毕后能够看到打印:
E/bluetooth_brcm( 402): Done setting line discpline
假设没有出现这行打印。说明蓝牙硬件或软件方面存在问题。
Realtek RTL8723AS 使用命令:
/system/bin/hciattach -n -s 115200 /dev/ttyS0 rtk_h5
5、确认hci0 interface 已经创建:
# hciconfig -a
hci0: Type: BR/EDR Bus: UART
BD Address: 20:00:00:00:01:09 ACL MTU: 1021:7 SCO MTU: 64:1
DOWN
RX bytes:485 acl:0 sco:0 events:18 errors:0
TX bytes:95 acl:0 sco:0 commands:18 errors:0
Features: 0xff 0xff 0x8f 0xfe 0x9b 0xff 0x79 0x87
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH HOLD SNIFF PARK
Link mode: SLAVE ACCEPT
6、激活蓝牙
# hciconfig hci0 up
7、确认蓝牙激活成功
# hcitool dev
Devices:
hci0 20:00:00:00:01:09
8、蓝牙激活成功后,能够開始扫描周围的蓝牙设备
# hcitool scan
Scanning ...
90:C1:15:0F:C2:78 Xperia neo
其他:
1.开放检測。同意周围设备检測到
# hciconfig hciX piscan
2.连接蓝牙
# hcitool cc A0:E9:DB:26:36:98
3. 配对
# hcitool auth A0:E9:DB:26:36:98
总结:原理是将bluedroid禁用,使能BlueZ然后就能够使用基于BluZ的hciconfig/hcitool等等调试工具来做简单的測试了.尝试通过这些工具进行后期配对等等实验,但并没有功能,事实上到这一步也基本上能够认定本地的蓝牙设备工作正常了,很多其它关于工具的使用见蓝牙调试工具hcitool的使用实例.
Android命令行下蓝牙使用的更多相关文章
- Linux命令行下编译Android NDK的示例代码
这几天琢磨写一个Android的Runtime用来加速HTML5 Canvas,让GameBuilder+CanTK 不但开发速度快,运行速度也能接近原生应用.所以花了点时间研究 Android ND ...
- android 命令行安装apk
有两种方式可以在android模拟器或真机上使用命令行安装apk 一种是使用adb install命令,网上通常是这种方式 另一种是通过android提供的命令,pm install. 需要先进入an ...
- Android系列之Android 命令行手动编译打包详解
Android 命令行手动编译打包过程图 [详细步骤]: 1使用aapt生成R.java类文件: 例: E:\androidDev\android-sdk-windows2.2\tools> ...
- 详解Linux命令行下常用svn命令
1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/do ...
- MySQL命令行下执行.sql脚本详解
本文主要介绍一个在MySQL命令行下执行脚本文件的例子,通过这个例子让我们来了解一下在命令行下MySQL是怎样执行脚本的吧.现在我们开始介绍这一过程. 1.首先编写sql脚本,保存为的:book.sq ...
- 在linux命令行下执行php 程序
如何在linux命令行下,执行php程序. 例子 打印当前时间 php -r "echo time()" 随机输出一个数字 php -r "echo rand(1,20) ...
- 命令行下Git的使用
命令行下Git的使用 写在前边的话 以自己即将进行的毕设项目为例,进行Git使用的简易说明.不过由于校园网络的限制,故使用GitOSC. 快速开始 本次git使用位于自己的个人PC上,所以将个人的Gi ...
- Git命令行下解决冲突
使用Git时,在pull.merge.rebase的过程中,经常会遇到conflict的情况. 遇到conflict时,以上处理过程会终端,并且命令行中显示(xxx|MERGING)的状态(Windo ...
- windows命令行下简单使用javac、java、javap详细演示
最近重新复习了一下java基础,在使用javap的过程中遇到了一些问题,这里便讲讲对于一个类文件如何编译.运行.反编译的.也让自己加深一下印象. 如题,首先我们在桌面,开始->运行->键入 ...
随机推荐
- windows下升级pip失败,重新安装pip最新版本
环境: python3.6.5 32bit,后改为python3.4.3 32bit pycharm2018旗舰版 问题: pycharm里的pip一直无法升级到10.0.1版本,在cmd中使用升级命 ...
- Appium启动app
首先要获取包名,然后获取launcherActivity.获取这两个关键东西的方法很多,这里就不一一多说,小伙伴们可以各显神通.小编这里主要给大家推荐一个sdk自带的实用工具aapt. aapt即An ...
- git 本地保存账号密码
用ssh连接的项目都不用输账号密码 如果https的话 每次都用输入账号密码 很繁琐 解决方法,在本地的工程文件夹的.git下打开config文件添加: [credential] he ...
- 【Luogu】P1578奶牛浴场(DP,枚举)
题目链接 枚举极大子矩形.详情请见本题题解:I_AM_HelloWord 代码如下 #include<cstdio> #include<cctype> #include< ...
- SPOJ GSS5 Can you answer these queries V ——线段树
[题目分析] GSS1上增加区间左右端点的限制. 直接分类讨论就好了. [代码] #include <cstdio> #include <cstring> #include & ...
- response.sendRedirect(location)与rd.forward()区别
在Java Web开发中,经常会用到跳转页面的方法,一般有下面两种方法. HttpServletResponse response = new HttpServletResponse(); respo ...
- 实验三 kali下metasploit的漏洞攻击实践
一.实验内容 1.使用kali进行靶机的漏洞扫描,利用metasploit选择其中的一个漏洞进行攻击,并获取权限. 2.分析攻击的原理以及获取了什么样的权限. 二.实验要求 1.熟悉kali原理和使用 ...
- LA 2797 平面区域dfs
题目大意:一个平面区域有n条线段,问能否从(0,0)处到达无穷远处(不穿过任何线段) 分析:若两条线段有一个端点重合,这种情况是不能从端点重合处穿过的 的.因此对每个端点延长一点,就可以避免这个问题. ...
- TYVJ3680 找妹子
时间: 1000ms / 空间: 1200KiB / Java类名: Main 背景 本题由 @fjzzq2002 提供,已奖励20金币. 描述 sps是zzq的好伙伴. sps一天叫来了许多个妹子. ...
- *Codeforces587E. Duff as a Queen
$n \leq 200000$的序列,支持以下$q \leq 4e4$个操作:区间异或$k$:查询区间能异或出多少不同的数.数字$0 \leq a_i \leq 1e9$. 大概是要区间线性基.区间修 ...