Usb bluetooth for linux

Подключаем Bluetooth устройства к Linux

В данной публикации я расскажу о своем опыте подключения USB Bluetooth стика к серверу на Linux. Основная мысль «поспешишь-людей насмешишь». Работы было на 2 строки в терминале, но я ее превратил в незабываемый квест.

Translation to English is here . Также основной канал в telegram .

В первой части этой «трилогии» я рассказал про USB стик, ссылку на данную статью можно найти ниже:

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

Во-первых, я установил стик в сервер. Далее я выполнил команду ls /dev/

Я не увидел ничего особенного в списке устройств, а также извлечение стика из сервера не давало никакой разницы. Ок, я начал свои поиски и набрел на команду lsusb . Результатом ее выполнения стал список устройств, среди которых был мой Bluetooth

Второй волшебной командой стала usb-devices

Результатом второй команды стала полная информация о стике. Ок, значит стик в системе, но что с этой информацией делать — непонятно.

Вначале я нарвался на 2 интеграции в Home Assistant: Bluetooth LE Tracker и Bluetooth Tracker . Но позже нашлось то, что мне было действительно нужно Xiaomi Mijia BLE Temperature and Humidity Sensor . Не смотря на то, что интеграция у меня не заработала и пользоваться ей я так и не стал, в ее описании есть важные слова, которые я сразу не заметил:

Preferred solution: Install the bluepy and btlewrap library (via pip). When using a virtual environment, make sure to use install the library in the right one.

Fallback solution: Install btlewrap library (via pip) and gatttool via your package manager. Depending on the distribution, the package name might be: bluez, bluetooth or bluez-deprecated.

Если бы я обратил внимание на это, то все бы заработало на пару часов раньше. Я же пошел ложным путем, перемотав страницы в самый конец — настроил конфиг в HA и ничего не заработало. Я начал читать с пункта Configuration.

Читайте также:  Write to file linux command line

Нужно выполнить команду sudo hcitool lescan или команду bluetoothctl в зависимости от конфигурации используемой ОС. В результате получим MAC адрес нашего термометра. Но я знал MAC адрес термометра и не выполнил эти пункты, зря.

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

Наконец я начал думать, а как вообще работает bluetooth в Linux? Я в процессе чтения нашел сайт , где описано как происходит настройка bluetooth. Вот цитата:

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

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

Далее приводились команды:
sudo apt-get install bluetooth bluez bluez-tools rfkill rfcomm и sudo service bluetooth start. Если бы я прочитал описание к интеграции, то сразу бы и установил все как следует. Т.к. на приставке я пока работаю из под root, то моя команда выгледела так: apt-get install bluetooth bluez bluez-tools. О пакетах rfkill и rfcomm мой сервер ничего не знал. Пакеты установились

Источник

USB-адаптер для Bluetooth 4.0+

Хотел бы узнать, есть ли в наших магазинах USB-адаптеры для bluetooth стандарта 4.0+, без проблем работающие (в основном, для наушников) в линуксе (ubuntu, arch) ?

Читайте также:  Linux запретить удаление папки

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

Однако срок доставки 25/05/2020 — это как-то очень долго.

Ищите лучше. Ко мне из магазина UGreen на Алиекспресс это пришло за 2 недели. Раз Bluetooth адаптер на контроллере CSR, то будеи работать в Linux.

взял bt4-свисток от hama, никогда никаких проблем не имел

и судя по тому, как оно определяется линуксом — это как раз копеечный китайский ноунэйм

Ford_Focus ★★★★★ ( 09.04.20 19:12:05 MSK )
Последнее исправление: Ford_Focus 09.04.20 19:13:46 MSK (всего исправлений: 1)

Раз Bluetooth адаптер на контроллере CSR

не-е-е. Позавчера купил в ближайшем ДНСе DEXP AT-BT401, дык, оно, хоть и увиделось в линуксе, но не заработало, на трех разных компах ни в линуксе (5.5.13-arch2-1), ни в винде (Win8, Win10). В Win8 даже дрова поставил с сайта, не помогло. Теряет коннект после секунды-двух воспроизведения звука. Вернул обратно в магазин.

Поэтому и спросил здесь, чтобы не бегать кругами лишний раз.

AlexM ★★★★★ ( 09.04.20 19:16:01 MSK )
Последнее исправление: AlexM 09.04.20 19:17:18 MSK (всего исправлений: 1)

У меня который из UGreen, зарвботал в Ubuntu 18.04 без установки дополнительного драйвера.Это потому, что драйвер для контроллера CSR в ядре.

DEXP это не китайская, а российская торговая марка магазина DNS. То есть,продукция из Китая конечно, но неизвестно что.

Partisan ★★★★ ( 09.04.20 19:27:24 MSK )
Последнее исправление: Partisan 09.04.20 19:29:00 MSK (всего исправлений: 1)

kernel: usb 6-1: New USB device found, idVendor=0a12, idProduct=0001, bcdDevice=88.91 kernel: usb 6-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0 kernel: usb 6-1: Product: CSR8510 A10

AlexM ★★★★★ ( 09.04.20 19:33:51 MSK )
Последнее исправление: AlexM 09.04.20 19:39:29 MSK (всего исправлений: 1)

Читайте также:  What is unix linux and ubuntu

У меня как раз такой, покупал за 130руб., а в ДНС подобные были по 600руб. Работает без фирмварей.

$ dmesg . [ 23.890552] IPv6: ADDRCONF(NETDEV_CHANGE): enp2s0: link becomes ready [19299.126062] usb 1-9: new full-speed USB device number 4 using xhci_hcd [19299.367839] usb 1-9: New USB device found, idVendor=0a12, idProduct=0001, bcdDevice=88.91 [19299.367844] usb 1-9: New USB device strings: Mfr=0, Product=2, SerialNumber=0 [19299.367847] usb 1-9: Product: CSR8510 A10 [19299.436809] Bluetooth: Core ver 2.22 [19299.436823] NET: Registered protocol family 31 [19299.436824] Bluetooth: HCI device and connection manager initialized [19299.436827] Bluetooth: HCI socket layer initialized [19299.436829] Bluetooth: L2CAP socket layer initialized [19299.436831] Bluetooth: SCO socket layer initialized [19299.443834] usbcore: registered new interface driver btusb [19299.607880] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [19299.607884] Bluetooth: BNEP filters: protocol multicast [19299.607892] Bluetooth: BNEP socket layer initialized [19299.701986] Bluetooth: RFCOMM TTY layer initialized [19299.702008] Bluetooth: RFCOMM socket layer initialized [19299.702012] Bluetooth: RFCOMM ver 1.11 

superuser ★★★★ ( 09.04.20 19:40:39 MSK )
Последнее исправление: superuser 09.04.20 19:45:44 MSK (всего исправлений: 2)

Ну, вот «подобный» у меня не заработал. Может, экземпляр некачественный попался, может, firmware кривой.

Ну вот тот и бери, они лучшие. Дата там указана это предел если до которого не доставят то вернут деньги.

Да, спасибо, возьму, просто за то, что написали про поддержку линукса. Но хотелось побыстрей здесь что-нибудь купить.

оно и есть. Правда я его брал раза в 1.5 дешевле

Источник

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