Linux下的USB蓝牙适配器驱动
一,蓝牙存储设备
蓝牙适配器: ISSC芯片, USB接口(市面上还有其他的一些品牌,大多没有问题)
蓝牙手机:索爱T628
蓝牙耳机:Jabra BT250(大陆地区型号是FS258,大概照顾中国人对BT的特殊理解和258的吉利数字)
1,加载蓝牙适配器
插入USB口之后,可以使用lsusb命令,看到:
Bus 004 Device 003: ID 1131:1001 Integrated System Solution Corp.
这是,运行hciconfig可以看到:
hci0: Type: USB
BD Address: 00:11:67:02:1A:03 ACL MTU: 678:8 SCO MTU: 48:5
DOWN
RX bytes:142289 acl:884 sco:0 events:823 errors:0
TX bytes:13302 acl:494 sco:0 commands:151 errors:0
运行:
hciconfig hci0 up
可以激活借口(这一步不做,hcitool scan无法运行)
3,配置bluez
默认的配置文件放在/etc/bluetooth目录
hcid.conf和pin不需要修改,安全方式已经被设置成auto,这是为了方便连接,用户可以自己修改,推荐不做修改,以防止有些设备连接不上。
4,重启bluetooth服务。
/etc/rc.d/init.d/bluetooth stop
/etc/rc.d/init.d/bluetooth start
5,扫描设备
运行hcitool scan可以得到:
Scanning ...
00:01:EC:0C:D2:00 Tree's T628
6,修改配置文件:
修改/etc/bluetooth/rfcomm.conf
将里面的:
device 11:22:33:44:55:66;
修改成hcitool scan的结果,也就是:
device 00:01:EC:0C:D2:00
保存退出。
7,创建设备:
运行
rfcomm_create_dev。
8,添加通道:
sdptool add --channel=1 DID SP DUN LAN FAX OPUSH FTP HS HF SAP NAP GN PANU HID CIP CTP A2SRC A2SNK SYNCML NOKID PCSUITE SR1
后面的参数不一定被支持,但是以防有些服务没有被打开,所以,干脆全部打开了。
rfcomm bind /dev/rfcomm0 电话的地址 通道(在rfcomm.conf中配置)
这里的命令应该写成:
rfcomm bind /dev/rfcomm0 00:01:EC:0C:D2:00 1
9,连接手机:
hcitool cc 电话的地址
也就是
hcitool cc 00:01:EC:0C:D2:00
这时候,可以看到手机上的蓝牙连接呈联通状态。
10,从计算机发送文件:
obex-send abc.jpg
操作系统会弹出提示框,让你选择要发送的目标。
同时可以看到手机会弹出提示框,询问是否接受文件。
11,手机的配置:
需要在手机上进行一下配置:
连接->蓝牙->匹配装置->添加装置。
会自动扫描到PC上的适配器。
如果需要填入识别码就填写123。上面已经设置了。
这时候,可以看到手机已经成功的添加蓝牙装置。
12,从手机发送文件。
在PC机上启动obex-server,会看到系统托盘出现一个小图标。
完成上面的工作后,可以进入手机的:
多媒体->我的影集
选择一张图片。
然后,“发送”->“通过蓝牙”
看到有刚才扫描到的蓝牙适配器。
然后,就可以发送文件了。
13,使用软件管理手机信息。
参考gnokii软件的文档
二、蓝牙耳机。
1,同时按住jabra 250上面的“电话键”和“音量增大键”,大约8秒,看到蓝灯常亮
2,扫描耳机,得到bdaddress
hcitool scan
3,配置工作:
modprobe snd_bt_sco
hciconfig hci0 void 0x0060
btsco bdaddress (这里的bdaddress就是扫描出来的结果)
btsco运行后,会弹出对话框,要求输入耳机的pin,jabra 250为0000,可以在说明书上找到。
4,建立联接后,设备被映射成/dev/dsp1。
以beep为例,
插件->输出,选择使用alsa驱动,点开“首选项”,音频设置部分就可以看到btsco:hw0,1之类的信息,选择这个即可。
然后播放一首歌,尝试一下无线的快乐吧。
然后适当的配置你所要使用的播放器之类的就可以了。