Настраиваем Bluetooth в Linux

Технология Bluetooth сейчас получила широкое распространение. В основном, ее используют для подключения к смартфону каких-либо гаджетов – например, наушников или смарт-часов. Но в Linux есть и дополнительные возможности, которые реализовываются с ее помощью. Пользователь может подключить тот же смартфон к компьютеру, передавать и принимать файлы, производить подключение к сети Интернет. А вот о том, как все это настроить в репозитории Ubuntu 19.04, я сегодня и расскажу.
Первичная настройка
В первую очередь надо позаботиться о наличии специального адаптера Bluetooth – в большинстве современных ноутбуков он встроен, а вот для стационарных ПК придется приобретать отдельный USB модуль. Еще требуется наличие специальных прошивок и утилит в системе Linux. Вообще, если зайти в раздел «Настройки» Ubuntu 19.04, можно увидеть соответствующий раздел Bluetooth.

В разделе «Настройки» операционной системы Ubuntu 19.04 есть соответствующий раздел
Как можно видеть на скрине, пока я не подключу адаптер, включить данную функцию мне не удастся.
Если в настройках системы такого пункта нет, необходимо установить специальную утилиту. Для этого я открываю командную строку «Терминал» и даю следующий запрос на установку утилиты Blueman:
sudo apt-get install blueman

Ввожу команду, нажимаю на Enter. Начнется скачивание и установка ПО для Bluetooth-адаптеров
Если не сработает (а она сработает), можно дать вот такую команду на установку соответствующего программного обеспечения:
sudo apt-get install bluetooth bluez bluez-tools

Еще одно программное обеспечение, которое не помешало бы установить для подключения по Bluetooth
После завершения процесса установки следует перезагрузить операционную систему. Если адаптер был подключен, при загрузке в области уведомлений должен отобразиться значок менеджера Bluetooth.
Сканирование устройств Bluetooth
Перед тем как начать сканирование, нужно проверить, правильно ли подключен адаптер и не блокируется ли он с помощью утилиты rfkill. Чтобы активировать ее, я ввожу в командной строке «Терминал» следующий запрос:
sudo rfkill list
Если в отчете будет отображено, что адаптер не работает из-за аппаратной или программной блокировки, можно будет провести разблокировку, введя вот такую команду:
sudo rfkill unblock bluetooth
После этого обязательно включаю адаптер вот таким запросом:
sudo hciconfig hci0 up
И как только данная процедура будет завершена, можно приступать к сканированию. Перед этим проверю, включен ли Bluetooth модуль на другом устройстве и не находится ли он в скрытом режиме.
sudo hcitool scan
После завершения сканирования отобразится имя устройства и его MAC адрес. А чтобы узнать более подробную информацию о нем, использую утилиту sdptool:
sdptool browse [тутдолженбытьMACадрес]
А вот с помощью утилиты ping можно проверить доступность удаленного устройства. Выглядеть команда при этом будет примерно вот так:
sudo l2ping [тутдолженбытьMACадрес]
Если действовать через настройки, тут все будет намного проще. Нужно просто запустить поиск, и в результате отобразится список доступных устройств.
Сопряжение устройств
На старых версиях операционной системы Ubuntu сопряжение с устройствами по Bluetooth производилось с помощью специальной утилиты RFCOMM. В моем случае она не была обнаружена, поэтому просто привожу пример, так как у некоторых пользователей она может сработать. Синтаксис команды в данном случае будет выглядеть вот так:
sudo rfcomm connect [устройствоадаптера] [MACадрес] [канал]
После этого на устройстве, с которым производится подключение, высветится окно с запросом на соединение. На обоих устройствах в этот момент необходимо ввести одинаковый код.
В случае с настройками все куда проще – надо просто найти нужное устройство по имени, подключиться в нему и ввести тот же код. Практически, все то же самое, но в графическом виде.
Отправка и прием файлов
Отправить файл на удаленное подключенное устройство можно с помощью протокола OBEX и использования опции -p. При этом запрос в командной строке в подобном случае будет выглядеть следующим образом:
sudo bt-obex -p [MACадресустройства] /путькфайлу/файл.формат
После нажатия на кнопку Enter выбранный файл с компьютера будет отправлен. А вот чтобы получить файл, нужно применить уже другую опцию -s.
bt-obex -s /путьдлясохраненияфайла/раздел/папка
Чтобы посмотреть файлы, которые есть в памяти подключенного устройства, нужно использовать следующий синтаксис:
sudo bt-obex -f [MACадрес]
Подключение к Интернету по Bluetooth
Да, по беспроводной сети Bluetooth можно подключиться к сети Интернет, и соединение такого типа называется Dial-up. Ранее данная технология была очень распространена, но сейчас ее редко кто использует из-за наличия Wi-Fi. Чтобы подключиться к сети мобильного устройства, можно использовать два протокола – старый DUN и современный BNEP, схожий по принципу действия с локальной сетью.
Сначала еще надо определить, поддерживает ли устройство работу по этим протоколам. Проверяю первый – для этого использую утилиту rfcomm и канал 15.
sudo rfcomm bind [MACадрес] 15
Если все же поддерживается, на экране появится устройство rfcomm0. Дальше для соединения можно использовать NetworkManager.
Все процессы обрабатываются через bluez и тот самый менеджер подключений. Просто добавляю новый тип соединения в программе, выбираю соответствующую сеть, просматриваю информацию о ней и начинаю использование.
Заключение
В Ubuntu подключение к стороннему устройству по Bluetooth можно настроить как с помощью командной строки «Терминал», так и через раздел «Настройки». Если это ноутбук, то приобретать дополнительный адаптер не придется – достаточно будет просто активировать функцию, найти нужное устройство и подсоединиться к нему. В ином случае нужно будет приобретать отдельный USB адаптер, но даже в таком случае проблем в программном плане возникнуть не должно.
Как подключить и использовать устройства Bluetooth в Linux

