Linux bluetooth не видит устройства

Обновлено: 04.07.2024

Устройства Bluetooth встречаются довольно часто в наше время. Это простой и дешевый способ добавить поддержку беспроводных технологий для смартфона или любого другого гаджета. Система Linux может использовать различные протоколы: OBEX, A2DP, DUN, HID и другие для взаимодействия с различными устройствами.

В этой статье мы рассмотрим как выполняется настройка Bluetooth Ubuntu 16.04. Рассмотрим как установить драйвера и настроить связь между двумя устройствами.

Первоначальная настройка

Большинство Bluetooth адаптеров выполнены в виде USB и могут быть настроены с помощью утилит HCL. Некоторые устройства, такие как Atheros, требуют для своей работы установленных прошивок в системе.

Для установки всех необходимых программ выполните такую команду:

sudo apt-get install bluetooth bluez bluez-tools rfkill rfcomm

Дальше установите прошивки для адаптеров Atheros, если это необходимо:

sudo apt-get install bluez-firmware firmware-atheros

Затем запустите службу управления Bluetooth:

sudo service bluetooth start

Сканирование устройств Bluetooth

Перед тем, как перейти к сканированию устройств нужно убедиться что ваш bluetooth адаптер подключен и не заблокирован с помощью rfkill:

sudo rfkill list


Если устройство заблокировано, программной или аппаратной блокировкой, необходимо разблокировать его с помощью команды rfkill:

sudo rfkill unblock bluetooth

Включить адаптер можно с помощью команды hciconfig:

sudo hciconfig hci0 up


Дальше можно начать сканирование. Только перед этим убедитесь, что на другом устройстве Bluetooth включен и не находится в скрытом режиме. Для сканирования выполните:

sudo hcitool scan


После завершения вы увидите доступное устройство. Здесь будет отображаться его имя и MAC адрес.

Чтобы узнать более подробную информацию об устройстве, вы можете использовать утилиту sdptool:

sdptool browse D0:B3:3F:96:2A:30


Вы можете сразу отфильтровать какие возможности поддерживает обнаруженное устройство:

sdptool browse D0:B3:3F:96:2A:30 | grep 'Service Name:'


Также вы можете использовать интерактивный инструмент bluetoothctl:

Также вы можете проверить доступность удаленного устройства с помощью утилиты ping:

sudo l2ping D0:B3:3F:96:2A:30


Сопряжение устройств

Для совместной работы устройств Bluetooth нужно настроить их сопряжение. Для этого используется команда RFCOMM. Эта команда требует полномочий суперпользователя. Синтаксис команды такой:

sudo rfcomm connect устройство_адаптера mac_адрес_цели канал

Например, подключимся к нашему устройству на втором канале:

sudo rfcomm connect hci0 D0:B3:3F:96:2A:30 2


Теперь на другом устройстве появиться запрос на соединение и вам нужно будет ввести одинаковый pin на обоих устройствах. После этого оно будет доступно через файл /dev/rfcomm0. Не закрывайте терминал, чтобы соединение оставалось активным. Вы можете посмотреть список подключений с помощью hcitool:

Отправка и прием файлов по OBEX

sudo bt-obex -p MAC_адрес_устройства /путь/к/файлу

sudo bt-obex -p D0:B3:3F:96:2A:30

Чтобы получить файл вам нужно запустить сервис obex в режиме прослушивания с помощью опции -s:

bt-obex -s /path/to/output/folder

Здесь вам нужно указать путь к папке, куда нужно сохранить полученный файл. После выполнения этих настроек Bluetooth Ubuntu, вы можете передать любой файл с телефона. Вы также можете запустить FTP сеанс с устройством, для просмотра файлов, которые на нем есть:

sudo bt-obex -f MAC_адрес_устройства

Интернет через Bluetooth

Раньше использование Dial-up сети было очень популярным. Сейчас эта технология почти не используется. Но, возможно, понадобиться раздать интернет от вашего телефона на компьютер. Для этого можно использовать два протокола: DUN - более старый и BNEP, более похожий на работу локальной сети.

Чтобы определить поддерживает ли устройство работу по протоколу DUN нужно использовать правильный канал rfcomm. Нужно использовать канал 15:

sudo rfcomm bind D0:B3:3F:96:2A:30 15

Если протокол поддерживается, то у вас появиться устройство rfcomm0. Дальше вы можете использовать NetworkManager для подключения к сети.

Что касается BNEP, то здесь вам уже не нужно использовать rfcomm, все протоколы будут обрабатываться bluez. Все что нужно, это Bluez и NetworkManager. Добавьте новое соединение Bluetooth:


Выберите найденную сеть:


Дальше вы можете посмотреть информацию о подключении и использовать сеть:


Выводы

В этой статье мы рассмотрели как выполняется настройка Bluetooth Ubuntu 16.04. Все работает очень просто, и хотя в графическом интерфейсе может быть не совсем понятно как что настроить, то в терминале все точно и понятно. Если у вас остались вопросы, спрашивайте в комментариях!

04 апр 2020, 19:15

Dardwolf , ну хоть начни сначала. Например с этого ,, покажи вывод sudo service bluetooth status , у меня вот что получается например.

sudo service bluetooth status
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2020-04-04 17:22:28 MSK; 2h 11min ago
Docs: man:bluetoothd(8)
Main PID: 777 (bluetoothd)
Status: "Running"
Tasks: 1 (limit: 4503)
CGroup: /system.slice/bluetooth.service
└─777 /usr/lib/bluetooth/bluetoothd

апр 04 17:22:25 mtuser systemd[1]: Starting Bluetooth service.
апр 04 17:22:26 mtuser bluetoothd[777]: Bluetooth daemon 5.48
апр 04 17:22:28 mtuser bluetoothd[777]: Starting SDP server
апр 04 17:22:28 mtuser systemd[1]: Started Bluetooth service.
апр 04 17:22:29 mtuser bluetoothd[777]: Bluetooth management interface 1.14 initialized
апр 04 17:22:52 mtuser bluetoothd[777]: Endpoint registered: sender=:1.40 path=/MediaEndpoint/A2DPSource
апр 04 17:22:52 mtuser bluetoothd[777]: Endpoint registered: sender=:1.40 path=/MediaEndpoint/A2DPSink

Не работает блютуз на линуксе на виндовсе всё работает

05 апр 2020, 08:48

● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset
Active: active (running) since Sun 2020-04-05 08:45:20 +05; 2h 23min ago
Docs: man:bluetoothd(8)
Main PID: 801 (bluetoothd)
Status: "Running"
Tasks: 1 (limit: 4489)
CGroup: /system.slice/bluetooth.service
└─801 /usr/lib/bluetooth/bluetoothd

апр 05 08:45:18 dardwolf-SVF1521D1RW systemd[1]: Starting Bluetooth service.
апр 05 08:45:19 dardwolf-SVF1521D1RW bluetoothd[801]: Bluetooth daemon 5.48
апр 05 08:45:20 dardwolf-SVF1521D1RW systemd[1]: Started Bluetooth service.
апр 05 08:45:20 dardwolf-SVF1521D1RW bluetoothd[801]: Starting SDP server
апр 05 08:45:21 dardwolf-SVF1521D1RW bluetoothd[801]: Bluetooth management inter
апр 05 11:06:50 dardwolf-SVF1521D1RW bluetoothd[801]: Endpoint registered: sende
апр 05 11:06:50 dardwolf-SVF1521D1RW bluetoothd[801]: Endpoint registered: sende
lines 1-17/17 (END)
вот что выдало
что к чему не могу сообразить

Не работает блютуз на линуксе на виндовсе всё работает

05 апр 2020, 08:54

Блютуз у тебя работает и включен. Набери и выполни команду blueberry

Не работает блютуз на линуксе на виндовсе всё работает

05 апр 2020, 09:08

Dardwolf , ну хоть начни сначала. Например с этого ,, покажи вывод sudo service bluetooth status , у меня вот что получается например.

sudo service bluetooth status
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2020-04-04 17:22:28 MSK; 2h 11min ago
Docs: man:bluetoothd(8)
Main PID: 777 (bluetoothd)
Status: "Running"
Tasks: 1 (limit: 4503)
CGroup: /system.slice/bluetooth.service
└─777 /usr/lib/bluetooth/bluetoothd

апр 04 17:22:25 mtuser systemd[1]: Starting Bluetooth service.
апр 04 17:22:26 mtuser bluetoothd[777]: Bluetooth daemon 5.48
апр 04 17:22:28 mtuser bluetoothd[777]: Starting SDP server
апр 04 17:22:28 mtuser systemd[1]: Started Bluetooth service.
апр 04 17:22:29 mtuser bluetoothd[777]: Bluetooth management interface 1.14 initialized
апр 04 17:22:52 mtuser bluetoothd[777]: Endpoint registered: sender=:1.40 path=/MediaEndpoint/A2DPSource
апр 04 17:22:52 mtuser bluetoothd[777]: Endpoint registered: sender=:1.40 path=/MediaEndpoint/A2DPSink

● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset
Active: active (running) since Sun 2020-04-05 08:45:20 +05; 2h 23min ago
Docs: man:bluetoothd(8)
Main PID: 801 (bluetoothd)
Status: "Running"
Tasks: 1 (limit: 4489)
CGroup: /system.slice/bluetooth.service
└─801 /usr/lib/bluetooth/bluetoothd

апр 05 08:45:18 dardwolf-SVF1521D1RW systemd[1]: Starting Bluetooth service.
апр 05 08:45:19 dardwolf-SVF1521D1RW bluetoothd[801]: Bluetooth daemon 5.48
апр 05 08:45:20 dardwolf-SVF1521D1RW systemd[1]: Started Bluetooth service.
апр 05 08:45:20 dardwolf-SVF1521D1RW bluetoothd[801]: Starting SDP server
апр 05 08:45:21 dardwolf-SVF1521D1RW bluetoothd[801]: Bluetooth management inter
апр 05 11:06:50 dardwolf-SVF1521D1RW bluetoothd[801]: Endpoint registered: sende
апр 05 11:06:50 dardwolf-SVF1521D1RW bluetoothd[801]: Endpoint registered: sende
lines 1-17/17 (END)
вот что вышло

Устройства Bluetooth встречаются довольно часто в наше время. Это простой и дешевый способ добавить поддержку беспроводных технологий для смартфона или любого другого гаджета. Система Linux может использовать различные протоколы: OBEX, A2DP, DUN, HID и другие для взаимодействия с различными устройствами.

В этой статье мы рассмотрим как выполняется настройка Bluetooth Ubuntu 16.04. Рассмотрим как установить драйвера и настроить связь между двумя устройствами.

Первоначальная настройка

Большинство Bluetooth адаптеров выполнены в виде USB и могут быть настроены с помощью утилит HCL. Некоторые устройства, такие как Atheros, требуют для своей работы установленных прошивок в системе.

Для установки всех необходимых программ выполните такую команду:

sudo apt-get install bluetooth bluez bluez-tools rfkill rfcomm

Дальше установите прошивки для адаптеров Atheros, если это необходимо:

sudo apt-get install bluez-firmware firmware-atheros

Затем запустите службу управления Bluetooth:

sudo service bluetooth start

Сканирование устройств Bluetooth

Перед тем, как перейти к сканированию устройств нужно убедиться что ваш bluetooth адаптер подключен и не заблокирован с помощью rfkill:

sudo rfkill list


Если устройство заблокировано, программной или аппаратной блокировкой, необходимо разблокировать его с помощью команды rfkill:

sudo rfkill unblock bluetooth

Включить адаптер можно с помощью команды hciconfig:

sudo hciconfig hci0 up


Дальше можно начать сканирование. Только перед этим убедитесь, что на другом устройстве Bluetooth включен и не находится в скрытом режиме. Для сканирования выполните:

sudo hcitool scan


После завершения вы увидите доступное устройство. Здесь будет отображаться его имя и MAC адрес.

Чтобы узнать более подробную информацию об устройстве, вы можете использовать утилиту sdptool:

sdptool browse D0:B3:3F:96:2A:30


Вы можете сразу отфильтровать какие возможности поддерживает обнаруженное устройство:


Также вы можете использовать интерактивный инструмент bluetoothctl:

Также вы можете проверить доступность удаленного устройства с помощью утилиты ping:

sudo l2ping D0:B3:3F:96:2A:30


Сопряжение устройств

Для совместной работы устройств Bluetooth нужно настроить их сопряжение. Для этого используется команда RFCOMM. Эта команда требует полномочий суперпользователя. Синтаксис команды такой:

sudo rfcomm connect устройство_адаптера mac_адрес_цели канал

Например, подключимся к нашему устройству на втором канале:

sudo rfcomm connect hci0 D0:B3:3F:96:2A:30 2


Теперь на другом устройстве появиться запрос на соединение и вам нужно будет ввести одинаковый pin на обоих устройствах. После этого оно будет доступно через файл /dev/rfcomm0. Не закрывайте терминал, чтобы соединение оставалось активным. Вы можете посмотреть список подключений с помощью hcitool:

Отправка и прием файлов по OBEX

sudo bt-obex -p MAC_адрес_устройства /путь/к/файлу

sudo bt-obex -p D0:B3:3F:96:2A:30

Чтобы получить файл вам нужно запустить сервис obex в режиме прослушивания с помощью опции -s:

bt-obex -s /path/to/output/folder

