1

Вчера я потратил почти весь день, пытаясь заставить что-то работать, я ожидал, что это будет просто: заставить Bluetooth-гарнитуру работать с Linux.

Я знаю, что в качестве стека Linux Bluetooth используется bluez - официальные источники для Raspbian содержат версию 4.99, которая должна иметь поддержку A2DP, HFP и HSP. Насколько я знаю (по какой-либо причине), более новые версии 5.xx отказались от поддержки HFP и HSP.

Что я сделал, так это установил bluez из официальных источников и подключил гарнитуру. Я добавил файл /etc/asound.conf :

pcm.btheadset {
    type plug
       slave {
           pcm {
               type bluetooth
               device XX:XX:XX:XX:XX:XX 
               profile "auto"
           }   
       }   
       hint {
           show on
           description "BT Headset"
       }   
    }
    ctl.btheadset {
      type bluetooth
    }
}

Затем я могу вывести звук с помощью aplay -D btheadset -f S16_LE < /etc/kernel.img .

Я попытался заставить аудио вход работать так же, выполнив arecord -D btheadset /tmp/test.wav но он ничего не записывает.

Я думаю, что работает только A2DP, но не HSP/HFP. Я много гуглил, но похоже, что гарнитуры Bluetooth не очень хорошо поддерживаются в Linux. Это действительно удивляет меня - неужели никто не использует это?

Я даже думаю о чтении в программировании Bluetooth - есть идеи, с чего начать?

Кроме того, мне интересно, потому что гарнитура работает нормально с Android, который, насколько мне известно, использует bluez 5.xx. Есть мысли по этому поводу?

Спасибо за каждый намек, который вы можете дать мне.

0