Обновить драйвера bluetooth ubuntu

Linux: how to make Bluetooth working

This post describes step by step solution of how to make Bluetooth working on Lenovo V580c in linux distributions: Ubuntu 17.10 and Manjero 2017. My Lenovo laptop uses BCM43142 chipset.

Find bluetoth chipset and device ID

First of all we need to make sure that we have appropriate Chipset. Open terminal and enter the following command:

The output will look like:

Bus 001 Device 004: ID 105b:e065 Foxconn International, Inc. BCM43142A0 Bluetooth module 

We need ID 105b:e065 and BCM43142A0 from the output. Just rememeber or write it down somewhere. We’ll need it in a few seconds later.

Find the reason why bluetooth not working

Now we need to figure out the reason why bluetooth is not working. In my case it was the following error:

bluetooth hci0: Direct firmware load for brcm/BCM.hcd failed with error -2 

The following error can be found in the output of the following command:

Download firmware for our chipset:

There’s very helpful repository on Github for various Broadcom Bluetooth firmware: https://github.com/winterheart/broadcom-bt-firmware This repository provides firmware of Broadcom WIDCOMM® Bluetooth devices (including BCM20702, BCM20703, BCM43142 chipsets and other. Also it contains some other usefull details.

We need download this repository (or we can clone it using git ).

After repository is downloaded, we need to go to broadcom-bt-firmware/brcm folder and find the file BCM43142A0-105b-e065.hcd and copy it to /lib/firmware/brcm with name BCM.hcd .

Now turn the lap top off and the turn it on.

Verify the output of the command dmesg | egrep -i ‘blue|firm’ again. The output should not display the error anymore.

In case when output look like

13.496037] Bluetooth: hci0: BCM: Reading local version info failed (-110) 

then we need run the following:

sudo modprobe -r btusb && sudo modprobe btusb 

After that our bluetooth should be ready and we can connect devices now. Open Settings -> Bluetooth and turn bluetooth if it was disabled before. Available devices should be displayed.

Читайте также:  Pavilion dv6 3125er bluetooth

By default bluetooth will play sound in very poor quality. Sound quality can be changed in sound settings (Settings -> Sound):

bluetooth

Additional packages

In some cases additional packages can (should) be installed:

Источник

Поиск и установка драйвера на адаптеры Broadcom BT

Данная статья посвящeна установке драйвера на «синезубый» адаптер Broadcom BT.
Сама лицензия Broadcom не позволяет заниматься распростронением драйвера для данного адаптера, поэтому мы соберём его сами.

Где найти?

Нам необходим сам драйвер, который можно скачать по нижеприведённым ссылкам:
первая ссылка
вторая ссылка

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

Поиск информации

Oткройте архив в менеджере архивов и найдите файл bcbtums-win8x86-brcm.inf, oткройте его в текстовом редакторе.

Может быть напpимер bcbtums.inf, но все они расположены в директории Win32 или Win64, разрядность не важна.

Используя системную утилиту lsusb, мы можем получить нужную информацию для последующего определения необходимого файла в архиве драйвера.
Предположим, что по запросу , мы узнали, что — 0A5C и — 21D7.
Полный вывод по нашему/вашему адаптеру будет содержать примерно такую строку:

0a5c:21d7 Broadcom Corp. BCM43142 Bluetooth 4.0

Запись в файле bcbtums-win8x86-brcm.inf будет иметь формат VID_0A5C&PID_21D7, её-то и нужно вбить в строке поиска по файлу .inf

Если Вы не уверены которым из увиденных устройств является Ваш адаптер BT, используйте команду , тем самым можно получить более детальную информацию.
По выводу этой команды можно узнать ID продукта и вендора.
Итак, мы увидим строку, заканчивающуюся записью .
В таком случае, мы можем произвести поиск по файлу .inf, имея эту информацию.
Секция файла .inf, которая нас интересует, имеет следующие записи:

[RAMUSB21D7.CopyList] bcbtums.sys btwampfl.sys BCM43142A0_001.001.011.0122.0126.hex

Bingo!!
BCM43142A0_001.001.011.0122.0126.hex — это наше искомое!
Распакуйте из архива именно этот файл.

Конвертация

Далее, нам нужно переконвертировать из формата hex в формат hcd, для этого нам понадобится конвертор hex2hcd.
Скачиваем и устанавливаем:

git clone git://github.com/jessesung/hex2hcd.git cd hex2hcd make

После чего у Вас появится каталог hex2hcd в домашней директории.

Как видите, в названии файла обязательно должны присутствовать ID-шки Вашего адаптера из вывода команды

~/hex2hcd/hex2hcd ~/BCM43142A0_001.001.011.0122.0126.hex ~/BCM43142A0-0a5c-21d7.hcd

T.е., команда конвертации будет выглядеть так:

~/hex2hcd/hex2hcd ~/BCM43142A0_001.001.011.0122.0126.hex ~/BCM.hcd

Для ядер 4.8+ имя файла прошивки должно иметь следующий вид BCM—.hcd, т.е., в нашем случае это
BCM-0a5c-21d7.hcd

Теперь просто скопируйте сконвертированный файл прошивки с названием в соответствии с версией Вашего ядра в директорию /lib/firmware/brcm.
Eсли имя файла прошивки — BCM43142A0-0a5c-21d7.hcd, то:

sudo cp ~/BCM43142A0-0a5c-21d7.hcd /lib/firmware/brcm

Важно!!

Для ядер 4.2+ это будет выглядеть как:

sudo cp ~/BCM.hcd /lib/firmware/brcm
sudo cp ~/BCM-0a5c-21d7.hcd /lib/firmware/brcm

Для последующих ядер название может опять измениться. Для ядра 5.0 название файла может быть опять BCM43142A0-0a5c-21d7.hcd Правильное название всегда можно узнать выполнив

Читайте также:  Блютуз колонка ночник смартбай

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

Адаптер подхватит прошивку и соединение будет установлено.

Благодарность Broadcom

Конечно, данная инструкция выглядит немного сложноватой для начинающего linux-user’а, но во всех этих сложностях стоит винить только лишь юристов компании Broadcom.
Большинство производителей оборудования позволяют распространять прошивки в соответствии с лицензиями. А сейчас они запрещают «распространять» свои прошивки, поэтому никто не может легально поставлять уже сконвертированные прошивки для дистрибутивов, включая Ubuntu.

Источник

Настройка Bluetooth Ubuntu 16.04

Устройства 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:

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

sudo rfkill unblock bluetooth

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

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

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

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

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

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

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

Читайте также:  Настройки магнитолы пионер блютуз

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

[bluetooth]# info D0:B3:3F:96:2A:30

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

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

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

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

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

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

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

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

Дальше вы можете очень просто отправить файл на удаленное устройство с помощью протокола OBEX. Синтаксис:

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

sudo bt-obex -p D0:B3:3F:96:2A:30 ~/img/some_pic.png

Чтобы получить файл вам нужно запустить сервис 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. Все работает очень просто, и хотя в графическом интерфейсе может быть не совсем понятно как что настроить, то в терминале все точно и понятно. Если у вас остались вопросы, спрашивайте в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

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