当前位置:操作系统 > Unix/Linux >>

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日

  这个包会装安易做图tsco的应用程序。

  现在我们还需要一个驱动程序。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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,