Kali linux не работает bluetooth

Обновлено: 07.07.2024

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 всегда был выключен. Я перехожу в конфигурацию-> Bluetooth, и каждый раз, когда я пытался его отключить, через некоторое время он отключается. Я попробовал с помощью этой команды:

aptitude install bluetooth

а затем запустите

после этого я запустил/etc/init.d/bluetooth status и вот что показывает:

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

Кажется, лучше, но все равно не работает. Когда я захожу в настройки bluetooth, он всегда выключен. После того, как я нажму кнопку «Пуск», он будет выглядеть следующим образом:

PS: Я знаю, что это не проблема с оборудованием, потому что если я загружаюсь с Windows 10, он работает правильно.

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

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

У меня была такая же проблема. несколько минут назад, пока я не перезапустил службу Bluetooth с терминала как пользователь root. Я исправляю это, набирая в терминале:

В системах systemd:

Затем вернитесь к настройкам и в меню bluetooth у вас будут доступные устройства.

У меня была такая же проблема несколько минут назад, пока я не перезапустил службу Bluetooth с терминала как пользователь root. Я исправляю это, набирая в терминале:

В системах systemd:

Затем вернитесь к настройкам и в меню bluetooth у вас будут доступные устройства.

Эта ссылка может вам помочь. Я попробовал, и мой bluetooth тоже был включен после перезагрузки ..

Эта ссылка может вам помочь. Я попробовал, и мой bluetooth был включен и после перезагрузки ..

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

Откройте Leafpad, скопируйте и вставьте этот текст и сохраните как bt без расширения, например .sh или чего-либо еще, в папку /bin .

Перейдите в папку /bin/ и найдите bt . Щелкните файл правой кнопкой мыши, выберите свойства и сделайте файл исполняемым.

Затем откройте терминал @root и введите bt .

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

Откройте Leafpad, скопируйте и вставьте этот текст и сохраните как bt без расширения, например .sh или чего-либо еще, в папку /bin .

Перейдите в папку /bin/ и найдите bt . Щелкните файл правой кнопкой мыши, выберите свойства и сделайте файл исполняемым.

Затем откройте терминал @root и введите bt .

Для меня запуск служба работала.

Мне удалось найти устройство Bluetooth и подключиться .
Затем я попытался включить его с помощью

Для меня запуск службы сработал.

Мне удалось найти устройство Bluetooth и подключиться.
Затем я попытался включить он использовал

Чтобы устранить проблему, я сделал следующее.

Я начал с перезапуска службы:

Затем перезапуск управления системой:

Перешел в каталог bin:

Затем запустил служебный файл как exec, найденный в bin

С bluetoothctl используйте команды терминала в blutoothctl для сканирования (включив его)

Затем подключите устройство (используйте цифровой идентификатор устройства без имени, копирование и вставка выполняется быстро):

* Обратите внимание, дважды проверьте rfkill и убедитесь, что он не заблокирован. Если заблокировано следующее (при условии, что идентификатор bluetooth указан как устройство 0), разблокирует его:

Чтобы устранить проблему, я сделал следующее.

Я начал с перезапуска службы:

Затем перезапустите управление системой:

Перешел в каталог bin:

Затем запустил служебный файл как exec, найденный в bin

С bluetoothctl используйте команды терминала в blutoothctl для сканирования (включив его)

Затем подключите устройство (используйте цифру ID устройства без имени, копирование и вставка выполняется быстро):

* Примечание, двойное проверьте rfkill и убедитесь, что он разблокирован. Если заблокировано следующее (при условии, что идентификатор bluetooth указан как устройство 0), разблокирует его:

Запустите sudo systemctl enable bluetooth , это добавит службу bluetooth в процесс запуска даже после перезагрузки, которую вы можете сделать это с другими системными службами.

Запустите sudo systemctl enable bluetooth , это добавит службу bluetooth в автозагрузку процесс даже после перезагрузки вы можете сделать это с другими системными службами.


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

Спецификация разработана, опубликована и продвигается Специальной группой по интересам Bluetooth (SIG).

