- Поиск и установка драйвера на адаптеры Broadcom BT
- Где найти?
- Поиск информации
- Конвертация
- Важно!!
- Благодарность Broadcom
- Как исправить проблемы с подключением Bluetooth в Ubuntu Linux
- Включение службы Bluetooth
- Настройка Bluetooth в Ubuntu
- Автоматическое включение Bluetooth
- Включить попытку повторного подключения
- Включить быстрое подключение
- Переустановка стека Bluetooth
- Добавление Bluetooth на ваш компьютер с Linux
- Связанный
- Лучшие сообщения
- Криптовалюты
- Настройка Bluetooth Ubuntu 16.04
- Первоначальная настройка
- Сканирование устройств Bluetooth
- Сопряжение устройств
- Отправка и прием файлов по OBEX
- Интернет через Bluetooth
- Выводы
Поиск и установка драйвера на адаптеры 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 Linux
Хотя Ubuntu Linux является стабильной и надежной операционной системой, иногда Bluetooth-соединение с внешними устройствами не работает должным образом.
Если вы использовали устройства Bluetooth на своем компьютере, вы могли заметить, что вам необходимо повторно подключать устройства Bluetooth каждый раз, когда компьютер выходит из спящего режима или гибернации. И это только одна проблема.
Это руководство покажет вам, как исправить распространенные проблемы с подключением Bluetooth в Ubuntu Linux, чтобы вам не приходилось повторно подключать устройства Bluetooth, когда вы хотите работать на своем ПК.
Включение службы Bluetooth
В Ubuntu Linux есть служба Bluetooth, которая работает в фоновом режиме, чтобы гарантировать, что ваша система Bluetooth работает безупречно. Вот как вы можете проверить, запущена ли служба Bluetooth.
sudo systemctl status bluetooth.service
Выходные данные выше показывают, что служба Bluetooth активна. Но если по какой-то причине статус Bluetooth неактивен, обязательно включите его, чтобы он запускался автоматически при каждой загрузке системы. Вы можете сделать то же самое, используя команду ниже.
sudo systemctl enable bluetooth.service
После включения службы Bluetooth снова запустите службу с помощью systemctl .
sudo systemctl start bluetooth.service
Настройка Bluetooth в Ubuntu
В Ubuntu Linux файл /etc/bluetooth/main.conf хранит большинство конфигураций Bluetooth. В файле есть несколько параметров, которые нужно настроить. Вы можете открыть файл конфигурации с помощью вашего любимого текстового редактора. В этом руководстве мы будем использовать vim.
sudo vim /etc/bluetooth/main.conf
Автоматическое включение Bluetooth
Убедитесь, что для параметра AutoEnable в самом низу файла конфигурации установлено значение true и не закомментировано. Все строки, начинающиеся с символа фунта ( # ), являются комментариями. Чтобы раскомментировать строку, вам нужно удалить # с начала.
Конфигурация AutoEnable гарантирует, что модуль Bluetooth будет включен при каждом перезапуске устройства. Кроме того, он позволяет вашему адаптеру Bluetooth распознавать недавно подключенные устройства Bluetooth вокруг вас.
Включить попытку повторного подключения
Вы можете настроить стек Bluetooth так, чтобы он пытался повторно подключиться всякий раз, когда устройство Bluetooth и ваш компьютер теряют соединение. Для этого просто раскомментируйте строку ReconnectAttempts = 7 в файле конфигурации.
Вместо того, чтобы пытаться повторно подключиться к устройствам вручную, ваша служба Bluetooth теперь будет пытаться повторно подключиться ко всем устройствам Bluetooth, связь с которыми была разорвана.
Включить быстрое подключение
Еще одна конфигурация, которую вы должны включить, – FastConnectable . Установив для этого значения значение true, вы гарантируете, что устройства Bluetooth смогут намного быстрее подключаться к вашему ПК в случае перезагрузки или гибернации.
Функция FastConnectable работает только при наличии ядра 4.1 или новее. Основным недостатком функции быстрого подключения является то, что она потребляет больше энергии на вашем ПК.
Если вы используете vim, нажмите клавишу Esc после внесения всех изменений. Затем сохраните изменения и выйдите из файла , набрав : wq .
Переустановка стека Bluetooth
В крайнем случае вы можете переустановить Bluez, официальный программный протокол Bluetooth по умолчанию в Ubuntu Linux и большинстве дистрибутивов Linux. В этом руководстве для установки программного обеспечения будет использоваться APT .
После переустановки стека Bluetooth убедитесь, что вы включили и запустили службу Bluetooth, используя приведенные ниже команды.
sudo systemctl enable bluetooth.service
sudo systemctl start bluetooth.service
Добавление Bluetooth на ваш компьютер с Linux
Если у вас возникли проблемы с подключением на вашем компьютере с Linux, вам, возможно, придется внести некоторые изменения в службу Bluetooth. Сейчас все больше людей используют на своих ПК устройства Bluetooth, такие как клавиатуры, мыши и наушники.
Если у вас есть компьютер, в котором нет встроенного Bluetooth, вы можете использовать несколько обходных путей для подключения устройств Bluetooth к вашей системе.
Связанный
Лучшие сообщения
Криптовалюты
Настройка 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.