Установка драйвера bluetooth ubuntu

Обновлено: 07.07.2024

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

sudo rfkill list


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

sudo rfkill unblock bluetooth

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

sudo hciconfig hci0 up


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

sudo hcitool scan


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

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

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


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

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


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

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

sudo l2ping D0:B3:3F:96:2A:30


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

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

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

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

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


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

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

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

sudo bt-obex -p D0:B3:3F:96:2A:30

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


В отличие от многих аспектов Linux, поддержка Bluetooth не выполняется ядром Linux автоматически. Это во многом связано со стеком Bluetooth и тем, как он взаимодействует с системой Linux в целом. Чтобы компенсировать это, удобные для пользователя дистрибутивы, такие как Ubuntu, Elementary и т. Д., Очень стараются настроить Bluetooth для пользователей. Однако не все Linux делают это. Необходимо установить различные службы и клиенты Bluetooth. Кроме того, все радиомодули Bluetooth отличаются (а некоторые из них не имеют драйверов с открытым исходным кодом), что означает, что их нужно устанавливать постфактум. Вот как подключить и использовать устройства Bluetooth в Linux.

ОПОВЕЩЕНИЕ СПОЙЛЕРА: прокрутите вниз и посмотрите видеоурок в конце этой статьи.

Примечание: используете Ubuntu? Если это так, возможно, ваш компьютер уже имеет превосходную поддержку Bluetooth, и нет необходимости настраивать его с помощью этой статьи.

Arch Linux

Fedora

OpenSUSE

Получение инструментов и служб Bluetooth в SUSE осуществляется с помощью OBS. Перейти на эту страницу и нажмите кнопку быстрой установки. Отсюда YaST все установит.

Проверь это - Как сделать резервную копию сайта WordPress в Linux

Debian

Другие Linux

Стек bluetooth bluez совместим со всеми дистрибутивами Linux, даже с Chrome OS! По этой причине у пользователей менее известных альтернативных дистрибутивов Linux не будет проблем с работой этих инструментов. Чтобы установить их, откройте диспетчер пакетов и найдите «bluez». Установите все, что содержит слово «bluez», на всякий случай.

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

Получение клиента Blueman

Установка Bluez позволяет вашей среде рабочего стола Linux напрямую использовать Bluetooth. Это означает, что если вы используете KDE Plasma, он будет работать напрямую с клиентом KDE Bluetooth. То же самое и со встроенным клиентом Gnome Shell. Итак, устанавливать Blueman не нужно.

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

Arch Linux

Fedora

OpenSUSE

Debian

Другие Linux

Инструмент подключения Blueman широко используется в Linux. Чтобы найти его в альтернативных дистрибутивах Linux, откройте диспетчер пакетов (или программный браузер), найдите «blueman» и установите его. Не можете найти его в источниках программного обеспечения? Вместо этого загрузите его с sourceforge !

Проверь это - Как сделать резервную копию сайта Drupal в Linux

Конфигурация

Недостаточно скачать стек Bluez Bluetooth и установить его в Linux. Службы должны быть активными, иначе устройства не будут подключаться. Сначала откройте терминал и получите корневую оболочку, используя: sudo -s

С помощью корневой оболочки вручную загрузите универсальный драйвер Bluetooth USB, если вы используете ключ BT.

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

Примечание: некоторые ключи Bluetooth не поддерживают этот драйвер в Linux. Если это произойдет с вами, прочтите руководство для вашего устройства и узнайте, какие драйверы ему требуются для работы в Linux.

Arch Linux, Fedora, SUSE и другие системные Linux

Во-первых, включите службу BT, чтобы она всегда запускалась при загрузке Linux. Это делается с помощью:

Затем сразу же запустите службу:

Если в какой-то момент systemctl отказывается запускать или включать эти службы, рассмотрите возможность использования параметра force:

Старая версия Debian

Используете версию Debian без systemd? Если да, то после установки Bluez и всех других инструментов Bluetooth перезагрузите компьютер. Службы запуска будут активны после повторного входа в систему.

Проверь это - Как заменить светодиод на мыши Logitech серии G в Linux

Подключение к Bluetooth в Gnome

Если служба Bluetooth работает правильно, при подключении адаптера Bluetooth (или) использовании встроенного радиомодуля Bluetooth на вашем ПК вы должны увидеть значок Bluetooth на панели Gnome.

Щелкните значок, и откроется меню. В меню выберите «Настройки Bluetooth», чтобы открыть инструмент просмотра устройств.

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

Следуйте инструкциям на экране, которые дает Gnome для подключения.

Подключение к Bluetooth в KDE

Чтобы подключить устройства Bluetooth к рабочему столу KDE Plasma Desktop, убедитесь, что ваш USB-ключ (или) встроенный радиомодуль Bluetooth работает.

Отсюда щелкните значок BT на панели Plasma, затем выберите устройство для подключения. Следуйте инструкциям на инструменте для сопряжения!

Подключение к Bluetooth в Blueman

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

Инструмент Blueman проведет вас через процесс сопряжения. Следуйте инструкциям на экране, и вскоре ваше устройство будет сопряжено.

Вывод

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

Обычно, когда мы устанавливаем дистрибутив Linux на ноутбук, то зачастую поддержка Wi-Fi присутствует полностью или частично для большинства моделей. Драйверы интегрированы в ядро Linux и в результате всё «просто работает» из коробки. Но проблемы начинаются если драйвер для вашего Wi-Fi отсутствует. Вам нужно его найти и установить вручную.

С такой проблемой могут столкнуться, например, владельце ноутбуков HP CM-0078AU.

Если у вас Wi-Fi адаптер на основе чипсета Realtek RTL8821CE, то в Linux по умолчанию отсутствует драйвер для него. В результате ОС не видит устройство, и в панели рядом с часами вовсе отсутствует значок Wi-Fi.


Для исправления данной проблемы достаточно установить необходимый драйвер.

Этот драйвер работает на ядре Linux > 4.14 (все современные дистрибутивы удовлетворяют этому требованию). Этот драйвер тестировался на Debian, Ubuntu, Linux Mint, Arch Linux, Gentoo и должен работать на всех производных дистрибутивах.

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

Чтобы проверить, какой именно у вас интегрированный Wi-Fi адаптер, выполните команду:

Если у вас вывод содержит строку RTL8821CE, значит эта инструкция вам поможет:

Офлайн установка Realtek RTL8821CE

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

Скачайте установочный файл драйвера:

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

Установка драйвера Realtek RTL8821CE в Ubuntu 21.04 и более поздние

Драйвер помещён в стандартный репозиторий, поэтому достаточно выполнить команду:

Установка драйвера Realtek RTL8821CE в Ubuntu 20.04

Начиная с Ubuntu 20.04, этот драйвер имеется в Дополнительном ПО (Additional Drivers (Software & Updates)). Откройте настройки дополнительного ПО и поставьте галочку “Using DKMS source for the Realtek 8821C …” (использовать DKMS источник для Realtek 8821C) и затем перезагрузитесь. После перезагрузки всё будет работать.

Как установить драйвер Realtek RTL8821CE в Debian, Ubuntu, Kali Linux, Linux Mint и их производные

Выполните следующие команды:

Затем перезагрузите компьютер — всё должно работать.

Как установить драйвер Realtek RTL8821CE в Arch Linux, BlackArch и их производные

Установите pikaur, как это показано в статье «Автоматическая установка и обновление пакетов AUR», а затем просто выполните команду:

Как установить драйвер Realtek RTL8821CE в Gentoo

Выполните с правами root команды:

Удаление драйвера

Откройте терминал и используйте git clone для клонирования репозитория на локальный диск:

Затем выполните скрипт для деинсталяции:

Обновление драйвера

Убедитесь, что у вас последняя версия репозитория на диске:

Удалите все несвежие бинарные файлы:

Возможные проблемы

Secure Boot

Если ваша система использует безопасную загрузку, отключите её в настройках BIOS, иначе ядро не будет принимать пользовательские модули.

PCIe Activate State Power Management

Ваш дистрибутив может поставляться с включённым по умолчанию управлением питанием активного состояния PCIe (PCIe Activate State Power Management). Это может конфликтовать с этим драйвером. Чтобы отключить:

Добавьте pci=noaer в конец GRUB_CMDLINE_LINUX_DEFAULT. Строка должна выглядеть примерно так:

Затем обновите вашу конфигурацию GRUB:

Ноутбуки Lenovo Yoga

Некоторые новые ноутбуки Yoga (например, Yoga 530) поставляются с rtl8821ce в качестве чипа Wi-Fi/Bluetooth. Но модуль ideapad-laptop, который может входить в ваш дистрибутив, может конфликтовать с этим драйвером. Чтобы отключить его:

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

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