воскресенье, 31 января 2016 г.

Подключение Logitech BT Audio Adapter в Ubuntu 14.04 и 16.04

Однажды наткнулся на интересный девайс. С помощью которого, я смогу в любой момент включить музыку на единственных в квартире колонках и с телефона, и с ноутбука.
Отличный дизайн

Не одновременно конечно, но подумать только - без всякого переключения проводов! Устройство представляет из себя небольшую квадратную коробочку из шероховатого пластика и кнопкой с эмблемой Batman Bluetooth сверху. При подключении к сети, адаптер снизу подсвечивается теплым голубым светом. В режиме спаривания голубой светодиод начинает моргать. А если устройство спарено - светодиод горит чуть ярче и уже постоянно. Смотрим инструкцию.
С задней стороны находятся два разъема для подключения - RCA (колокольчики), 3.5 мм (AUX) а также питание 5V 1,5A.
Подключение Logitech BT Audio Adapter в Ubuntu не займет много времени. Если у вас установлен полный дистрибутив Ubuntu, то все делается в пару кликов при помощи меню Bluetooth в настройках системы. Кто знаком с подключением устройств в Windows, разберется и в Ubuntu.
Выбирай удобный для себя способ подключения
Но в моем дистрибутиве нет оболочки с рабочим столом, и придется все действия выполнять в консоли. В процессе настройки, я столкнулся с проблемой, когда простая команда
bluez-test-audio connect
из пакета bluez завершалась ошибкой
"dbus.exceptions.DBusException: org.bluez.Error.DoesNotExist: Does Not Exist"
Между тем, в полной версии, с рабочим столом, из консоли все проходило гладко. Все дело в пакете gnome-bluetooth. В его отсутствии. После его установки, все идет как по маслу.
Для начала, узнаем MAC-адрес нашего аудио-адаптера. Перед вводом команды, нажмем кнопку (единственную) на Logitech BT Audio Adapter. Если после этого заморгал синий светодиод - значит устройство перешло в режим спаривания.
hcitool scan
Scanning ...
        88:C6:26:0D:09:3D       Logitech BT Adapter
Сохраним 88:C6:26:0D:09:3D, он еще потребуется.
Устанавливаем необходимые пакеты для подключения bluetooth-устройств и настройки аудиоустройств
sudo apt-get install gnome-bluetooth pavucontrol pulseaudio-module-bluetooth
Используем графический интерфейс для подключения... (не забываем нажать кнопку на адаптере, чтобы перевести устройство в режим спаривания)
sudo bluetooth-wizard
Если возникнет ошибка
error: XDG_RUNTIME_DIR not set in the environment.
Не удалось открыть дисплей:
Скажем системе адрес дисплея
export DISPLAY=:0
После успешного спаривания, адаптер булькнет, голубой индикатор перестанет моргать и будет гореть постоянно.
...или, просто введем команду
bluez-test-audio connect 88:C6:26:0D:09:3D
где 88:C6:26:0D:09:3D - MAC-адрес Logitech BT Audio Adapter. Чтобы устройство подключалось после перезагрузки, добавим его в доверенные
sudo bluez-test-device trusted 88:C6:26:0D:09:3D yes
Отредактируем файл конфигурации аудио-устройств
sudo nano /etc/bluetooth/audio.conf
[General]
Disable=Socket
Enable=Media,Source,Sink,Gateway
Перезапустим службу bluetooth
sudo service bluetooth restart
Подгрузим модули, которые требуются для работы bluetooth-устройства
sudo pactl load-module module-bluetooth-discover
sudo pactl load-module module-switch-on-connect
Осталось выбрать новое аудиоустройство Logitech Wireless Adapter как основное
pavucontrol --display=:0
Если компьютер будет включаться после того, как источником звука было другое устройство - системе надо помочь подключиться к Logitech BT Audio Adapter принудительно при помощи команды
bluez-test-audio connect 88:C6:26:0D:09:3D

Столкнулся с проблемой, когда после возврата к старому образу, с идентичными настройками, адаптер не подключался автоматически. Беда. Пришлось терять доверие к адаптеру, перезапустить bluetooth-адаптер и службу. После этого повторить спаривание.
sudo bluez-test-device trusted 88:C6:26:0D:09:3D no
sudo hciconfig hci0 down && sudo hciconfig hci0 up
sudo service bluetooth restart
UPDATE!
После свежей установки Ubuntu 16.10, процесс установки BT Audio существенно упростился
Все так же понадобятся пакеты
sudo apt install pavucontrol pulseaudio pulseaudio-module-bluetooth
Дальнейшее управление спариванием и подключением выполняем в
sudo bluetoothctl
# power on
# agent on
# scan on
# pair 88:C6:26:0D:09:3D
# connect 88:C6:26:0D:09:3D
# scan off
# exit
Как видите, все просто. Если возникает ошибка после команды connect
Attempting to connect to 88:C6:26:0D:09:3D
Failed to connect: org.bluez.Error.Failed
и в syslog сыпятся ошибки
bluetoothd[5556]: a2dp-sink profile connect failed for 88:C6:26:0D:09:3D: Protocol not available
Надо чуть допилить файлы pulseaudio
sudo nano /etc/pulse/default.pa
#закомментировать строчку (если добавляли ранее)
#load-module module-bluetooth-discover
Добавить загрузку модуля в файле /usr/bin/start-pulseaudio-x11
sudo nano /usr/bin/start-pulseaudio-x11
#добавляем перед последним fi
    /usr/bin/pactl load-module module-bluetooth-discover
выглядеть это должно так

    if [ x"$SESSION_MANAGER" != x ] ; then
        /usr/bin/pactl load-module module-x11-xsmp "display=$DISPLAY session_manager=$SESSION_MANAGER" > /dev/null
    fi
/usr/bin/pactl load-module module-bluetooth-discover
fi

Комментариев нет :

Отправить комментарий