Здесь вам нужно указать путь к папке, куда нужно сохранить полученный файл. После выполнения этих настроек Bluetooth Ubuntu, вы можете передать любой файл с телефона. Вы также можете запустить FTP сеанс с устройством, для просмотра файлов, которые на нем есть:

sudo bt-obex -f MAC_адрес_устройства

Интернет через Bluetooth

Чтобы определить поддерживает ли устройство работу по протоколу DUN нужно использовать правильный канал rfcomm. Нужно использовать канал 15:

sudo rfcomm bind D0:B3:3F:96:2A:30 15

Если протокол поддерживается, то у вас появиться устройство rfcomm0. Дальше вы можете использовать NetworkManager для подключения к сети.

Что касается BNEP, то здесь вам уже не нужно использовать rfcomm, все протоколы будут обрабатываться bluez. Все что нужно, это Bluez и NetworkManager. Добавьте новое соединение Bluetooth:


Выберите найденную сеть:


Дальше вы можете посмотреть информацию о подключении и использовать сеть:


Выводы

В этой статье мы рассмотрели как выполняется настройка Bluetooth Ubuntu 16.04. Все работает очень просто, и хотя в графическом интерфейсе может быть не совсем понятно как что настроить, то в терминале все точно и понятно. Если у вас остались вопросы, спрашивайте в комментариях!

Популярные публикации

Последние комментарии


Как заставить работать Bluetooth в Debian.

Устанавливаем PIN код для вашего компьютера

После этого, необходимо запустить сервис

Теперь можете попытаться найти доступные Bluetooth устройства:

Если вам необходимо проверить параметры bluetooth, то используем следующую команду

Если вам понравился мой пост то подпишитесь на RSS

Понравилась статья? Подпишитесь на канал, чтобы быть в курсе самых интересных материалов

Настройка bluetooth в linuxmint

Намедни взялся настроить на ноутбуке жены линукс взамен порядком подзабитой w7 всякими мейлгвардами и другими маргетингтулз.exe бякостями ну и чтобы обезопаситься первентивно. По опыту использования на работе выбор дистрибутива пал на Linuxmint Mate 64 bit. Ноутбук — Sony Vaio, модель «такой, розовенький».

Система встала успешно, всё оборудование увиделось «слёту», разве что потребовалось настроить звук: выставить у встроенного (Built-in Audio) профиль Analog Stereo Output и этот же Built-in указать во вкладке «Выход».

Не заработал же под Mate только Bluetooth. Борьба с ним весьма легка: заходим в менеджер пакетов и находим там mate-bluetooth, который безжалостно удаляем. После чего в терминале запускаем:

sudo -s
apt-get update
apt-get install gnome-bluetooth
bluetooth-wizard (последняя команда запустит мастер настройки подключения нового устройства)

Теперь у моей жены ее розовенькая сонька, как и на винде, успешно дружит с ее розовенькой же bluetooth мышкой (модель VGP-BMS20).

Исправьте «Устройство Bluetooth не подключается автоматически» в Ubuntu

У этой проблемы нет универсального решения, и ваша проблема может отличаться от моей. Например, мои наушники Bluetooth автоматически подключаются к моей системе Ubuntu, как только я ее включаю. Но в следующую секунду он снова отключается, и мне приходится каждый раз подключать его вручную.

Итак, каким бы ни было устройство Bluetooth, вот пошаговое решение, оставьте комментарий и дайте мне знать, какое из них работает для вас.

Шаг 1. AutoEnable

Прежде всего, вам необходимо убедиться, что у вас есть рабочий модуль Bluetooth и он включен. После того, как это у нас есть, нам нужно проверить, включен ли AutoEnable. Автоматическое включение гарантирует, что модуль Bluetooth будет включен после каждого перезапуска. Кроме того, если вы подключаете USB-устройство или модуль Bluetooth, AutoEnable гарантирует, что он может запуститься без перезагрузки.

В файле конфигурации Bluetooth перейдите в самый низ. Если вы видите строку «AutoEnable = true», все в порядке. Если вы этого не сделаете, AutoEnable отключен. Следовательно, нам нужно добавить следующую строку в конец файла.
AutoEnable = true
Этот шаг не так важен для аудиоустройства Bluetooth, но может решить проблему с автоматическим подключением мыши, веб-камеры или клавиатуры Bluetooth.

Шаг 2. Доверять устройству

