Astra linux bluetooth наушники

🐧 Как подключиться к устройству Bluetooth из терминала Linux

В этой статье мы обсудим, как вы можете управлять устройством Bluetooth с терминала Linux – дистрибутивов на основе Ubuntu, Debian, Fedora и Arch.

Беспроводная технология 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 при запуске системы, откройте файл конфигурации.

Добавьте строку AutoEnable=true

2 thoughts on “ 🐧 Как подключиться к устройству Bluetooth из терминала Linux ”

Как подключиться к блютуз из терминала Линукс с дистрибутивом Минт?

Источник

Настройка bluetooth стерео-наушников в Ubuntu Linux (8.04 & 7.10)

Привет!
Решил написать небольшую инструкцию, чтобы помочь нуждающимся в настройке bluetooth-наушников под Linux. Описанный способ гарантированно работает в Ubuntu 7.10 и 8.04. В других системах не должно возникнуть особых проблем, если имеются все необходимые компоненты (bluez, alsa, python).

В прошлом году я купил себе bluetooth стерео-наушники (+гарнитура) Plantronics 590A. Отличные наушники — хорошее качество звука и полная свобода от проводов. После перехода с Windows XP на Ubuntu возник вопрос использования наушников, как в качестве обычных наушников для вывода звука, так и полноценной гарнитуры для общения в играх и в Skype.

Хотя стандартный bluetooth-менеджер Ubuntu, вроде как, подразумевает использование Audio Service для соответствующих bt-устройств, но я не смог быстро найти внятную инструкцию, как же организовать вывод звука на наушники.

Вскоре мне на глаза попалась замечательная программа BlueMan bluetooth manager (screenshots). Эта программа достойна отдельной статьи, так как у неё очень много возможностей и она очень облегчает жизнь любому, кому потребуется работа с различными устройствами через протокол bluetooth. Программа работает «поверх» стандартного Ubuntu-овского bt-стека bluez и практически не тянет за собой зависимостей (программа написана на python`e).
Перечислять все возможности программы я не стану, ограничусь только тем, что программа поддерживает bt-устройства с профилем A2DP

Всё что необходимо сделать в BlueMan — «спарить» ваши bt-наушники с программой. После «спаринга» я дополнительно активировал в параметрах программы использование службы звука.

В настройках службы звука я активировал использовал служб Headset, Sink, Control для своих наушников. Для обычного вывода звука вполне достаточно службы Headset. Остальные службы присутствуют, я так думаю, для поддержки работы bt-профиля AVRCP. Я не проверял работу профиля ни в одной программе в Ubuntu, так что о его работоспособности сказать ничего не могу.

Читайте также:  Как удалить историю поиска windows

Последним шагом необходимо подправить файлик

/.asoundrc. Я не большой коппенгаген в конфигурационном файле ALSA, все правки были подсмотрены из статей:

  1. http://alfa2linux.blogspot.com/2008/03/my-jabra-finally-working-with-bluez.html
  2. http://wiki.bluez.org/wiki/HOWTO/AudioDevices

Я не ставил никаких дополнительных пакетов, которые были упомянуты в статьях — bluetooth-alsa, btsco и др.

В файл .asoundrc я добавил такие строки:

Источник

Операционные системы Astra Linux

Оперативные обновления и методические указания

Операционные системы Astra Linux предназначены для применения в составе информационных (автоматизированных) систем в целях обработки и защиты 1) информации любой категории доступа 2) : общедоступной информации, а также информации, доступ к которой ограничен федеральными законами (информации ограниченного доступа).

1) от несанкционированного доступа;
2) в соответствии с Федеральным законом от 27.07.2006 № 149-ФЗ «Об информации, информационных технологиях и о защите информации» (статья 5, пункт 2).

Операционные системы Astra Linux Common Edition и Astra Linux Special Edition разработаны коллективом открытого акционерного общества «Научно-производственное объединение Русские базовые информационные технологии» и основаны на свободном программном обеспечении. С 17 декабря 2019 года правообладателем, разработчиком и производителем операционной системы специального назначения «Astra Linux Special Edition» является ООО «РусБИТех-Астра».

На web-сайтах https://astralinux.ru/ и https://wiki.astralinux.ru представлена подробная информация о разработанных операционных системах семейства Astra Linux, а также техническая документация для пользователей операционных систем и разработчиков программного обеспечения.

Мы будем признательны Вам за вопросы и предложения, которые позволят совершенствовать наши изделия в Ваших интересах и адаптировать их под решаемые Вами задачи!

Репозитория открытого доступа в сети Интернет для операционной системы Astra Linux Special Edition нет. Операционная система распространяется посредством DVD-дисков.

Информацию о сетевых репозиториях операционной системы Astra Linux Common Edition Вы можете получить в статье Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов.

В целях обеспечения соответствия сертифицированных операционных систем Astra Linux Special Edition требованиям, предъявляемым к безопасности информации, ООО «РусБИтех-Астра» осуществляет выпуск очередных и оперативных обновлений.

Очередные обновления (версии) предназначены для:

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

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

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

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

Источник

Как настроить Bluetooth в Linux сложным путем

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

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

Этап 1. Подготовка

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

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

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

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

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

Читайте также:  Istioctl install mac os

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

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

Этап 2. Наступление

Для включения контакта через 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 является состоянием контакта.

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

непонятные для нас (на данный момент) сообщения об ошибке. Пробуем настроить устройство через hcitool:

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

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

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

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

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

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

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

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

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

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

Этап 3. Проверка связи

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

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

Ни один из проверенных терминалов не дал ввести пустой пароль пользователя, поэтому пришлось отправить данные для входа при помощи перенаправления потоков в SSH-сессии.

Этап 4. ./configure && make

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

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

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

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

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

Этап 5. Варим кашу из топора

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

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

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

Установка в QEMU

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

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

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

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

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

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

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

Читайте также:  Драйвер для образа системы windows

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

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

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

Терминалы

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

Bluetooth и Wi-Fi

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

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

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

Если у вас нет доступа к Wi-Fi, вы можете использовать UART для дальнейшей настройки, но учтите, что по умолчанию ядро выводит в данный терминал все ошибки. Поэтому во время работы вас может прервать внезапное сообщение от ядра или службы.

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

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

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

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

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

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

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

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

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

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

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

Этап 6. Пробуем нашу кашу

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

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

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

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

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

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

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

Этап 7. Финишная прямая

Компилируем программы для подключения геймпада на новой системе и устанавливаем демон 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. Найти информацию о его настоящем объеме не удалось.

  • uBoot хранится на SPI флэш-памяти в которой также зашито ядро, и оно не используется. Вы можете попробовать использовать это место для своих задач или скопировать новое ядро и перенастроить uBoot, чтобы он его использовал.

Адреса образов из dmesg:

  • Экран у контроллера хоть и небольшой, но на самом деле имеет резистивный сенсор. Подключен ли сам сенсор – неизвестно.
  • Dualshock 3 имеет светодиоды у разъема USB, которые показывают номер геймпада/джойстика. В видео присутствует один геймпад, но номер у него 3. Это не ошибка, т.к. в системе присутствуют ещё два «джойстика»: акселерометр и гироскоп.

Источник

Оцените статью