Вопрос или проблема
Я пытаюсь заставить мой bluetooth адаптер работать на моем рабочем столе с Linux.
Я вижу его, когда подключаю, но в целом, ничего другого не работает корректно:
$ lsusb
Bus 002 Device 006: ID 0a12:0002 Cambridge Silicon Radio, Ltd Fontline
Test Equipment Bluetooth Device
Я не могу его включить:
$ sudo hciconfig hci0 up
Не удалось инициализировать устройство hci0: Не удается присвоить запрашиваемый адрес (99)
Служба Bluetooth работает неправильно и не может быть запущена:
$ sudo service bluetooth status
bluetooth остановлено/ожидание
$ sudo service bluetooth start
запуск: задача не удалась при запуске
Логи говорят: “init: Не удалось запустить главный процесс bluetooth: невозможно выполнить: Нет такого файла или каталога”. Также есть множество:
[ 5485.753603] init: главный процесс bluetooth завершился, перезапуск
[ 5485.776272] init: главный процесс bluetooth (24531) завершился со статусом 1
Я пытался переустановить bluetooth, blueman и т.д. Они зависят от пакета bluez, и одна из проблем(?) видимо в том, что я не могу установить bluez.
$ sudo apt-get install blueman
Чтение списков пакетов... Готово
Формирование дерева зависимостей
Чтение информации о состоянии... Готово
Будут установлены следующие дополнительные пакеты:
bluez
Рекомендуемые пакеты:
bluez-hcidump
Будут установлены следующие НОВЫЕ пакеты:
blueman bluez
...
Настройка bluez (4.101-0ubuntu13.1) ...
перезагрузка: Задача не выполняется: dbus
invoke-rc.d: initscript dbus, действие "force-reload" не выполнено.
запуск: задача не удалась при запуске
invoke-rc.d: initscript bluetooth, действие "start" не выполнено.
dpkg: ошибка обработки пакета bluez (--configure):
подпроцесс установленного скрипта постустановки вернул код возврата 1
dpkg: проблемы с зависимостями не позволяют настроить blueman:
blueman зависит от bluez (>= 4.61); однако:
Пакет bluez еще не настроен.
dpkg: ошибка обработки пакета blueman (--configure):
проблемы с зависимостями - оставляется неконфигурированным
Не было написано отчета о неисправностях, так как сообщение об ошибке указывает, что это ошибка следования после предыдущей ошибки.
Во время обработки были обнаружены ошибки:
bluez
blueman
Bluetooth не заблокирован:
$ sudo rfkill list
0: hci0: Bluetooth
Мягкая блокировка: нет
Жесткая блокировка: нет
Модули ядра Bluetooth присутствуют:
$ lsmod | grep -E "blue|bt|rfco"
rfcomm 69160 0
btusb 32412 0
bluetooth 391136 4 btusb,rfcomm
Вот пакеты, которые у меня есть, связанные с bluetooth:
$ dpkg -l | grep -i blue
iU blueman 1.23-git201403102151-1ubuntu1 amd64 Графический менеджер bluetooth
iF bluez 4.101-0ubuntu13.1 amd64 Инструменты и демоны Bluetooth
ii bluez-compat 4.101-0ubuntu13.1 amd64 Бинарные файлы совместимости BlueZ 3.x
ii gir1.2-gnomebluetooth-1.0 3.8.2.1-0ubuntu4.2 amd64 Данные для интроспекции GnomeBluetooth
rc gnome-bluetooth 3.8.2.1-0ubuntu4.1 amd64 Инструменты GNOME Bluetooth
rc indicator-bluetooth 0.0.6+14.04.20140207-0ubuntu2 amd64 Индикатор bluetooth системы.
ii libbluetooth-dev 4.101-0ubuntu13.1 amd64 Файлы разработки для использования библиотеки BlueZ Linux Bluetooth
ii libbluetooth3:amd64 4.101-0ubuntu13.1 amd64 Библиотека для использования стека Bluetooth BlueZ Linux
ii libgnome-bluetooth11 3.8.2.1-0ubuntu4.2 amd64 Инструменты GNOME Bluetooth - библиотека поддержки
ii libgnome-bluetooth8 3.2.2-0ubuntu5.1 amd64 Инструменты GNOME Bluetooth - библиотека поддержки
ii libmatebluetooth 1.2.1-2+precise amd64 Инструменты MATE Bluetooth (библиотека)
rc mate-bluetooth 1.2.1-2+precise amd64 Инструменты MATE Bluetooth
В этом вопросе, я увидел упоминание о bluez-firmware, но пока не смог это найти.
$ sudo apt-get install bluez-firmware
...
E: Не удается найти пакет bluez-firmware
В попытках решить проблему я обновил свою систему до последней Linux Mate 17.3 Rosa + обновил ядро до 4.4, однако это не решает проблему.
Я прочитал множество более или менее похожих вопросов, но не смог найти ответ 🙁
Спасибо за вашу помощь!
Я думаю, вы могли бы попробовать несколько вещей:
1) Попробуйте перезагрузить ваш ПК, чтобы проверить, может ли это быть связано с проблемой горячей/холодной замены
2) Баг в ядре Linux, влияющий на подобные адаптеры, был выявлен и исправлен, смотрите bugzilla, поэтому обновление вашего ядра может быть для вас наилучшим вариантом.
Ответ или решение
USB Bluetooth Dongle Не Работает: Решение Проблемы на Linux
Если ваш USB Bluetooth адаптер не работает на Linux, несмотря на то, что он определён системой, это может быть связано с рядом причин, от неверной конфигурации до отсутствия необходимых драйверов. Ниже приведены шаги по диагностике и возможные решения данной проблемы.
Шаг 1: Проверка Аппаратного Обеспечения
Первое, что нужно сделать, это убедиться, что адаптер действительно функционирует. Подключите его к другому USB-порту или попробуйте другой компьютер. Если на других машинах он работает, переходите к следующему шагу.
Шаг 2: Проверка Разрешений
Убедитесь, что Bluetooth не заблокирован:
sudo rfkill list
Вывод должен показывать:
0: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
Если хотя бы одна из блокировок активна, используйте rfkill
для разблокировки.
Шаг 3: Проверка Драйверов и Модулей
Убедитесь, что необходимые модули загружены и активны:
lsmod | grep -E "blue|bt|rfco"
Если модули bluetooth
, btusb
, и rfcomm
присутствуют, это хороший знак. Если нет, попробуйте загрузить модули вручную:
sudo modprobe btusb
sudo modprobe bluetooth
Шаг 4: Проверка Логов
Проверьте системные логи на наличие сообщений об ошибках, связанных с Bluetooth. Используйте:
dmesg | grep -i bluetooth
Логи могут дать подсказки о том, что именно пошло не так. Ошибки, указывающие на проблемы с инициализацией или драйверами, важно учесть.
Шаг 5: Переустановка BlueZ
Проблемы с пакетом bluez
могут быть причиной ошибочного функционирования Bluetooth. Попробуйте переустановить эту библиотеку:
sudo apt-get remove --purge bluez
sudo apt-get install bluez
Если при установке возникают ошибки, это может указывать на проблемы с зависимостями. Используйте следующую команду для исправления:
sudo apt-get -f install
Также убедитесь, что пакет dbus
установлен и запущен, так как он необходим для работы Bluetooth:
sudo service dbus start
Шаг 6: Установка firmware
Некоторые Bluetooth адаптеры требуют наличия специальной прошивки (firmware). Попробуйте установить пакет bluez-firmware
, если он доступен:
sudo apt-get install bluez-firmware
Если пакет не найден, возможно, его нужно добавить в ваш репозиторий или загрузить вручную с сайта поддержки.
Шаг 7: Обновление Ядра
Если вы используете устаревшее ядро, обновление может решить проблемы совместимости:
sudo apt-get update
sudo apt-get dist-upgrade
Лучше всего использовать самое свежее стабильное ядро для вашей версии Linux.
Резюме
Проблема с вашим Bluetooth адаптером может быть решена с помощью методов, перечисленных выше. Важно проверять каждый шаг и фиксировать изменения, чтобы точно определить, что именно вызвало проблему. После применения всех предложенных решений рекомендую перезагрузить систему и проверить работу Bluetooth снова.
Если проблема не решается, рекомендуется обратиться на специализированные форумы или в службу поддержки вашего дистрибутива Linux для получения дополнительной информации.