Если вышеуказанный метод не помог решить проблему, причина может заключаться в том, что устройству Bluetooth не доверяет Ubuntu. Это вызывает сбой аутентификации, когда устройство пытается подключиться автоматически. Чтобы убедиться, что ваше устройство Bluetooth является доверенным, нам нужно добавить его в список доверенных.

В настройках Bluetooth найдите имя своего устройства Bluetooth и щелкните его. Во всплывающем меню вы получите MAC-адрес устройства.

Теперь попробуйте перезапустить службу Bluetooth, устройство должно автоматически подключиться.

Шаг 3. Повторно подключите устройство Bluetooth.

Если что-то не работает, вы можете попробовать удалить устройство Bluetooth и снова подключить его. Иногда Ubuntu может ошибочно указать тип или класс устройства Bluetooth. Например, он может принять класс наушников как клавиатуру Bluetooth. Эта проблема может быть устранена путем повторного сопряжения. Вы можете сделать это через графический интерфейс, удалив устройство, но если вы такой же клавишный ниндзя, как я, ниже представлена ​​команда.

После этого перезапустите Bluetooth и посмотрите, подключается ли устройство автоматически.

Шаг 4. Переустановите Bluetooth.

Читайте: Как удалить приложение в Ubuntu

Шаг 5. Скрипт

Если описанные выше шаги не помогли вам, мы находимся в том же положении. Когда я собирался полностью отказаться от этой статьи, я наткнулся на скрипт Python на GitHub под названием bluetooth-автоподключение. Это сценарий Python, который автоматически подключается ко всем сопряженным и надежным устройствам Bluetooth. Однако сценарий недоступен для установки непосредственно в репозиторий Flatpak или Apt. Следовательно, нам нужно вручную загрузить и настроить службу.

Теперь, когда у нас запущена служба, она попытается повторно подключиться к каждому сопряженному и надежному устройству Bluetooth. Единственное предостережение, связанное с этим методом, заключается в том, что вы не сможете подключить свое устройство Bluetooth к другим системам, не отключив Bluetooth на своем компьютере с Linux. Поскольку устройство всегда будет пытаться подключиться к вашему устройству Bluetooth.

Заключительные слова

В этой статье я просмотрел десятки форумов и статей в Интернете. Я пробовал использовать скрипты udev для PulseAudio и Bluez Manager, но ни один из них не смог выполнить автоподключение. Поэтому я исключил их из этой статьи. В моем путешествии с системами Linux, помимо отсутствия хороших профессиональных приложений, Bluetooth был второй по значимости проблемой. Я никогда не мог прийти к выводу, что это проблема драйвера производителя или что-то еще, Linux еще не понял.

Расскажите мне о своем опыте в комментариях, и мы сможем вместе выработать решение.

Также читайте: 7 лучших приложений-эквалайзеров для Android для всех любителей музыки

Я давно пользуюсь Arch Linux, и Bluetooth работает без проблем. Теперь, по непонятной причине, Arch больше не обнаруживает мои адаптеры Bluetooth.

Я установил: bluez, bluez-utils-compat и blueman.

$ sudo lsmod | grep bluetooth возвращает:

$ sudo lspci | grep blue ничего не возвращает.

$ sudo hciconfig ничего не возвращает.

$ sudo hcitool dev возвращает:

$ sudo dmesg | grep Blue возвращает:

$ sudo rfkill list возвращает список :

Когда я открываю blueman-адаптеры, он открывается, но в окне нет содержимого:

Окно Blueman-адаптеров

И когда я открываю blueman-manager, единственными работающими кнопками являются меню View и Help:

Blueman-менеджер окна

Немного важной информации (при необходимости):

2 ответа 2

Не нужно спекулировать, так как я уже решил эту проблему.

Я зашел в Windows и обнаружил, что bluetooth там тоже не работает (ползунка для включения или выключения bluetooth не было).

Тем не менее, я понял, что если я открою меню действий (WIN-KEY+A), а затем дважды щелкну по значку bluetooth (синего цвета, на нем странное имя моего телефона), bluetooth снова начнет работать. Я вернулся в Linux, и там он тоже работал. Кажется, проблема решена.

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

У меня были проблемы с моим Philips SHB9850NC, и я решил проблему, установив pulseaudio-module-bluetooth . Позже я тоже установил blueman , что является гномом. Так как я использую KDE, я удалил blueman после этого. Затем начались неприятности: мой Bluetooth-адаптер исчез из существования.

Процедура, приведенная ниже, предназначена для переустановки всего стека Bluetooth для KDE, включая pulseaudio-module-bluetooth . Однако это не решило проблему. Мой адаптер Bluetooth все еще не обнаружен.

Читайте также: