- Вопрос или проблема
- Ответ или решение
- Подробное руководство по решению проблем с Bluetooth USB адаптером 5.0 0a12:0001 на Ubuntu 20.04
- Шаг 1: Проверка подключения
- Шаг 2: Проверка состояния интерфейса
- Шаг 3: Проверка установки и статуса службы Bluetooth
- Шаг 4: Установка необходимых пакетов
- Шаг 5: Обновление ядра
- Шаг 6: Обходы несовместимости
- Шаг 7: Тестирование и устранение ошибок
Вопрос или проблема
БЕСПРОВОДНОЙ USB-ДОНГЛ – BLUETOOTH USB-ДОНГЛ – MINI 5.0 – ВЕРСИЯ 5.48 – 0a12:0001
Недавно купил Bluetooth USB-донгл – модель: MLT-5.0-MiNi
Я использую Ubuntu 20.04.1 LTS.
1. После подключения адаптера в USB-порт я проверил порт, набрав в терминале lsusb
, и получил следующее:
Шина 002 Устройство 003: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
2. hciconfig -a
показывает следующее:
hci0: Тип: Primary Шина: USB
BD Адрес: 00:1A:7D:DA:71:11 ACL MTU: 679:9 SCO MTU: 48:16
DOWN
RX bytes:574 acl:0 sco:0 events:30 errors:0
TX bytes:368 acl:0 sco:0 commands:30 errors:0
Features: 0xff 0xff 0x87 0xfa 0xdb 0xbf 0x7b 0x83
Тип пакета: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Политика связи: RSWITCH HOLD SNIFF PARK
Режим связи: SLAVE ACCEPT
3. hcitool dev
:
Устройства:
Похоже, что на моем ПК не установлен драйвер.
4. bluetoothctl --version
:
bluetoothctl: 5.53
5. rfkill
:
ID ТИП УСТРОЙСТВО SOFT HARD
0 bluetooth hci0 unblocked unblocked
6. И наконец btmon
:
Bluetooth monitor ver 5.53
Не удалось привязать канал: Операция не разрешена
Я нашел это видео на YouTube для решения проблемы.
1. Прежде всего, мне пришлось установить приложение “Ubuntu Mainline Kernel Installer” для обновления до последней версии ядра, и я набрал:
sudo add-apt-repository ppa:cappelikan/ppa
sudo apt-get update
sudo apt-get install mainline
2. Затем, перед обновлением до последней версии ядра, мне нужно было проверить, какая версия ядра запущена:
User@PC:~$ uname -r
5.4.0-48-generic
User@PC:~$ uname -sr
Linux 5.4.0-48-generic
3. Затем я зашел на сайт KERNEL и проверил, какая последняя стабильная версия ядра, например: 5.8.13
После этого я открыл приложение Ubuntu Mainline Kernel Installer и нажал на последнюю стабильную версию ядра, например: 5.8.13. В итоге нажал кнопку Установить.
4. После установки и перезагрузки я снова проверил:
User@PC:~$ uname -r
5.8.13-050813-generic
User@PC:~$ uname -sr
Linux 5.8.13-050813-generic
Я увидел, что это было успешно, и bluetooth USB DONGLE 5.0 работает.
НО ЕСТЬ ОДНА ПРОБЛЕМА С ПОДКЛЮЧЕНИЕМ ПОСЛЕ СПАРИВАНИЯ: после сопряжения Ubuntu с моей колонкой 5.0 она не может подключиться, затем после сопряжения Ubuntu с моим смартфоном LG я не смог отправить фотографии на смартфон из Ubuntu и наоборот.
1. Я набрал systemctl status bluetooth
и нажал ввод.
● bluetooth.service - Bluetooth service
Загружено: загружено (/lib/systemd/system/bluetooth.service; включено; пресет производителя: включено)
Активно: активно (работает) с Сб 2020-10-03 19:02:12 -05; 10 мин назад
Документы: man:bluetoothd(8)
Основной PID: 2173 (bluetoothd)
Статус: "Работает"
Задачи: 1 (лимит: 4649)
Память: 2.2M
CGroup: /system.slice/bluetooth.service
└─2173 /usr/lib/bluetooth/bluetoothd
03 окт. 19:02:11 PC systemd[1]: Запуск Bluetooth service...
03 окт. 19:02:12 PC bluetoothd[2173]: Bluetooth daemon 5.53
03 окт. 19:02:12 PC systemd[1]: Bluetooth service запущен.
03 окт. 19:02:12 PC bluetoothd[2173]: Запуск SDP сервера
03 окт. 19:02:12 PC bluetoothd[2173]: Интерфейс управления Bluetooth 1.17 инициализирован
03 окт. 19:02:13 PC bluetoothd[2173]: Не удалось установить режим: Заблокирован через rfkill (0x12)
03 окт. 19:02:14 PC bluetoothd[2173]: Endpoint зарегистрирован: отправитель=:1.75 путь=/MediaEndpoint/A2DPSink/sbc
03 окт. 19:02:14 PC bluetoothd[2173]: Endpoint зарегистрирован: отправитель=:1.75 путь=/MediaEndpoint/A2DPSource/sbc
03 окт. 19:02:14 PC bluetoothd[2173]: Не удалось установить режим: Заблокирован через rfkill (0x12)
Я вижу, что есть проблема:
bluetoothd[2173]: Не удалось установить режим: Заблокирован через rfkill (0x12)
2. rfkill list
:
1: hci0: Bluetooth
Soft blocked: нет
Hard blocked: нет
3. hciconfig -a
:
hci0: Тип: Primary Шина: USB
BD Адрес: 00:1A:7D:DA:71:11 ACL MTU: 679:9 SCO MTU: 48:16
ВВЕРХ ВРАБОТАЕТ PSCAN ISCAN
RX bytes:1174 acl:0 sco:0 events:65 errors:0
TX bytes:1046 acl:0 sco:0 commands:65 errors:0
Features: 0xff 0xff 0x87 0xfa 0xdb 0xbf 0x7b 0x83
Тип пакета: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Политика связи: RSWITCH HOLD SNIFF PARK
Режим связи: SLAVE ACCEPT
Имя: 'Daniel-MS-7529'
Класс: 0x1c0104
Классы услуг: Rendering, Capturing, Object Transfer
Класс устройства: Computer, Desktop workstation
HCI Версия: 5.0 (0x9) Ревизия: 0x810
Производитель: Cambridge Silicon Radio (10)
Я вижу, что все в порядке.
4. btmon
:
Bluetooth monitor ver 5.53
Не удалось привязать канал: Операция не разрешена
5. sudo dmesg | grep -i bluetooth
:
[ 132.146271] Bluetooth: Core ver 2.22
[ 132.146302] Bluetooth: HCI устройство и менеджер соединений инициализированы
[ 132.146308] Bluetooth: HCI слой сокета инициализирован
[ 132.146310] Bluetooth: L2CAP слой сокета инициализирован
[ 132.146314] Bluetooth: SCO слой сокета инициализирован
[ 132.515401] Bluetooth: hci0: CSR: Обнаружен небрендированный клон CSR; добавление обходных путей...
[ 133.859424] Bluetooth: BNEP (Эмуляция Ethernet) вер. 1.3
[ 133.859426] Bluetooth: BNEP фильтры: протокол мультикаста
[ 133.859431] Bluetooth: BNEP слой сокета инициализирован
[ 135.263551] Bluetooth: RFCOMM TTY слой инициализирован
[ 135.263561] Bluetooth: RFCOMM слой сокета инициализирован
[ 135.263570] Bluetooth: RFCOMM вер. 1.11
[ 1017.955624] Bluetooth: hci0: запрос не удался: статус 0x0c
[ 1023.331631] Bluetooth: hci0: запрос не удался: статус 0x0c
[ 3305.392256] Bluetooth: hci0: CSR: Обнаружен небрендированный клон CSR; добавление обходных путей...
Есть еще одна проблема:
Bluetooth: hci0: запрос не удался: статус 0x0c
6. Еще раз, я набрал в терминале hcidump -X
и нажал ввод, затем перешел в настройки Bluetooth, чтобы попытаться спариться и подключить динамик, и я получил следующие результаты в терминале:
HCI sniffer - Bluetooth пакетный анализатор вер. 5.53
устройство: hci0 snap_len: 1500 фильтр: 0xffffffffffffffff
[несколько строк, связанных с HCI Event]
> HCI Event: Статус команды (0x0f) plen 4
Запрос (0x01|0x0001) статус 0x00 ncmd 1
> HCI Event: Результат расширенного запроса (0x2f) plen 255
bdaddr 88:D0:39:7C:24:61 режим 1 смещение 0x2744 класс 0x240404 rssi -25
Полное локальное имя: 'Soundcore Flare+'
Неизвестный тип 0xff с 9 байтами данных
> HCI Event: Результат расширенного запроса (0x2f) plen 255
bdaddr 24:FC:E5:6E:53:5B режим 1 смещение 0x18bd класс 0x08043c rssi -71
> HCI Event: Результат расширенного запроса (0x2f) plen 255
bdaddr 24:FC:E5:6E:53:5B режим 1 смещение 0x18bd класс 0x08043c rssi -98
> HCI Event: Запрос завершен (0x01) plen 1
статус 0x00
> HCI Event: Команда завершена (0x0e) plen 4
LE Установить случайный адрес (0x08|0x0005) ncmd 1
статус 0x00
> HCI Event: Команда завершена (0x0e) plen 4
LE Установить параметры сканирования (0x08|0x000b) ncmd 1
статус 0x00
> HCI Event: Команда завершена (0x0e) plen 4
LE Включить сканирование (0x08|0x000c) ncmd 1
статус 0x00
> HCI Event: Статус команды (0x0f) plen 4
Отключить (0x01|0x0006) статус 0x00 ncmd 1
> HCI Event: Команда завершена (0x0e) plen 4
LE Включить сканирование (0x08|0x000c) ncmd 1
статус 0x00
> HCI Event: Статус команды (0x0f) plen 4
Запрос (0x01|0x0001) статус 0x00 ncmd 1
> HCI Event: Отключение завершено (0x05) plen 4
статус 0x00 дескриптор 128 причина 0x16
Причина: Соединение прекращено локальным хостом
> HCI Event: Результат расширенного запроса (0x2f) plen 255
bdaddr 88:D0:39:7C:24:61 режим 1 смещение 0x2745 класс 0x240404 rssi -25
Полное локальное имя: 'Soundcore Flare+'
Неизвестный тип 0xff с 9 байтами данных
> HCI Event: Запрос завершен (0x01) plen 1
статус 0x00
> HCI Event: Команда завершена (0x0e) plen 4
LE Установить случайный адрес (0x08|0x0005) ncmd 1
статус 0x00
> HCI Event: Команда завершена (0x0e) plen 4
LE Установить параметры сканирования (0x08|0x000b) ncmd 1
статус 0x00
> HCI Event: Команда завершена (0x0e) plen 4
LE Включить сканирование (0x08|0x000c) ncmd 1
статус 0x00
> HCI Event: Команда завершена (0x0e) plen 4
LE Включить сканирование (0x08|0x000c) ncmd 1
статус 0x00
> HCI Event: Статус команды (0x0f) plen 4
Запрос (0x01|0x0001) статус 0x00 ncmd 1
> HCI Event: Результат расширенного запроса (0x2f) plen 255
bdaddr 88:D0:39:7C:24:61 режим 1 смещение 0x2745 класс 0x240404 rssi -27
Полное локальное имя: 'Soundcore Flare+'
Неизвестный тип 0xff с 9 байтами данных
> HCI Event: Результат расширенного запроса (0x2f) plen 255
bdaddr 88:D0:39:7C:24:61 режим 1 смещение 0x2745 класс 0x240404 rssi -27
Полное локальное имя: 'Soundcore Flare+'
Неизвестный тип 0xff с 9 байтами данных
> HCI Event: Результат расширенного запроса (0x2f) plen 255
bdaddr 88:D0:39:7C:24:61 режим 1 смещение 0x2745 класс 0x240404 rssi -24
Полное локальное имя: 'Soundcore Flare+'
Неизвестный тип 0xff с 9 байтами данных
> HCI Event: Результат расширенного запроса (0x2f) plen 255
bdaddr 88:D0:39:7C:24:61 режим 1 смещение 0x2745 класс 0x240404 rssi -24
Полное локальное имя: 'Soundcore Flare+'
Неизвестный тип 0xff с 9 байтами данных
> HCI Event: Результат расширенного запроса (0x2f) plen 255
bdaddr 88:D0:39:7C:24:61 режим 1 смещение 0x2745 класс 0x240404 rssi -23
Полное локальное имя: 'Soundcore Flare+'
Неизвестный тип 0xff с 9 байтами данных
> HCI Event: Результат расширенного запроса (0x2f) plen 255
bdaddr 88:D0:39:7C:24:61 режим 1 смещение 0x2745 класс 0x240404 rssi -24
Полное локальное имя: 'Soundcore Flare+'
Неизвестный тип 0xff с 9 байтами данных
> HCI Event: Результат расширенного запроса (0x2f) plen 255
bdaddr 88:D0:39:7C:24:61 режим 1 смещение 0x2745 класс 0x240404 rssi -23
Полное локальное имя: 'Soundcore Flare+'
Неизвестный тип 0xff с 9 байтами данных
> HCI Event: Результат расширенного запроса (0x2f) plen 255
bdaddr 88:D0:39:7C:24:61 режим 1 смещение 0x2745 класс 0x240404 rssi -22
Полное локальное имя: 'Soundcore Flare+'
Неизвестный тип 0xff с 9 байтами данных
Soundcore Flare+ – это модель динамика. Я вижу еще одну проблему:
Неизвестный тип 0xff с 9 байтами данных
Bluetooth USB 5.0 отлично работает на Windows 10, но на Ubuntu 20.04 он не работает. Таким образом, Ubuntu нуждается в драйверах для Bluetooth 5.0.
На ядре 5.8.14 Ubuntu действительно отображает устройства для сопряжения и подключения, но сопряжение и подключение не работают.
Может ли кто-нибудь помочь мне решить эту проблему сопряжения и подключения с устройствами из Ubuntu?
Я нашел решение проблемы для Linux на этом сайте, но я не знаю, как компилировать и патчить на Ubuntu 20.04, это может работать только для версии ядра 5.8.
Та же проблема с 0a12/0001 на Ubuntu 20.04.4. Мой второй компьютер работает на Debian 11 bullseye, где адаптер работает отлично. Там я нашел установленный пакет, который не установлен в Ubuntu 20.04 по умолчанию. Так что в 20.04 попробуйте установить пакет bluetooth. Работает для Vendor 0a12/0001.
Откройте терминал и введите sudo apt install bluetooth
.
Ответ или решение
Подробное руководство по решению проблем с Bluetooth USB адаптером 5.0 0a12:0001 на Ubuntu 20.04
Проблемы с подключением Bluetooth USB адаптера к Ubuntu 20.04 часто связаны с отсутствием подходящих драйверов или несоответствием аппаратных возможностей устройства с текущим ядром системы. Рассмотрим, как можно решить эту проблему, основываясь на предоставленных данных.
Шаг 1: Проверка подключения
При подключении адаптера через терминал командой lsusb
вы видели адаптер:
Bus 002 Device 003: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Это указывает на то, что физическое подключение работает корректно.
Шаг 2: Проверка состояния интерфейса
Команда hciconfig -a
выдала следующее:
hci0: Type: Primary Bus: USB
BD Address: 00:1A:7D:DA:71:11 ACL MTU: 679:9 SCO MTU: 48:16
DOWN
Обратите внимание, что интерфейс находится в состоянии DOWN. Попробуйте запустить его с помощью команды:
sudo hciconfig hci0 up
Шаг 3: Проверка установки и статуса службы Bluetooth
Убедитесь, что служба Bluetooth работает. Используйте команду:
systemctl status bluetooth
Если служба неактивна, активируйте её:
sudo systemctl start bluetooth
sudo systemctl enable bluetooth
Шаг 4: Установка необходимых пакетов
На одном из компьютеров с Debian 11 проблема решилась установкой пакета bluetooth
, которого не было на Ubuntu 20.04. Установите этот пакет:
sudo apt install bluetooth
Шаг 5: Обновление ядра
Обновление ядра до более новой версии может решить проблемы с драйверами. Вы уже прошли этот процесс, установив версию 5.8.13, но стоит упомянуть, что иногда более стабильная работа может быть достигнута на еще более новой версии ядра, если это возможно.
Шаг 6: Обходы несовместимости
Ваш адаптер, вероятно, является клон CSR, что создаёт дополнительные сложности. Сообщения об этом в dmesg
:
Bluetooth: hci0: CSR: Unbranded CSR clone detected; adding workarounds...
Эти устройства часто требуют патчей для полноценной работы. Найдите инструкции по применению патчей, найденные на ресурсе https://fosspost.org/linux-bluetooth-problem/
, там может быть нужная информация для применения их к вашему ядру.
Шаг 7: Тестирование и устранение ошибок
Используйте btmon
и hcidump -X
для мониторинга активности устройства и диагностики возникающих ошибок. Попробуйте также следующие команды:
rfkill list
для проверки блокировки аппаратной части.- Проверьте коды ошибок, такие как
Failed to bind channel
, и решайте их в соответствии с предоставленными описаниями в сообщениях ошибок.
Проблемы беспроводной связи могут быть сложными для диагностики, особенно с учетом специфических аппаратных и программных взаимодействий. Однако описанные шаги должны существенно улучшить ситуацию с блютус-адаптером на вашей системе. Если проблема не решается, рассмотрите возможность консультации с профессиональными форумами или сообществами поддержки, такими как Stack Overflow или внутренняя документация Ubuntu.