как исправить несовместимость btusb 4.1 с ядром Ubuntu 24.04.1 LTS 6.8.0-50-generic

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

При обновлении ядра с 6.8.0-49-generic до 6.8.0-50-generic я столкнулся с ошибками, связанными с драйвером bluetooth, установленным из https://github.com/jeremyb31/bluetooth-6.8. Вот сообщение об ошибке:

Сборка модуля:

Очистка зоны сборки…

‘make’ all KVER=6.8.0-50-generic…(неудачный код выхода: 2)

ОШИБКА (dkms apport): двоичный пакет для btusb: 4.1 не найден

Ошибка! Плохой код возврата при сборке модуля на ядре: 6.8.0-50-generic(x86_64)

Консультируйтесь с /var/lib/dkms/btusb/4.1/build/make.log для получения дополнительной информации.

dkms autoinstall на 6.8.0-50-generic/x86_64 завершился неудачей для btusb(10)

Ошибка! Один или несколько модулей не удалось установить во время автоподстановки.

Обратитесь к предыдущим ошибкам для получения дополнительной информации.

  • dkms: автоподстановка для ядра 6.8.0-50-generic…неудача!

run-parts: /etc/kernel/header_postinst.d/dkms завершился с кодом возврата 11

dpkg: ошибка при обработке пакета linux-headers-6.8.0-50-generic(–configure):

скрипт пост-установки установленного пакета linux-headers-6.8.0-50-generic завершил работу с кодом ошибки 11

dpkg: проблемы с зависимостями препятствуют настройке linux-headers-generic:

linux-headers-generic зависит от linux-headers-6.8.0-50-generic; однако:

Пакет linux-headers-6.8.0-50-generic еще не настроен.

dpkg: ошибка при обработке пакета linux-headers-generic (–configure):

проблемы с зависимостями – оставлено без настройки

Нет отчета apport, так как сообщение об ошибке указывает, что это последующая ошибка после предыдущей неудачи.

Обработка триггеров для linux-image-6.8.0-50-generic (6.8.0-50.51) …/etc/kernel/postinst.d/dkms:

  • dkms: запуск службы автоподстановки для ядра 6.8.0-50-generic

Команда подписи: /usr/bin/kmodsign

Ключ подписи: /var/lib/shim-signed/mok/MOK.priv

Публичный сертификат (MOK): /var/lib/shim-signed/mok/MOK.der

Сборка модуля:

Очистка зоны сборки…

‘make’ all KVER=6.8.0-50-generic…(неудачный код выхода: 2)

ОШИБКА (dkms apport): двоичный пакет для btusb: 4.1 не найден

Ошибка! Плохой код возврата при сборке модуля на ядре: 6.8.0-50-generic (x86_64)

Консультируйтесь с /var/lib/dkms/btusb/4.1/build/make.log для получения дополнительной информации.

dkms autoinstall на 6.8.0-50-generic/x86_64 завершился неудачей для btusb(10)

Ошибка! Один или несколько модулей не удалось установить во время автоподстановки.

Обратитесь к предыдущим ошибкам для получения дополнительной информации.

  • dkms: автоподстановка для ядра 6.8.0-50-generic…неудача!

run-parts: /etc/kernel/postinst.d/dkms завершился с кодом возврата 11

dpkg: ошибка при обработке пакета linux-image-6.8.0-50-generic (–configure):

скрипт пост-установки установленного пакета linux-image-6.8.0-50-generic завершил работу с кодом ошибки 11

Во время обработки были обнаружены ошибки:

linux-headers-6.8.0-50-generic

linux-headers-generic

linux-image-6.8.0-50-generic

E: Подпроцесс /usr/bin/dpkg вернул код ошибки (1)

Я удалил dkms btusb/4.1 -all, клонировал репозиторий github и снова попытался установить dkms btusb 4.1, но столкнулся с той же ошибкой. Вот содержание make.log:

DKMS make.log для btusb-4.1 для ядра 6.8.0-50-generic (x86_64)

Ср Дек 11 21:52:35 +08 2024

make -C /lib/modules/6.8.0-50-generic/build M=/var/lib/dkms/btusb/4.1/build модули

make[1]: Вход в каталог ‘/usr/src/linux-headers-6.8.0-50-generic’

внимание: компилятор отличается от того, который использовался для сборки ядра

Ядро было собрано с помощью: x86_64-linux-gnu-gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0

Вы используете: gcc-13 (Ubuntu 13.2.0-23ubuntu4) 13.2.0

CC [M] /var/lib/dkms/btusb/4.1/build/btusb.o

/var/lib/dkms/btusb/4.1/build/btusb.c: В функции ‘btusb_probe’:

/var/lib/dkms/btusb/4.1/build/btusb.c:4501:25: ошибка:
‘HCI_QUIRK_VALID_LE_STATES’ не объявлен (первый раз используется в этой функции); вы имели в виду ‘HCI_QUIRK_BROKEN_LE_STATES’?

4501 | set_bit(HCI_QUIRK_VALID_LE_STATES,
&hdev->quirks);

  |                         ^~~~~~~~~~~~~~~~~~~~~~~~~

  |                         HCI_QUIRK_BROKEN_LE_STATES

/var/lib/dkms/btusb/4.1/build/btusb.c:4501:25: примечание: каждый не объявленный идентификатор сообщается только один раз для каждой функции, в которой он появляется

make[3]: *** [scripts/Makefile.build:243:/var/lib/dkms/btusb/4.1/build/btusb.o] Ошибка 1

make[2]: *** [/usr/src/linux-headers-6.8.0-50-generic/Makefile:1925:/var/lib/dkms/btusb/4.1/build] Ошибка 2

make[1]: *** [Makefile:240: __sub-make] Ошибка 2

make[1]: Выхожу из каталога ‘/usr/src/linux-headers-6.8.0-50-generic’

make: *** [Makefile:7: all] Ошибка 2

В настоящее время я без bluetooth, чтобы обновиться до 6.8.0-50. Есть ли альтернативное решение для того, чтобы bluetooth заработал?

Ответ или решение

Как исправить несовместимость btusb 4.1 с Ubuntu 24.04.1 LTS и ядром 6.8.0-50-generic

Ваша проблема с Bluetooth на Ubuntu 24.04.1 LTS после обновления ядра до версии 6.8.0-50-generic связана с несовместимостью модуля btusb версии 4.1. Давайте рассмотрим, как эту ситуацию можно исправить.

1. Понимание проблемы

Произошла ошибка при сборке модуля Bluetooth с использованием DKMS, что видно из представленных вами логов. Основная проблема заключается в том, что при сборке модуля был обнаружен неопределенный идентификатор HCI_QUIRK_VALID_LE_STATES, что указывает на изменения в API ядра или на отсутствие необходимых заголовочных файлов.

2. Решение проблемы

Чтобы устранить проблему с модулем btusb, следуйте следующим шагам:

Шаг 1: Убедитесь, что система обновлена

Перед тем как что-либо делать, убедитесь, что ваша система полностью обновлена. Используйте команды:

sudo apt update && sudo apt upgrade
Шаг 2: Переустановите модули DKMS

Так как вы уже установили модуль btusb через DKMS, попробуйте удалить и переустановить его:

sudo dkms remove btusb/4.1 --all

Затем клонируйте репозиторий снова:

git clone https://github.com/jeremyb31/bluetooth-6.8.git
cd bluetooth-6.8

Далее, установите его снова:

sudo dkms add btusb/4.1
sudo dkms build btusb/4.1
sudo dkms install btusb/4.1
Шаг 3: Проверьте версию компилятора

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

gcc --version

Вы можете установить нужную версию GCC:

sudo apt install gcc-13
Шаг 4: Проверка совместимости

Если по-прежнему возникают ошибки, возможно, btusb 4.1 несовместим с вашим ядром. Постарайтесь найти более новую версию модуля или обратитесь к документации GitHub-репозитория для получения рекомендаций. Можно также рассмотреть использование другого репозитория, предоставляющего более актуальные версии драйверов.

Шаг 5: Обратитесь к альтернативным решениям

Если ничего не помогает, вы можете рассмотреть использование USB Bluetooth адаптера, который работает из коробки с вашей версией Ubuntu. Эти адаптеры часто имеют хорошие драйверы, совместимые с современными версиями ядра.

Дополнительные рекомендации

  • Для поиска информации о последних обновлениях драйверов и решения проблем обратитесь к форумам сообщества Ubuntu или к специализированным площадкам.
  • Не забывайте делать резервные копии ваших данных перед выполнением значительных изменений в системе.

Следуя этим шагам, вы должны быть в состоянии устранить проблемы с Bluetooth в вашей системе на Ubuntu 24.04.1 LTS. Если у вас останутся вопросы или проблемы, не стесняйтесь задавать их в комментариях.

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

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