В этом руководстве мы будем использовать BlueZ, который обеспечивает поддержку основных уровней и протоколов Bluetooth.

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

  • Полная модульная реализация
  • С имметричная мульти-безопасная обработка
  • Многопоточная обработка данных
  • Поддержка нескольких устройств Bluetooth
  • Реальная аппаратная абстракция
  • Стандартный интерфейс сокетов для всех слоев
  • П оддержка безопасности устройств и уровня обслуживания

Установка BlueZ на Linux

Установите пакеты BlueZ с помощью любой из следующих команд, соответствующих вашему дистрибутиву Linux.

Эта установка предоставляет утилиту bluetoothctl.

Вам необходимо добавить свою учетную запись в группу lp, если вы хотите подключиться к Bluetooth-модему.

Как выполнить сопряжение и подключиться к устройству Bluetooth

Мы собираемся использовать интерфейс командной строки bluetoothctl tp bluez.

Если у вас есть альтернативный интерфейсный инструмент, такой как GNOME Bluetooth, вы можете использовать его.

Сначала убедитесь, что Bluetooth не отключен.

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

Подтвердите, что он разблокирован.

Использование bluetoothctl для подключения к устройству Bluetooth

Это общий план сопряжения устройства с использованием bluetoothctl.

Запустите интерактивную команду bluetoothctl.

Введите help, чтобы получить список доступных команд.

Включите адаптер Bluetooth

Сделайте сканирование, чтобы обнаружить устройства Bluetooth

Включите адаптер Bluetooth при запуске системы

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


Готовясь на работе к ежегодному форуму посвященному IT, возникла идея создать простой манипулятор управляемый беспроводным геймпадом для демонстрации возможностей микроконтроллеров и одноплатных компьютеров. Под рукой был контроллер ТРИК, несколько сервомоторов, железный конструктор и месяц до начала форума.

«Все идет по плану», но не в этом случае.

ТРИК на борту с Linux был перебором для такого манипулятора, но «дело в банальном удобстве использования и обслуживания» (цитата ClusterM про Linux в умном домофоне).

Прочитав спецификацию, было обнаружено, что в нем есть Bluetooth. Если вы работали с этим контроллером, то знаете, что передача программ осуществляется по Wi-Fi и других удобных способов общения с ним нет. В меню нет упоминания о наличии Bluetooth. Но как так?

Вооружившись SSH, отверткой и любопытством я начал искать Bluetooth. В системе присутствовали утилиты hcitool, hciconfig и демон bluetoothd. Все они говорили о том, что его нет.

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

Разобрав контроллер, был найден модуль Jorjin WG7311-0A. В спецификации указано, что, действительно, есть Wi-Fi, Bluetooth и даже FM-радио. Интерфейс для общения с Bluetooth – UART, а включается он через контакт BT_EN.


Прочитав, как Bluetooth модуль подключается по UART через hcitool я испытал удачу и – ничего. Два из трех свободных UART портов молчали.

Но у нас есть контакт BT_EN! Возможно, что модуль просто выключен и не отвечает на запросы. Изучив устройство ядра Linux для ARM устройств, был найден файл, где прописываются все контакты, используемые SoC. Открыв arch/arm/mach-davinci/board-da850-trik.c в исходном коде ядра, и вправду был найден GPIO контакт для Bluetooth. Победа! – подумал я.

Для включения контакта через GPIO, нужно найти его сквозной порядковый номер. Находим следующую строчку в коде ядра с запросом на инициализацию контакта BT_EN_33 в arch/arm/mach-davinci/board-da850-trik.c :

В ней используется макрос GPIO_TO_PIN. Смотрим описание макроса в arch/arm/mach-davinci/include/mach/gpio-davinci.h :

При помощи его и можно узнать сквозной номер контакта. Получаем, что 16 * 6 + 11 = 107. Теперь перейдем к включению контакта.

0 или 1 в команде echo является состоянием контакта.

Запускаем команду на подключение и.

Устройств нет, хотя инициализация якобы прошла. Пробуем подключиться второй раз, но с другим типом адаптера:

И вновь ничего. Давайте вернемся к первой ошибке и применим знания английского языка:

Открываем папку /lib/firmware с прошивками и не находим нужного файла. После долгих поисков в интернете, находим на репозиторие TI нужный файл и скачиваем его. Другие версии этого же файла работать отказывались.

Перезагружаем контроллер и подключаемся вновь:

Ура! Прошивка загрузилась. Проверяем hciconfig:

Запускаем службу bluetoothd, сканирование устройств и обнаружение нашего модуля:

Поиск на компьютере обнаруживает устройство:


Для включения Bluetooth можно сделать скрипт:

И добавить его в автозапуск:

Перезапуск и отключение модуля ведут себя непредсказуемо, поэтому варианты stop и restart не имеют никаких команд.

Самый простой способ проверки связи в обе стороны – служба COM-порта. При помощи нескольких команд включаем её:

Подключаемся с телефона и видим приглашение на вход в систему:


Следуя инструкциям по подключению геймпада в Linux мы сталкиваемся со следующими проблемами:

  • BlueZ в дистрибутиве устарел и не понимает команд от демона sixad, который устанавливает связь с геймпадом
  • Новая версия BlueZ из исходных кодов отказывается компилироваться из-за множества зависимостей
  • BlueZ из свежего Debian требует udev и systemd, которые отсутствуют в текущем дистрибутиве

Единственную зависимость, которую получилось удовлетворить – это модуль ядра uinput.

  • получаем конфигурацию текущего ядра на устройстве
  • скачиваем код ядра
  • скачиваем и устанавливаем toolchain
  • копируем конфигурацию ядра в папку с кодом ядра
  • добавляем модуль uinput в конфигурацию
  • запускаем сборку, предварительно включив toolchain

Теперь программа не ругается на отсутствие модуля ядра, но дальше мы не можем ничего сделать. Инструкция для геймпада нам пригодится чуть позже.

Приступаем к плану "тяп-ляп". Раз нет удобного способа поставить нужные программы на оригинальный дистрибутив, то поставим что-нибудь популярное. Процессор имеет архитектуру ARMv5TE, значит и дистрибутивы есть под неё.

Пробуем распаковать и запустить универсальный Arch Linux для ARM и при загрузке в консоли видим, что systemd требует ядро более новой версии, чего у нас нет. Попытки переноса ядра 4.16 не увенчались огромным успехом и на это было потрачено слишком много времени.

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

Установка в QEMU

Скачиваем установочный образ (ссылка на .iso) и устанавливаем QEMU.
Также нам нужны ядро и образ initrd для загрузки установки, которые можно скачать отсюда.

Создаем образ карты памяти с объемом настоящей карты памяти (в данном случае 4 Гб):

Если вы собираетесь сделать разметку диска нестандартной относительного оригинального дистрибутива, то оставьте корневой раздел первым, иначе придется менять параметры загрузки ядра в uBoot. Там прописан номер раздела на котором находится корневая файловая система.

Стандартная разметка содержит:

  1. Раздел EXT4 для корневой файловой системы размером ≈ 1,3 Гб
  2. Раздел FAT32 для хранения данных пользователя размером ≈ 500 Мб

Вывод fdisk для образа оригинального дистрибутива:

После настройки параметров уходим пить несколько чашек чая, т.к. эмулятор ненамного быстрее настоящего ARM процессора.

Для запуска установленной системы потребуется другой образ initrd, который можно взять отсюда.

Настройка системы

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

Терминалы

Редактируем /etc/inittab , убираем лишние терминалы, включаем нужный для нас UART и добавляем автовход для нужного пользователя (используйте root только при отладке). Автовход пригодится, если вы планируете запускать оболочку для управления на контроллере.

Bluetooth и Wi-Fi

Устанавливаем bluez-utils и wpasupplicant для доступа к Wi-Fi и Bluetooth.

Отключаем интерфейс eth0 и настраиваем интерфейс wlan1 в /etc/network/interfaces :

Добавляем заранее сеть в /etc/wpa_supplicant.conf , т.к. делать это на самом контроллере не так удобно:

