LINUX 蓝牙耳机的配置方法
由于经常使用SKYPE聊天打电话,一直觉得被拴在电脑前面不是很自由,终于在一个周末,一激动买了一个蓝牙耳机。经过几天的努力在Linux/Debian上用了起来,现在就把这个配置过程和大家分享。
第一 了解蓝牙
蓝牙是爱立信的提出的一个近距离的无线通讯协议,由于没有INTEL的支持,它的发展一直都不是很快,在蓝牙不多的应用中,用得最多就是无线的HEADSET。其他应用还有MOUSE,CAMERA. 蓝牙耳机主要有两种PROFILE,一般用的都是Headset profile它是单声道的音频,质量只能用于做打电话。新的Advance Audio Distribution Profile 支持立体声,用来听音乐没有问题(发烧友除外)
bluetooth 的LINUX的STACK主要有两个 Affix 和 BlueZ,我使用的是后一种.
参考1 http://www.tuxmobil.org/bluetooth_linux.html
第二 环境
thinkpad X31
debian sarge,
linux kernel 2.6.11
USB Bluetooth 1.1 adaptor (不记得是哪个公司的东东了)
plantronic M3000 BT Headset
第三 kernel setting
我喜欢用比较新的KERNEL,因为低版本的经常需要打很多PATCH,很不方便。不过如果你很经常的自做debian的包,还是用sarge带的kernel。
in Kernel 2.6
Device Driver ->Networking Support ->(M) Bluetooth Sub system Support
我用的是USB的adaptor所以我没有选PC卡,如果你是用的PC卡,应该把它们选上。
第四 下载DEBIAN的BLUETOOTH的包
你可以用apt-cache search bluetooth看一下SARGE下的和蓝牙有关的包。
我安装了
ii bluez-cups 2.15-1 Bluetooth printer driver for CUPS
ii bluez-hcidump 1.17-1 Analyses Bluetooth HCI packets
ii bluez-pcmcia-s 2.15-1 PCMCIA support files for BlueZ 2.0 Bluetooth
ii bluez-pin 0.25-1 Bluetooth PIN helper with D-BUS support
ii bluez-utils 2.15-1 Bluetooth tools and daemons
ii libbluetooth1 2.15-2 Library to use the BlueZ Linux Bluetooth sta
ii libbluetooth1- 2.15-2 Development files for using the BlueZ Linux
第五 下载KDE或者GNOME下的蓝牙的图形化管理工具
GNOME
http://usefulinc.com/software/gnome-bluetooth/
APT的地址: deb http://debian.usefulinc.com/gnome ./
如果你有蓝牙的电话,你还可以在上面的网站上找到phone manager
http://usefulinc.com/software/phonemgr/
我没有支持蓝牙的手机,所以没有测试它
KDE
http://kde-bluetooth.sourceforge.net/
DEB 包 http://fred.hexbox.de/debian/
deb http://fred.hexbox.de/debian ./
第六 蓝牙的配置文件
蓝牙的配置文件位于/etc/bluetooth目录下面。
hcid.conf
# HCId options
options {
# Automatically initialize new devices
autoinit yes;
# Security Manager mode
# none - Security manager disabled
# auto - Use local PIN for incoming connections
# user - Always ask user for a PIN
#
security user;
这里最好改成user 一般的耳机在连接时都需要输入PIN,虽然第二次,选auto有时,经常会出现连不上死在那里的情况。
# Pairing mode
# none - Pairing disabled
# multi - Allow pairing with already paired devices
# once - Pair once and deny successive attempts
pairing multi;
# PIN helper
#pin_helper /usr/bin/bluez-pin;
pin_helper /usr/lib/kdebluetooth/kbluepin;
我用的是kde的蓝牙的framework,
pin helper,的作用是在蓝牙设备需要输入密码时,弹出对话框让你让打密码。
# D-Bus PIN helper
#dbus_pin_helper;
}
# Default settings for HCI devices
device {
# Local device name
# %d - device id
# %h - host name
name "%h-%d";
# Local device class
class 0xff0100
oxff0100的意思是接受任何种类的蓝牙设备的连接,
0x200404 是指只接受audio/video device类的设备连接。
这个主要用于你有多台蓝牙设备时,想控制他们的互相连接时使用.
例如你有两台电脑,一个手机都带有蓝牙,而你只想让电话连到一台脑上,就可以使用这种方法来设置。
# Default packet type
#pkt_type DH1,DM1,HV1;
# Inquiry and Page scan
iscan enable; pscan enable;
# Default link mode
# none - no specific policy
# accept - always accept incoming connections
# master - become master on incoming connections,
# deny role switch on outgoing connections
lm accept;
# Default link policy
# none - no specific policy
# rswitch - allow role switch
# hold - allow hold mode
# sniff - allow sniff mode
# park - allow park mode
lp rswitch,hold,sniff,park;
# Authentication and Encryption (Security Mode 3)
auth enable;
#encrypt enable;
感觉还是打开验证的比较好,选AUTO,BT会记住以前的PAIR, 在连接蓝牙设备时,如果以前PAIR过了,就会直接用以前记住的PIN去连接,这个看上去不错,但我用下了经常会有连不上的情况。
}
第六 安装蓝牙耳机的音频程序
前提:你的linux应该使用的是ALSA的音频系统。
http://cgi.sfu.ca/~jdbates/debian/pool/bluetooth-alsa/
deb包 deb http://cgi.sfu.ca/~jdbates/debian/ . .
bluetooth-alsa_200503090-1_i386.deb 2005年5月19日
这个包会装安装btsco的应用程序。
现在我们还需要一个驱动程序。snd-bt-sco
1.到bluetooth-alsa项目的主页去下载源程序 或从CVS中下最新的代码。
http://bluetooth-alsa.sourceforge.net/
从CVS中可以得到最新的程序
cvs -d:pserver:anonymous@cvs.sf.net:/cvsroot/bluetooth-alsa login
cvs -d:pserver:anonymous@cvs.sf.net:/cvsroot/bluetooth-alsa co btsco
编译前需要的包
automake-1.7
libbluetooth-dev (aka libbluetooth-devel or bluetooth-devel)
libasound2-dev (aka alsa-devel)
2.Compile:
./bootstrap
./configure
make
make install
make maintainer-clean
3. snd-bt-bco需要一个snd_hwdep_new的内核模块。 你可以通过在编辑内核时选上 emu10k1强行编译上面的内核模块。
device drivers --> sound -->Advance Linux sound Architecture-->PCI devices
-->(M)Em10k1
make
make modules_install
4.编译snd-bt-sco
到btsco/kernel目录下面
cd kernel
make
make install
depmod -e
make clean
默认的状态下会安装在/lib/modules/2.6.X/extra/目录下面。
第七 使用蓝牙耳机
1。modprobe snd_bt_sco
2。hciconfig hci0 voice 0x0060
3。btsco bdaddress
这里需要填的是蓝牙的MAC地址
这可以通过让你的蓝牙耳机处在查询状态。然后用hcitool scans就可以找到你的耳机,同时看到它的MAC地址。
#hcitool scan
Scanning ..
第七 使用蓝牙耳机
1. 连接
hci scan
00:03:89:4C:3A:2E M3000 by Plantronics
btsco 00:03:89:4C:3A:2E
连接建立后,蓝牙耳机会被的音频设备会被映射到/dev/dsp1
2 使用aplay 和arecord 测试蓝耳机
你需要安装alsaplayer.
aplay -D plughw:Headset sound.wav 可以向蓝牙耳机播放音乐,
一般需要按一下蓝牙耳机的接听键。
录音 一般用
arecord -d 10 -f cd -t wav -D plughw:Headset record.wav
alsaplayer的具体用法 man 一下吧。
arecord -d 10 -f cd -t wav -D plughw:Headset record.wav
3 在SKYPE下使用蓝牙耳机
只需把SKYPE的hand/handset变成/dev/dsp1就可以使用蓝牙的耳机了。
4 XMMS
LINUX下一个像 winamp的音乐播放器. 你也可以找到他的配置页,让他通过/dev/dsp1来播放音乐.
5 立体声
最新一些耳机支持Advance Audio Distribution Profile
播放的质量和一般的MP3差不多,由于我的耳机不支持这个PROFILE,所以没有测试。
6 音质
前前后后花了大约三个晚上6个小时,但是最后的音质还是让我觉得有点失望。M3000录音时有点噪音,根本无法和有线的HEADSET相比,不过上网查了一下,M3000好像是问题很多,哎,当初就因为它的包装上写着有降噪的话筒,看来这个周末要处理掉它。
LINUX 蓝牙耳机的配置方法的更多相关文章
- 【Python】Linux crontab定时任务配置方法(详解)
CRONTAB概念/介绍 crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行. cron 系统调度进程. 可以使用它在 ...
- Linux环境变量配置方法
Linux上环境变量配置分为设置永久变量和临时变量两种.环境变量设置方法同时要考虑环境Shell类型,不同类型的SHELL设置临时变量方法和设置永久变量对应的配置文件不同.Linux环境变量本身配置过 ...
- linux ssh key配置方法
转自:http://blog.csdn.net/zzk197/article/details/7915307 一:简洁的配置文件[root@cisco ~]# vi /etc/ssh/sshd_con ...
- 用VNC远程图形化连接Linux桌面的配置方法
首先下载到vnc的linux版本和windows版本. 1. 首先,我们要先下载 VNC 安装,假如我们下载的目录是 VNC/vncgo . # cd ~# wget http://www.realv ...
- Yeoman+Express+Angular在Linux上开发配置方法
$mkdir ExpressWithAngularTest $cd ExpressWithAngularTest choose needed components you'd like to add ...
- Linux 环境变量配置的 6 种方法,建议收藏
关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ Linux环境变量配置 在自定义安装软件的时候,经常需要配置环境变量,下面列举出各种对环境变量 ...
- Linux环境变量配置全攻略
Linux环境变量配置 在自定义安装软件的时候,经常需要配置环境变量,下面列举出各种对环境变量的配置方法. 下面所有例子的环境说明如下: 系统:Ubuntu 14.0 用户名:uusama 需要配置M ...
- Faster-rcnn 配置方法
Faster-rcnn 在Linux下的配置方法 感谢@邓学长 建立过程: (下载库的时候要按照库readme 进行操作) opencv 的包下载安装,安装教程 用git命令将这个库下载到本地 fas ...
- 超详干货!Linux 环境变量配置全攻略
点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! Linux环境变量配置 在自定义安装软件的时候,经常需要 ...
随机推荐
- 小强的HTML5移动开发之路(45)——汇率计算器【1】
这两天看了<PhoneGap实战>上面有一个汇率计算器的例子,个人觉得比较好,就拿出来和大家分享一下,在接下来的几篇文章中我们来一起完成这个PhoneGap + Jquery mobile ...
- hdfs的基本原理和基本操作总结
hdfs基本原理 Hadoop分布式文件系统(HDFS)被设计成适合执行在通用硬件(commodity hardware)上的分布式文件系统.它和现有的分布式文件系统有非常多共同点. 但同一时候,它和 ...
- Role-based access control modeling and auditing system
A role-based access control (RBAC) modeling and auditing system is described that enables a user to ...
- Linux环境编写脚本安装配置JDK,Tomcat,含Tomcat自启动
mkdir /usr/java mkdir /znywImage cp -f /usr/jdk-7u79-linux-x64.tar.gz /usr/java tomcatPath=/usr/apac ...
- 一道SQL题考你数据库的使用能力
题目:数据库中存在例如以下数据,求用户终于剩余金额. 用户 类型 金额 A 存入 100 A 存入 200 A 取出 100 A 取出 200 A 存入 300 A 取出 300 本人Oracle接触 ...
- windows 下使用 virtualenv 创建虚拟环境
virtualenv虚拟环境为每个项目隔离了一套运行类库,不同的项目在各自的虚拟环境中使用不同的类库,避免了将所有类库都安装到系统环境中导致的不同项目需要不同(版本)类库的问题,项目与项目之间的类库依 ...
- 你的服务器没有正确响应Token验证的解决方法
你的服务器没有正确响应Token验证,请阅读消息接口使用指南 微信 微信公众平台开发模式 平台 消息 接口 启用 URL Token作者:http://txw1958.cnblogs.com/ 原文: ...
- 【22.48%】【codeforces 689D】Friends and Subsequences
time limit per test2 seconds memory limit per test512 megabytes inputstandard input outputstandard o ...
- 构建工具Gradle
1.Summary 从Android团队开始宣布放弃Eclipse转投Android Studio时,构建工具Gradle进入了Android开发者的视野.而随着热修复.插件化.编译时注解的流行, ...
- class helper 可能是从 Delphi 2007 增加的新语法
class helper 可能是从 Delphi 2007 增加的新语法, 因为感觉不太实用, 直到今天才测试了一下. 试过之后才知道: 挺有意思的! 基本功能就是修改已存在的类. Txxx = cl ...