Bluetooth USB-адаптер 5.0 0a12:0001 не работает на Ubuntu 20.04

Вопрос или проблема

БЕСПРОВОДНОЙ 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.

Оцените материал
Добавить комментарий

Капча загружается...