В отличие от многих аспектов Linux, поддержка Bluetooth не выполняется ядром Linux автоматически. Это во многом связано со стеком Bluetooth и тем, как он взаимодействует с системой Linux в целом. Чтобы компенсировать это, удобные для пользователя дистрибутивы, такие как Ubuntu, Elementary и т. Д., Очень стараются настроить Bluetooth для пользователей. Однако не все Linux делают это. Необходимо установить различные службы и клиенты Bluetooth. Кроме того, все радиомодули Bluetooth отличаются (а некоторые из них не имеют драйверов с открытым исходным кодом), что означает, что их нужно устанавливать постфактум. Вот как подключить и использовать устройства Bluetooth в Linux.
ОПОВЕЩЕНИЕ СПОЙЛЕРА: прокрутите вниз и посмотрите видеоурок в конце этой статьи.
Примечание: используете Ubuntu? Если это так, возможно, ваш компьютер уже имеет превосходную поддержку Bluetooth, и нет необходимости настраивать его с помощью этой статьи.
Arch Linux
Fedora
OpenSUSE
Получение инструментов и служб Bluetooth в SUSE осуществляется с помощью OBS. Перейти на эту страницуи нажмите кнопку быстрой установки. Отсюда YaST все установит.
Debian
Другие Linux
Стек bluetooth bluez совместим со всеми дистрибутивами Linux, даже с Chrome OS! По этой причине у пользователей менее известных альтернативных дистрибутивов Linux не будет проблем с работой этих инструментов. Чтобы установить их, откройте диспетчер пакетов и найдите «bluez». Установите все, что содержит слово «bluez», на всякий случай.
В качестве альтернативы, перейти на сайт загрузки, возьмите исходный код и соберите его вручную.
Получение клиента Blueman
Установка Bluez позволяет вашей среде рабочего стола Linux напрямую использовать Bluetooth. Это означает, что если вы используете KDE Plasma, он будет работать напрямую с клиентом KDE Bluetooth. То же самое и со встроенным клиентом Gnome Shell. Итак, устанавливать Blueman не нужно.
Если вы используете среду рабочего стола Linux или оконный менеджер, в котором нет встроенного диспетчера Bluetooth, подумайте об установке Blueman. Это легкий инструмент для подключения, который значительно упрощает взаимодействие с устройствами.
Arch Linux
Fedora
OpenSUSE
Debian
Другие Linux
Инструмент подключения Blueman широко используется в Linux. Чтобы найти его в альтернативных дистрибутивах Linux, откройте диспетчер пакетов (или программный браузер), найдите «blueman» и установите его. Не можете найти его в источниках программного обеспечения? Вместо этого загрузите его с sourceforge!
Конфигурация
Недостаточно скачать стек Bluez Bluetooth и установить его в Linux. Службы должны быть активными, иначе устройства не будут подключаться. Сначала откройте терминал и получите корневую оболочку, используя: sudo -s
С помощью корневой оболочки вручную загрузите универсальный драйвер Bluetooth USB, если вы используете ключ BT.
При использовании портативного компьютера со встроенным радиомодулем Bluetooth драйвер (если поддерживается Linux) должен автоматически загружать драйвер, поэтому нет необходимости загружать его вручную.
Примечание: некоторые ключи Bluetooth не поддерживают этот драйвер в Linux. Если это произойдет с вами, прочтите руководство для вашего устройства и узнайте, какие драйверы ему требуются для работы в Linux.
Arch Linux, Fedora, SUSE и другие системные Linux
Во-первых, включите службу BT, чтобы она всегда запускалась при загрузке Linux. Это делается с помощью:
Затем сразу же запустите службу:
Если в какой-то момент systemctl отказывается запускать или включать эти службы, рассмотрите возможность использования параметра force:
Старая версия Debian
Используете версию Debian без systemd? Если да, то после установки Bluez и всех других инструментов Bluetooth перезагрузите компьютер. Службы запуска будут активны после повторного входа в систему.
Подключение к Bluetooth в Gnome
Если служба Bluetooth работает правильно, при подключении адаптера Bluetooth (или) использовании встроенного радиомодуля Bluetooth на вашем ПК вы должны увидеть значок Bluetooth на панели Gnome.
Щелкните значок, и откроется меню. В меню выберите «Настройки Bluetooth», чтобы открыть инструмент просмотра устройств.

