硬件:Moto H670 藍牙耳機 (CSR chip)/ Broadcom v2.0 adapter
軟件:bluez-4.26 / bluez-gnome-1.8 / linux kernel 2.6.28
1)藍牙耳機配對,打開你的藍牙耳機,進入配對模式,我是用blue-wizard,就是blue-gnome這個東西來配對,實在是找不到其它方法。以前bluez-3.x 在/var/lib/bluetooth/xx/pincodes里直接寫pincode就可以了,現在好像不行了,而且在配對前,最好把那個pincodes刪掉,至少要把跟你藍牙耳機地址相關的那條pincode去掉。
2)運行 bluetoothd
第一次使用,可以在后面 加 -n -d 看調試信息
3)在HOME目錄下,建立 .asoundrc這個文件,如下:
pcm.headset {
type bluetooth
device "00:1A:0E:1A:0E:90"
profile "voice"
}
4)測試藍牙耳機
aplay -D headset demo.wav 或者在Skype 里選擇headset就可以了
NOTE:
在配置中,我的藍牙耳機,就是播放的時候,死在那里,怎么都不出聲音,你可以在bluetoothd的調試信息里看到 " State changed /org/bluez/19016/hci0/dev_00_1A_0E_1A_0E_90: HEADSET_STATE_CONNECT_IN_PROGRESS -> HEADSET_STATE_CONNECTED" 也能從HEADSET_STATE_CONNECTED 到 HEADSET_STATE_PLAYING" 就是不出聲音。這時候,你要看看是不是你的藍牙適配器有問題,我的Broadcom就是如此。
你可以用lsusb 看 到你的bluetooth adapter 的DeviceID , 然后在 driver/bluetooth/btusb.c 里加上就可以了。不過也可以在modprobe btusb force_scofix=1,也能解決問題。
lsusb:
Bus 002 Device 002: ID 0a5c:2121 Broadcom Corp. BCM2210 Bluetooth
btusb.c : 104 line
{ USB_DEVICE(0x0a5c, 0x2121), .driver_info = BTUSB_RESET | BTUSB_WRONG_SCO_MTU },
type bluetooth
device "00:1A:0E:1A:0E:90"
profile "voice"
}
4)測試藍牙耳機
aplay -D headset demo.wav 或者在Skype 里選擇headset就可以了
NOTE:
在配置中,我的藍牙耳機,就是播放的時候,死在那里,怎么都不出聲音,你可以在bluetoothd的調試信息里看到 " State changed /org/bluez/19016/hci0/dev_00_1A_0E_1A_0E_90: HEADSET_STATE_CONNECT_IN_PROGRESS -> HEADSET_STATE_CONNECTED" 也能從HEADSET_STATE_CONNECTED 到 HEADSET_STATE_PLAYING" 就是不出聲音。這時候,你要看看是不是你的藍牙適配器有問題,我的Broadcom就是如此。
你可以用lsusb 看 到你的bluetooth adapter 的DeviceID , 然后在 driver/bluetooth/btusb.c 里加上就可以了。不過也可以在modprobe btusb force_scofix=1,也能解決問題。
lsusb:
Bus 002 Device 002: ID 0a5c:2121 Broadcom Corp. BCM2210 Bluetooth
btusb.c : 104 line
{ USB_DEVICE(0x0a5c, 0x2121), .driver_info = BTUSB_RESET | BTUSB_WRONG_SCO_MTU },