使用linux和iphone 5的HFP配置文件

时间:2014-07-30 09:20:15

标签: iphone linux bluetooth bluez hfp

如何在ibu 5s的ubuntu linux上使用hfp?我有bluetoooth,所有bluez包和ofono安装。

对于ofono,我需要一个调制解调器。根据我从蓝牙核心,协议和配置文件规范的理解,蓝牙的rfcomm和spp可用于模拟调制解调器。这对bluez有什么用? bluetoothd和ofonod dbus-services是否已经处理了与hfp oder的传入连接我是否必须编写自己的监听器?

编辑:

程序正在运行。我根据测试脚本实现了它。但是我遇到了音频问题,因为我在拨打电话时没有任何声音。声音没有静音。

pa log(翻译):

  

Sep 26 13:57:47 ubu2 pulseaudio [2524]:[alsa-sink-Intel ICH]   alsa-sink.c:ALSA唤醒我们在设备上写入新数据但在那里   没什么可写的!
9月26日13:57:47 ubu2 pulseaudio [2524]:   [alsa-sink-Intel ICH] alsa-sink.c:这很可能是一个错误   ALSA-Driver' snd_intel8x0'。请将此错误发送给   ALSA-Developers。
Sep 26 13:57:47 ubu2 pulseaudio [2524]:   [alsa-sink-Intel ICH] alsa-sink.c:我们被吵醒了   POLLOUT-Set,但是后续调用snd_pcm_avail()返回了   值0或小于min_avail的其他值。

如何查看ALSA是否遇到过某些错误?我找不到记录。

当连接a2dp-Profile以便我的电脑是iPhone的扬声器时我也没有声音。

编辑2:

要解决此错误,建议您这样做:
文件:/etc/pulse/default.pa
tsched=0添加到以下行:
load-module module-detect
来自#21 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/374002

的帖子

但它并没有解决我的问题。我也尝试强制加载也是模块。

2 个答案:

答案 0 :(得分:3)

有ofono和bluez就足够了。

但是,最新版本的bluez / ofono和pulseaudio不支持HSP和HFP配置文件。 Pulseaudio发行说明称bluez5.x仅支持A2DP。如果你正在使用 bluez4.x,ofono和pulseaudio 4.x / 5.x你仍然可以毫无问题地使用它。

http://www.freedesktop.org/wiki/Software/PulseAudio/Notes/5.0/

ofono会将您的iPhone 5s视为您的调制解调器。一旦你将iPhone配对并连接起来 通过bluetoothctl或任何其他GUI,您可以运行以下ofono测试来查看 如果ofono选择了正确的话。尝试在终端上使用ofonod -n -d运行ofonod来监视调试日志,并且可能也会以详细的方式运行pulseaudio(pulseaudio -k && pulseaudio -v

bash$ cd */ofono-1.x/test

此目录包含用于测试ofono功能的示例dbus脚本。

bash$ ./list-modems

[ /hfp/org/bluez/hci0/dev_94_94_26_88_XX_XX ]
    Type = hfp
    Interfaces = org.ofono.Siri org.ofono.VoiceCallManager org.ofono.CallVolume org.ofono.Handsfree org.ofono.NetworkRegistration 
    Features = net 
    Serial = 94:94:26:88:XX:XX
    Online = 1
    Powered = 1
    Lockdown = 0
    Emergency = 0
    Name = XXXXXX’s iPhone
    [ org.ofono.Siri ]
        EyesFreeMode = disabled
        Enabled = 1
    [ org.ofono.VoiceCallManager ]
        EmergencyNumbers = 08 000 999 110 112 911 118 119 
    [ org.ofono.CallVolume ]
        Muted = 0
        SpeakerVolume = 50
        MicrophoneVolume = 50
    [ org.ofono.Handsfree ]
        VoiceRecognition = 0
        InbandRinging = 1
        Features = three-way-calling echo-canceling-and-noise-reduction voice-recognition release-all-held release-specified-active-call private-chat create-multiparty 
        BatteryChargeLevel = 4
        SubscriberNumbers = +XXXXXXXXXXXX
        EchoCancelingNoiseReduction = 1
    [ org.ofono.NetworkRegistration ]
        Status = registered
        Name = XXX XXXXXX
        Mode = auto-only
        Strength = 60

如果您看到与上述类似的输出,请启用调制解调器并尝试使用以下方法拨号 如果创建或拒绝SCO套接字,则命令并观察调试日志。而且当然, 看看音频是否路由到Ubuntu。

bash$ ./enable-modem

bash$ ./dial-number +XXXXXXXXXXXX
...

同样,尝试调用iPhone并观察ofono,pulseaudio日志。 bash $ ./answer-calls

看起来在pulseaudio的人们试图使用bluez5.x和ofono,但是 似乎还没有公开的补丁。这里的bug被跟踪: https://bugs.freedesktop.org/show_bug.cgi?id=73325

答案 1 :(得分:1)

HFP for Linux是一款蓝牙免提配置文件服务器。

它允许您的Linux系统充当您的手机的免提电话。它旨在成为兼容的蓝牙HFP 1.5免提实现,支持所有必需的命令和通知,以及流音频。

http://nohands.sourceforge.net/