В инструменте просмотра нажмите на устройство, к которому хотите подключиться.

Следуйте инструкциям на экране, которые дает Gnome для подключения.
Подключение к Bluetooth в KDE
Чтобы подключить устройства Bluetooth к рабочему столу KDE Plasma Desktop, убедитесь, что ваш USB-ключ (или) встроенный радиомодуль Bluetooth работает.

Отсюда щелкните значок BT на панели Plasma, затем выберите устройство для подключения. Следуйте инструкциям на инструменте для сопряжения!
Подключение к Bluetooth в Blueman
Чтобы устройство Bluetooth работало с Blueman, сначала щелкните значок Bluetooth на панели задач. Затем нажмите кнопку «Поиск», чтобы найти устройство. Когда появится устройство, выберите его мышью, затем нажмите «Настройка».

Инструмент Blueman проведет вас через процесс сопряжения. Следуйте инструкциям на экране, и вскоре ваше устройство будет сопряжено.
Вывод
Bluetooth всегда был ненадежным в Linux, и многие дистрибутивы Linux не настраивают его сразу. Надеюсь, что, следуя этому руководству, ваши проблемы с Bluetooth в Linux останутся в прошлом.
Bluetooth (Русский)
Bluetooth является стандартом для беспроводных соединений малой дальности сотовых телефонов, компьютеров и других электронных устройств. В Linux канонической реализацией стека протоколов Bluetooth является BlueZ.
Установка
-
пакет bluez , который предоставляет стек Bluetooth протокола.
- Установите bluez-utils , предоставляющий утилиту bluetoothctl . В качестве альтернативы можно установить bluez-utils-compatAUR , который содержит устаревшие инструменты BlueZ.
- Универсальный драйвер Bluetooth находится в модуле ядра btusb . Проверьте, что он загружен. Если нет, то загрузите его вручную. и включите службу bluetooth.service .
- По умолчанию демон bluetooth разрешит использовать устройства bnep0 только пользователям, входящим в группу lp . Удостоверьтесь, что учетная запись обычного пользователя добавлена в нее, если вы намереваетесь подключаться по bluetooth. Вы можете изменить группу, требуемую для этого, в файле /etc/dbus-1/system.d/bluetooth.conf .
- Некоторые адаптеры Bluetooth встроены в платы Wi-Fi (например, Intel Centrino). В этих случаях необходимо, чтобы сперва была включена плата Wi-Fi (обычно при помощи клавиш(и) на ноутбуке), после чего ядро сможет увидеть адаптер Bluetooth.
- Некоторые адаптеры Bluetooth (например, Broadcom) конфликтуют с сетевыми адаптерами. В этом случае вам необходимо удостовериться, что устройство Bluetooth подключается до начала загрузки сетевых служб.
- Некоторые утилиты вроде hcitool и hciconfig объявлены устаревшими и больше не поставляются в пакете bluez-utils . Так как они не получают обновления, рекомендуется избегать их использования. Если они вам всё ещё нужны, установите bluez-utils-compatAUR . Подробнее смотрите FS#53110 и the Bluez mailing list.
Фронтенды
Консольные
- bluetoothctl — Сопряжение устройств через командную строку является одним из самых простых и надежных вариантов.
Графические
Следующие пакеты позволяют настраивать Bluetooth с помощью графического интерфейса.
- GNOME Bluetooth — Инструмент Bluetooth в GNOME.
- gnome-bluetooth предоставляет бэкенд
- gnome-shell предоставляет апплет мониторинга статуса
- gnome-control-center предоставляет графический интерфейс настройки, для открытия которого можно ввести Bluetooth в поиске или выполнить команду gnome-control-center bluetooth .
- Также можно использовать команду bluetooth-sendto напрямую для отправки файлов на удалённое устройство.
- nautilus-bluetoothAUR добавляет пункт отправки по Bluetooth в контекстное меню файлов
- Для получения файлов откройте панель настроек Bluetooth; принимать файлы можно только при открытых настройка.
- Для добавления пункта отправки файла по Bluetooth в контекстном меню Thunar смотрите инструкции here. (укажите команду bluetooth-sendto %F ).
- Bluedevil — Инструмент Bluetooth в KDE. Если нет иконки в Dolphin и системном трее, включите её в настройках трея или добавьте виджет. Настроить Bluedevel и обнаружить устройства Bluetooth можно кликом по иконке. Интерфейс также доступен через настройки KDE.
- Blueberry — Инструмент в Linux Mint, надстройка над GNOME Bluetooth, работает во всех окружениях рабочего стола. Blueberry не поддерживает приём файлов через Obex Object Push.
- Blueman — Полнофункциональный менеджер Bluetooth.
- ObexFTP — Инструмент для обмена файлами с устройствами через OBEX.
Сопряжение
Этот раздел описывает прямую настройку bluez5 через утилиту командной строки bluetoothctl. Это необязательно, если вы используете какой-нибудь другой инструмент (например, GNOME Bluetooth).
Точная процедура зависит от особенностей конкретного устройства; эта инструкция описывает сопряжение с устройством при помощи /usr/bin/bluetoothctl лишь в общих чертах.
Запустите интерактивную команду bluetoothctl . После этого можно ввести help для получения списка доступных команд.
- (необязательно) Выберите контроллер по умолчанию командой select MAC-адрес .
- Включите питание контроллера, введя power on . По умолчанию оно отключено и отключается при каждой перезагрузке; смотрите #Автоматическое включение после загрузки.
- Введите devices , чтобы увидеть MAC-адрес устройства для сопряжения.
- Войдите в режим обнаружения устройств при помощи команды scan on , если нужного вам устройства нет в списке.
- Включите агент при помощи agent on или выберите конкретный агент: если вы введёте agent и дважды нажмёте Tab, будет отображён список доступных вариантов. Агент Bluetooth управляет кодом сопряжения. default-agent должен подойти в большинстве случаев. [1]
- Введите pair MAC-адрес , чтобы осуществить сопряжение (работает автодополнение по tab).
- При использовании устройства без PIN, возможно, потребуется подтверждение, прежде чем оно сможет успешно переподключиться. Для этого введите trust MAC-адрес .
- Наконец, используйте connect MAC-адрес для установки соединения.
Ваша сессия будет выглядеть примерно так:
Сопряжение при Dual boot
Чтобы сопряжение работало во всех установленных операционных системах, необходимо изменить ключи сопряжения так, чтобы они были одинаковыми во всех системах.
Установка
Чтобы следать это, сперва сделайте сопряжение в вашем Arch Linux. Потом перезагрузитесь в другую ОС и сделайте сопряжение там. Теперь нужно извлечь ключи сопряжения, но сперва отключите Bluetooth-устройства, чтобы не было ненужных попыток подключения до завершения настройки.
Для Windows
Извлечение ключей в Windows
alt=»Tango-inaccurate.png» width=»48″ height=»48″ />The factual accuracy of this article or section is disputed. alt=»Tango-inaccurate.png» width=»48″ height=»48″ />
Запись реестра, содержащая ключи, доступна только пользователю SYSTEM, в которого нельзя выполнить вход. Поэтому понадобится утилита PsExec с официального сайта Windows Sysinternals для запуска regedit.exe от имени SYSTEM .
Скачайте архив PsTools и извлеките из него файл PsExec64.exe .
Запустите командную строку от имени администратора, перейдите в папку с извлечённым exe-файлом и запустите редактор реестра:
Откройте эту ветку реестра:
В ней содержатся подветки для каждого Bluetooth-адаптера по их MAC-адресам. Если их несколько и вы не знаете, какой из них вам нужен, смотрите эту инструкцию для выяснения MAC-адреса нужного вам Bluetooth-адаптера.
В ветках каждого адаптера лежат записи для каждого сопряжённого устройства аналогично по MAC-адресам с ключами в бинарном виде.
Для каждого устройства, которое вы хотите сделать доступным во всех ОС, нажмите правой кнопкой мыши на соответствующий ключ в реестре и экспортируйте его в .reg. Как вариант, можно скопировать hex-значение.
Если есть записи LTK , ERand и EDIV , значит это Bluetooth 5.1 устройство и эти записи тоже нужно экспортировать.
Извлечение ключей в Linux
Перезагрузитесь в Arch. Установите chntpw . Примонтируйте ваш Windows-раздел.
В окружении chntpw выполните
Затем узнайте MAC-адрес вашего Bluetooth-адаптера и перейдите в соответствующую папку
Сделайте то же самое с сопряжёнными устройствами:
Теперь можно получить ключ устройства через hex :
«XX»ы и являются ключом сопряжения. Запомните, какие ключи каким MAC-адресам соответствуют.
В случае BT5.1 вы можете увидеть такой вывод:
Здесь нужно сохранить LTK , ERand и EDIV .
Подготовка ключей Bluetooth 5.1
Если в реестре для нужного устройства были ключи LTK , ERand и EDIV , они должны быть сконвертированы для использования в Linux. LTK соответствует LongTermKey.Key , ERand — Rand , EDIV — EDiv . Значение ERand должно быть развёрнуто и преобразовано в десятичное число. ННапример:
- Из LTK со значением 48 4D AF CD 0F 92 22 88 0A 52 9A F4 76 DA 8B 94 получается LongTermKey.Key со значением 484DAFCD0F9222880A529AF476DA8B94 .
- Из ERand со значением 63 02 84 B8 5D 40 44 DF получается Rand со значением 16088054540146049635 .
- Из EDIV со значением 37520 получается EDiv со значением 37520 .
Для macOS
Загрузитесь в macOS, откройте терминал.
- Если у вас Sierra или старее, выполните
- Если у вас High Sierra или новее, выполните
Для старых версий macOS (High Sierra и более ранние) нужно развернуть ключи. Например, 98 54 2f aa bb cc dd ee ff gg hh ii jj kk ll mm преобразуется в MM LL KK JJ GG FF EE DD CC BB AA 2F 54 98 .
Скопируйте файл bt_keys.txt на диск, который можно будет прочитать в Arch Linux, и перезагрузитесь в Arch Linux.
Завершение
Теперь, когда у вас есть нужные ключи, войдите как root и перейдите в каталог:
Здесь вы найдёте подкаталоги для каждого сопряжённого устройства. Для каждого нужного устройства перейдите в его подкаталог:
Измените файл info и подставьте ключ под [LinkKey] , например:
Затем перезапустите bluetooth.service и pulseaudio (командой pulseaudio -k && pulseaudio —start ).
Теперь устройство должно успешно подключаться.
Настройка
Автоматическое включение после загрузки
По умолчанию адаптер Bluetooth не включается после перезагрузки. Если вам это нужно, добавьте строку AutoEnable=true в файле конфигурации /etc/bluetooth/main.conf в разделе [Policy] :
Видимость при запуске системы
Если вы хотите, чтобы ваше устройство всегда было видимо и доступно для подключения:
Аудио
Обычно нужны дополнительные шаги для интеграции аудиосервера с Bluetooth. Подробнее это описано ниже.
Смотрите также Bluetooth headset для информации о подключении Bluetooth-гарнитуры.
PulseAudio
Установите пакет pulseaudio-bluetooth . Не забудьте перезапустить PulseAudio после переустановки: pulseaudio -k . При стандартной установке PulseAudio после этого у вас сразу должна появиться возможность использования Bluetooth-устройств.
Если ваш PulseAudio работает как общесистемная служба, убедитесь, что пользователь, от имени которого запущен демон (обычно pulse ), состоит в группе lp , и не забудьте загрузить нужные модули:
PipeWire
PipeWire с версии 0.3.19 включает свою поддержку Bluetooth по умолчанию, смотрите Config Bluetooth.
Сперва убедитесь, что ваше аудиоустройство Bluetooth подключено и сопряжено с системой.
Затем установите bluez-alsa-git AUR , запустите (и включите) службу bluealsa и добавьте своего пользователя в группу audio .
Выполните следующую команду для проверки, что всё работает (замените XX:XX:XX:XX:XX:XX и ФАЙЛ.wav на нужные значения):
В завершение добавьте эти строки в
Теперь можно использовать устройство bluealsa для доступа к аудиоустройству Bluetooth. Управление объемом обычно осуществляется через alsamixer с опцией -D bluealsa .
Bluetooth serial
Чтобы получить последовательную связь на Bluetooth-to-Serial модулях (HC-05, HC-06), выполните следующие шаги:
Выполните сопряжение с вашим устройством Bluetooth с помощью bluetoothctl как описано выше.
Установите bluez-rfcomm AUR и bluez-utils-compat AUR , так как они предоставляют функции, отсутствующие в более новых инструментах.
Привяжите MAC-адрес сопряжённого устройства к терминула tty:
Теперь можно открыть /dev/rfcomm0 для последовательной связи:
Решение проблем
alt=»Tango-view-refresh-red.png» width=»48″ height=»48″ />This article or section is out of date. alt=»Tango-view-refresh-red.png» width=»48″ height=»48″ />
Отладка
Для отладки сперва остановите bluetooth.service .
Затем запустите его напрямую с параметром -d :
Другой вариант — использовать инструмент btmon .
Устаревшие инструменты BlueZ
Восемь инструментов BlueZ объявлены устаревшими и удалены из bluez-utils , хотя не для всех из них есть замена среди новых инструментов. Пакет bluez-utils-compat AUR предоставляет альтернативный вариант bluez-utils , включающий в себя устаревшие инструменты.
Устаревший инструмент Ближайшая замена gatttool btgatt-client, D-Bus Gatt API hciattach btattach hciconfig btmgmt (и bluetoothctl?) hcidump btmon (и btsnoop) hcitool отсутствует, есть D-Bus Device API rfcomm отсутствует, сделать с D-Bus Profile1 API? ciptool sdptool отсутствует, функциональность кажется разбросанной по разным объектам DBus: Profile, Advertising, и массивы UUID в device и adapter. gnome-bluetooth
Если вы видите это при попытке включить получение файлов в настройках bluetooth:
Bluetooth USB донгл
Если вы пользуетесь USB донглом, вы должны проверить, что ваш Bluetooth донгл распознан системой. Это можно сделать с помощью команды journalctl -f , после того как вы воткнёте USB донгл (или заглянув в /var/log/messages.log ). Должно появиться что-то вроде следующего (ищите hci):
Если вы получили только первые две строки, значит донгл распознан, но вам необходимо его активировать (поднять). Пример:
Чтобы убедиться, что устройство было определено, вы можете использовать hcitool , являющуюся частью bluez-utils . Вы можете получить список доступных устройств, их идентификаторов и MAC-адресов, используя:
Для проверки версии Bluetooth можно сопоставить её с версией HCI по таблице из официальной спецификации. Например, в предыдущем выводе HCI version 6 означает Bluetooth 4.0.
Более детальная информация об устройстве может быть получена с помощью устаревшего инструмента hciconfig . ( bluez-utils-compat AUR )
Устройства аудио начинают пропускать звук на небольшом расстоянии от донгла
Если другие устройства работают через тот же USB-хост, они могут прерывать связь с устройствами аудио. Убедитесь, что только Bluetooth-устройство подключено к соответствующей USB-шине. Например:
CSR Dongle 0a12:0001
С устройством ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode) есть баг, и оно сейчас работает только в версиях ядра ≤ 3.9.11. Есть патч для новых версий. Подробнее смотрите Kernel Bug 60824.
Logitech Bluetooth USB донгл
Существуют Logitech донглы (например, Logitech MX5000), которые могут работать в двух режимах: встроенный (Embedded) и HCI. Во встроенном режиме донгл эмулирует устройство USB так, что ваш компьютер думает, что вы используете обычную USB мышь/клавиатуру.
Если вы нажмёте маленькую красную кнопку на USB BT мини-приёмнике, включится другой режим. Удерживайте красную кнопку на BT донгле и вставьте его в компьютер, и через 3-5 секунд удерживания кнопки в системном трее появится иконка Bluetooth (Обсуждение).
В качестве альтернативы, вы можете установить пакет bluez-hid2hci . Когда вы подключите ваш Logitech донгл, он автоматически переключится.
hcitool scan: Устройство не найдено
- На некоторых ноутбуках Dell (например, Studio 15) вы должны переключить режим Bluetooth с HID на HCI. Установите пакет bluez-hid2hci , после чего udev будет делать это автоматически. В качестве альтернативы вы можете выполнить эту команду для переключения на HCI вручную:
- Если устройство не появится, а на вашей машине есть операционная система Windows, попробуйте загрузить её и включить адаптер bluetooth в windows.
- Иногда также помогает эта простая команда:
bluetoothctl: No default controller available
Эта ошибка может случаться, если устройство заблокировано через rfkill.
Также это случается с некоторыми картами intel (такими как 8260), которые не распознаются корректно службой Bluetooth. Иногда использование устаревшего bluez-utils-compat AUR взамен bluez-utils , как сообщалось, решает проблему.
Это также может быть вызвано мерами по энергосбережению, тогда добавление параметра ядра btusb.enable_autosuspend=n может помочь. Смотрите также Red Hat Bugzilla – Bug 1573562.
systemd: Condition check resulted in Bluetooth service being skipped
bluetooth.service требует только существование каталога /sys/class/bluetooth , который создаётся модулем ядра bluetooth , который автоматически загружается через systemd-udev , если он находит работающее устройство Bluetooth.
Если у вас /sys/class/bluetooth не существует, проверьте, что модуль Bluetooth загружен, с помощью lsmod . Если нет, и вы уверены, что у вас есть устройство Bluetooth, попробуйте загрузить его вручную и перезапустить службу bluetooth.service .
Также нужно загрузить соответствующий драйвер Bluetooth, чаще всего btusb , но иногда могут понадобиться btrtl,btintel,btbcm,bnep,btusb и т.д.
Проверьте статус bluetooth.service , чтобы убедиться, что он запущен.
Если bluetooth.service успешно запущен, есть шанс, что использовать Bluetooth нормально всё равно не получится (например, bluetoothctl говорит что-то вроде org.Bluez.Error.NotReady при выполнении scan on ). Если такое случается, попробуйте перезагрузить компьютер и дважды проверьте: каталог /sys/class/bluetooth существует; lsmod содержит нужные модули Bluetooth; сообщения в журнале; и т.д. systemd-udev должен подхватить ваше устройство Bluetooth автоматически.
rfkill unblock: не происходит разблокировка
Если ваше устройство по-прежнему программно блокируется и у вас запущен connman, попробуйте это:
Мой компьютер невидим
Включите режим обнаружения:
Убедитесь, что он включен:
Если компьютер всё равно невидим, попробуйте изменить класс устройства в /etc/bluetooth/main.conf, как здесь:
Пользователь сообщал, что это было единственное решение, сделавшее его компьютер видимым для телефона. Телевизоры LG (и некоторые другие) видимы с других устройств аудио, так что использование класса 000414 (soundbar) заставит такие устройства появиться.
Foxconn / Hon Hai / Lite-On Broadcom
Некоторые из этих устройств необходимо прошивать при загрузке. Файлы прошивок не предоставляются, но их можно сконвертировать из Windows-файлов .hex в .hcd с помощью hex2hcd (который устанавливается с bluez-utils ).
Чтобы получить нужный .hex файл, попробуйте поискать vendor:product (производитель:продукт) из lsusb, например:
В качестве альтернативы, вы можете загрузиться в Windows (можете использовать виртуальную машину) и узнать название прошивки из утилиты Диспетчер Устройств. Если вы хотите знать модель устройста, но не видите его в lsusb, его можно увидеть в lsusb -v как iProduct .
Файл .hex можно извлечь из скачанного драйвера Windows без необходимости загружать Windows. Скачайте правильный драйвер, например Bluetooth Widcomm (перечислен среди драйверов для Lifebook P771 [устаревшая ссылка 2022-09-17 ⓘ] ), который содержит драйверы для многих устройств Broadcomm. В случае Widcomm драйвер является самораспаковывающимя RAR-архивом, так что его можно распаковать с помощью unrar x. Чтобы найти, какой из .hex файлов нужен вам, смотрите Win32/bcbtums-win7x86-brcm.inf и ищите [RAMUSBE031.CopyList] , где E031 следует заменить на product code вашего устройства (второе hex-число из lsusb) в верхнем регистре.
Когда вы сконвертируете его в .hcd, скопируйте его в /lib/firmware/brcm/BCM.hcd — это имя файла предлагает dmesg и может быть другим, так что проверьте вывод dmesg у себя. Затем перезагрузите модуль
Теперь устройство должно быть доступно. Смотрите BBS#162688 для информации о том, как сделать эти изменения постоянными.
Комбинированные WiFi-Bluetooth карты Intel
Устройство подключается и затем отключается спустя мгновение
Если вы видите в журнале подобные сообщения и устройство не может подключиться или отключается вскоре после подключения:
Это может быть из-за того, что вы уже настроили сопряжение с этим устройством в другой операционной системе с тем же Bluetooth-адаптером (например, в случае dual-booting). Некоторые устройства не могут обрабатывать несколько сопряжений с одним и тем же MAC-адресом. Смотрите #Сопряжение при Dual boot для решения этой проблемы.
Устройство не подключается и пишет ошибку в журнал
Если при попытке подключения вы видите в журнале сообщение вроде такого:
попробуйте установить pulseaudio-bluetooth и перезапустить PulseAudio. Эта ошибка может проявиться даже при использовании только передачи файлов.
Устройство не видно в scan
Некоторые устройства с Bluetooth low energy не отображаются при сканировании в bluetoothctl, например Logitech MX Master. Самым простым найдённым путём для соединения может быть установка bluez-utils-compat AUR , запуск bluetooth.service и выполнение:
В другом терминале:
Дождитесь появления устройства и затем прервите hcitool с помощью Ctrl+c . Теперь bluetoothctl должен увидеть ваше устройство и позволить нормально настроить сопряжение.
Не удаётся получить файлы из-за символьной ссылки
Если передача файла обрывается при успешно работающем соединении Bluetooth, проблема может быть из-за символьных ссылок в пути. В журнале могут появиться примерно такие записи:
Если показанный здесь путь содержит символьную ссылку, то obexd по умолчанию не примет его. Поведение можно переопределить с помощью drop-in файла для пользовательской службы obex.service :
Затем выполните systemctl daemon-reload —user от имени нужного пользователя и перезапустите пользовательский юнит obex.service .
Интерференция между наушниками и мышью
Если аудио заикается при одновременном использовании Bluetooth мыши и клавиатуры, попробуйте это, как указано в #23 https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/424215
Bluetooth мышь двигается с задержкой
Попробуйте изменить файл /var/lib/bluetooth/XX:XX:XX:XX:XX:XX/YY:YY:YY:YY:YY:YY/info (где XX:XX:XX:XX:XX:XX — MAC-адрес вашего Bluetooth-адаптера, YY:YY:YY:YY:YY:YY — MAC-адрес вашей мыши), добавив туда следующие строки:
Вы можете посмотреть MAC-адрес адаптера командой hcitool dev , а MAC-адреса подключенных устройств командой hcitool con
Адаптер пропадает после ждущего режима
Сперва найдите product ID адаптера. Например:
В данном случае vendor ID — 8087, product ID — 0025.
Затем используйте usb_modeswitch для сброса адаптера:
Проблемы со всеми устройствами BLE на ядре 5.9+
С версии 5.9 стек Bluetooth в ядре пытается использовать link-layer privacy на BLE соединениях. Если устройство работает после сопряжения, но не переносит перезагрузку или ждущий режим — вероятно, из-за этого.
Как использовать Bluetooth в Linux?
Пакеты Linux, необходимые для поддержки Bluetooth в Gnome, — это bluez (опять же, Duh) и gnome-bluetooth. Xfce, LXDE и i3: все эти дистрибутивы обычно используют пакет графического менеджера bluetooth blueman. … Щелчок по значку Bluetooth на панели вызывает управление устройствами Bluetooth.
Как включить Bluetooth в терминале?
Как подключить Bluetooth на устройствах Android
- Коснитесь значка, чтобы включить Bluetooth и сделать ваше устройство доступным для сопряжения.
- Удерживайте значок в течение одной секунды, чтобы открыть меню настроек Bluetooth (также вы можете открыть его, выбрав «Настройки»> «Подключенные устройства»> «Bluetooth»).
Как подключить динамик Bluetooth к Linux?
Просто нажмите клавишу Windows (также называемую супер клавишей в мире Linux) и введите настройки:
- Настройки меню приложений.
- Настройки Bluetooth Ubuntu.
- Щелкните устройство, которое хотите подключить.
- Смартфоны и вкладки требуют PIN-код для подключения.
- Убедитесь, что ваш аудиовыход настроен на устройство Bluetooth.
- Удалите устройство Bluetooth из вашей системы.
10 колода 2019 г.
Как настроить Bluetooth в Ubuntu?
Соединение Bluetooth по умолчанию в Ubuntu
- Откройте настройку Bluetooth, щелкнув значок Bluetooth на верхней панели:
- Выберите + в нижнем левом углу следующего окна:
- Переведите устройство Bluetooth в «Режим сопряжения». …
- Затем нажмите «Продолжить», чтобы включить «настройку нового устройства» в Ubuntu.
21 февраля. 2013 г.
Как я узнаю, что мой Bluetooth находится в Linux?
- Чтобы найти версию адаптера Bluetooth в вашем Linux, откройте терминал и используйте эту команду: sudo hcitool -a.
- Найдите версию LMP. Если версия 0x6 или выше, ваша система совместима с Bluetooth Low Energy 4.0. Любая версия ниже указанной означает более старую версию Bluetooth.
Как узнать, есть ли на моем компьютере Bluetooth Linux?
Как узнать, есть ли в компьютере с Linux Bluetooth
- Откройте терминал.
- Введите ‘dmesg | grep -i blue ‘и нажмите Enter.
- Если вы видите оборудование для возврата, значит у вас есть Bluetooth. Если вы не видите список оборудования, значит, вы его не видите.
Как исправить Bluetooth на Ubuntu?
- судо нано /etc/bluetooth/main.conf.
- Измените # AutoEnable = false на AutoEnable = true (по умолчанию внизу файла)
- systemctl перезапустите bluetooth.service.
Как использовать Bluetooth в Kali Linux?
В новом открывшемся окне щелкните «Другое» и установите флажок в левой части окна, чтобы «показать» настройку устройства Bluetooth. Снова щелкните значок «Приложения» -> «Другое», и теперь вы должны увидеть окно «Настройка устройства Bluetooth». Оттуда должно быть легко выполнить сопряжение устройства.
Как мне запустить gnome Bluetooth?
Во-первых, вам нужно открыть настройки GNOME и выбрать запись «Bluetooth». Включите адаптер Bluetooth и дождитесь, пока он просканирует и просмотрит доступные устройства. На этом этапе вы должны убедиться, что Bluetooth вашего устройства также включен и что он доступен для обнаружения.
Не удается подключиться к Bluetooth Ubuntu?
Убедитесь, что ваш адаптер Bluetooth включен. Откройте панель Bluetooth и убедитесь, что она не отключена. Убедитесь, что на устройстве, к которому вы пытаетесь подключиться, включен Bluetooth, и что оно доступно для обнаружения или видимости.
Как установить Pulseaudio Bluetooth?
- Установите pulseaudio:…
- Создайте службу systemd для запуска pulseaudio от имени пользователя pulse. …
- Дайте пользователю «pulse» разрешение на использование Bluetooth. …
- Вставьте следующие строки в ** конец ** файла `/ etc / pulse / system.pa`:…
- Запустите службу systemd: `systemctl start pulseaudio.service`
Как подключиться к динамику Bluetooth?
Как подключить Bluetooth-колонки к вашему мобильному телефону
- Перейдите в настройки.
- Коснитесь опции Bluetooth.
- Включите Bluetooth.
- Появится список доступных устройств.
- Если вашего динамика нет в списке, нажмите кнопку на динамике, которая делает его доступным для обнаружения — часто это кнопка с символом Bluetooth на ней.
Что такое RFKill в Linux?
RFKill — это подсистема в ядре Linux, которая предоставляет интерфейс, через который радиопередатчики в компьютерной системе могут запрашиваться, активироваться и деактивироваться.
Как использовать наушники Bluetooth с Ubuntu?
Начиная с Ubuntu 10.10, все должно быть очень просто:
- Перейдите в Система -> Настройки -> Bluetooth и выполните сопряжение устройства Bluetooth.
- Перейдите в Система -> Настройки -> Звук и выберите устройство Bluetooth в качестве устройства вывода.
8 центов 2017 г.
Как включить Bluetooth в Linux Mint?
Re: Требуется: Командная строка для включения Bluetooth
Откройте терминал и введите по поводу bluetooth. Это вернет список команд, связанных с Bluetooth, с кратким описанием каждой из них. Выберите те, которые звучат многообещающе, например bluetoothd, и введите man bluetoothd и т. Д. Для всех команд.