Добавляем скрипт на включение Bluetooth. В этот раз, модифицируем /etc/init.d/bluetooth :

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

Взмах влево, взмах вправо

Убираем ненужные программы и службы которые можно посмотреть при помощи htop, ведь они занимают драгоценное место в ОЗУ:


В данном случае, служба ConsoleKit имеет очень много процессов. Переместим файл этой службы в домашнюю папку суперпользователя на случай восстановления:

До отключения службы потребление ОЗУ было 19 Мб, а после – 16 Мб.

Разделы системы

Хоть uBoot и передает ядру устройство, на котором расположен корневой раздел, стоит прописать его в /etc/fstab для надежности. Изменяем первую строчку, отвечающую за корневой раздел:

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

Если вы оставили второй раздел FAT для пользовательских данных, то вам необходимо создать папку для монтирования раздела в неё

и прописать раздел в /etc/fstab :

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

где, NNNN = размер сектора * начало раздела. Размер сектора по умолчанию равен 512 байтам.

Монтируем также и оригинальный дистрибутив:

Удаляем ядро для QEMU и его модули, т.к. они не предназначены для нашей платформы. Копируем новое ядро и модули, так же, как и на оригинальном дистрибутиве.

Нам понадобятся прошивки для Wi-Fi модуля, которые есть в оригинальном дистрибутиве в папке /lib/firmware и прошивка Bluetooth, которую мы нашли ранее.

Отсоединяем образы дисков:

И запускаем копирование образа на карту памяти с помощью dd:

Компилируем программы для подключения геймпада на новой системе и устанавливаем демон sixad.

Подключаем геймпад через USB к контроллеру и запускаем программу для создания пары:

При подключении геймпада ничего не происходит и служба sixad молчит:

Но в сообществе Raspberry Pi уже изготовили "костыль" для исправления подключения.

Пересобираем программу и радуемся.

Теперь геймпад доступен системе как устройство ввода и программа jstest покажет состояние всех кнопок и аналоговых датчиков:

где X – номер устройства в системе, по умолчанию – 2. Номера кнопок и осей можно посмотреть здесь.

Видео с демонстрацией работы геймпада на YouTube.

Загрузка ядра:

Терминал, запущенный в X11:


И по традиции:


Полезные ссылки

Программы для подключения геймпада Dualshock 3 – sixpair и sixad.

Для геймпадов и других устройств ввода есть легкая библиотека на C – libenjoy.

Исходный код программы для управления сервомоторами и моторами – репозиторий GitHub.

Все файлы конфигурации из статьи для самодельного дистрибутива – репозиторий GitHub.

  • В спецификации заявлено, что объем ОЗУ составляет 256 Мб. Но если вы запустите htop, то увидите, что доступно только 128 Мб. Это ограничено параметрами ядра, которые можно посмотреть в консоли uBoot:

Чип памяти имеет маркировку 3PC22 D9MTD производства Micron. Найти информацию о его настоящем объеме не удалось.

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

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

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

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

Раздел Bluetooth в настройках Linux Ubuntu

В разделе «Настройки» операционной системы Ubuntu 19.04 есть соответствующий раздел

Как можно видеть на скрине, пока я не подключу адаптер, включить данную функцию мне не удастся.

Если в настройках системы такого пункта нет, необходимо установить специальную утилиту. Для этого я открываю командную строку «Терминал» и даю следующий запрос на установку утилиты Blueman:

sudo apt-get install blueman

Скачивание ПО для Bluetooth адаптеров в Linux Ubuntu

Ввожу команду, нажимаю на Enter. Начнется скачивание и установка ПО для Bluetooth-адаптеров

Если не сработает (а она сработает), можно дать вот такую команду на установку соответствующего программного обеспечения:

sudo apt-get install bluetooth bluez bluez-tools

Скачивание дополнительного ПО Bluetooth в Linux

Еще одно программное обеспечение, которое не помешало бы установить для подключения по 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адрес] [канал]

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

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

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

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 адаптер, но даже в таком случае проблем в программном плане возникнуть не должно.

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