<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>50471</bug_id>
          
          <creation_ts>2024-05-27 11:31:47 +0300</creation_ts>
          <short_desc>Direct firmware load for rtl_bt/rtl8822cu_fw.bin failed with error -2</short_desc>
          <delta_ts>2024-06-04 17:21:17 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Branch p10</product>
          <component>kernel-image-un-def</component>
          <version>не указана</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Leonid Krivoshein">klark</reporter>
          <assigned_to name="Vitaly Chikunov">vt</assigned_to>
          <cc>kovalevvv</cc>
    
    <cc>pivkindyu</cc>
    
    <cc>shevchenkodyu</cc>
          
          <qa_contact name="qa-p10@altlinux.org">qa-p10</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>246800</commentid>
    <comment_count>0</comment_count>
    <who name="Leonid Krivoshein">klark</who>
    <bug_when>2024-05-27 11:31:47 +0300</bug_when>
    <thetext>bluetooth устройства не видятся, модуль rtl_bt не может загрузить firmware на ранеей стадии загрузки. Из dmesg, на 3-й секунде загрузки:

bluetooth hci0: Direct firmware load for rtl_bt/rtl8822cu_fw.bin failed with error -2
Bluetooth: hci0: RTL: firmware file rtl_bt/rtl8822cu_fw.bin not found

Не было этой проблемы на ядре: 6.1.71-un-def-alt1

Ядра, где воспроизводится: 6.1.85-un-def-alt1, 6.1.90-un-def-alt1
Файл /etc/modprobe.d/blacklist-rtl8821ce.conf удалён.
Пакет rtl8821ce-blacklist удалён.
Пакетная база свежая, включая firmware-linux.

На этих ядрах вывод одинаковый:

# modinfo -F firmware btrtl
rtl_bt/rtl8851bu_config.bin
rtl_bt/rtl8851bu_fw.bin
rtl_bt/rtl8852cu_config.bin
rtl_bt/rtl8852cu_fw.bin
rtl_bt/rtl8852bu_config.bin
rtl_bt/rtl8852bu_fw.bin
rtl_bt/rtl8852au_config.bin
rtl_bt/rtl8852au_fw.bin
rtl_bt/rtl8822b_config.bin
rtl_bt/rtl8822b_fw.bin
rtl_bt/rtl8821a_config.bin
rtl_bt/rtl8821a_fw.bin
rtl_bt/rtl8761a_config.bin
rtl_bt/rtl8761a_fw.bin
rtl_bt/rtl8723ds_config.bin
rtl_bt/rtl8723ds_fw.bin
rtl_bt/rtl8723cs_xx_config.bin
rtl_bt/rtl8723cs_xx_fw.bin
rtl_bt/rtl8723cs_vf_config.bin
rtl_bt/rtl8723cs_vf_fw.bin
rtl_bt/rtl8723cs_cg_config.bin
rtl_bt/rtl8723cs_cg_fw.bin
rtl_bt/rtl8723bs_config.bin
rtl_bt/rtl8723bs_fw.bin
rtl_bt/rtl8723b_config.bin
rtl_bt/rtl8723b_fw.bin
rtl_bt/rtl8723a_fw.bin

Проблема решается выгрузкой и загрузкой модуля btusb, например, или можно добавить руками прошивку в initrd:

echo &apos;PUT_FILES += /lib/firmware/rtl_bt/rtl8822cu_fw.bin&apos; &gt;&gt; /etc/initrd.mk
make-initrd &amp;&amp; reboot

Проблема уже решена в апстриме: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bb23f07cb63975968bbabe314486e2b087234fc5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247160</commentid>
    <comment_count>1</comment_count>
    <who name="Pivkin Denis">pivkindyu</who>
    <bug_when>2024-06-03 14:02:57 +0300</bug_when>
    <thetext>Проверил на ноутбуке HP 255 G7:
Процессор: AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx
Видеокарта (встроенная): AMD Picasso/Raven 2 [Radeon Vega Series / Radeon Vega Mobile Series]
Wireless driver: rtl8821ce

Ядро: kernel-image-un-def-6.1.90-alt1

Bluetooth:
  Device-1: Realtek Bluetooth 4.2 Adapter driver: btusb type: USB

Удалил Пакет rtl8821ce-blacklist, модуль заменился на rtw_8821ce.

При двух вариантах bluetooth устройства видятся и работают корректно.

Проверил на ноутбуке HP ProBook x360 435 G8:
Процессор: AMD Ryzen 5 5600U with Radeon Graphics
Видеокарта (встроенная): AMD Cezanne [Radeon Vega Series / Radeon Vega Mobile Series]
Wireless driver: rtw_8822ce

Ядро: kernel-image-un-def-6.1.90-alt1

Bluetooth:
  Device-1: Realtek Bluetooth Radio driver: btusb type: USB

bluetooth устройства видятся и работают корректно

Какой у Вас установлен модуль?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247165</commentid>
    <comment_count>2</comment_count>
    <who name="Leonid Krivoshein">klark</who>
    <bug_when>2024-06-03 15:13:29 +0300</bug_when>
    <thetext>Переоткрываю баг, поскольку ошибка в ядре найдена, в апстриме уже исправлена, а у нас в 6.1 нет. И есть подтверждение неработоспособности на конкретных конфигурациях:

Ноутбук Huawei Matepad 14 late 2021 amd (ryzen 5), ALT Workstation K 10.

На ядре 6.1.90-alt1 вывод modinfo -F firmware btrtl показывает:

rtl_bt/rtl8851bu_config.bin
rtl_bt/rtl8851bu_fw.bin
rtl_bt/rtl8852cu_config.bin
rtl_bt/rtl8852cu_fw.bin
rtl_bt/rtl8852bu_config.bin
rtl_bt/rtl8852bu_fw.bin
rtl_bt/rtl8852au_config.bin
rtl_bt/rtl8852au_fw.bin
rtl_bt/rtl8822b_config.bin
rtl_bt/rtl8822b_fw.bin
rtl_bt/rtl8821a_config.bin
rtl_bt/rtl8821a_fw.bin
rtl_bt/rtl8761a_config.bin
rtl_bt/rtl8761a_fw.bin
rtl_bt/rtl8723ds_config.bin
rtl_bt/rtl8723ds_fw.bin
rtl_bt/rtl8723cs_xx_config.bin
rtl_bt/rtl8723cs_xx_fw.bin
rtl_bt/rtl8723cs_vf_config.bin
rtl_bt/rtl8723cs_vf_fw.bin
rtl_bt/rtl8723cs_cg_config.bin
rtl_bt/rtl8723cs_cg_fw.bin
rtl_bt/rtl8723bs_config.bin
rtl_bt/rtl8723bs_fw.bin
rtl_bt/rtl8723b_config.bin
rtl_bt/rtl8723b_fw.bin
rtl_bt/rtl8723a_fw.bin

Видно, что нет среди них прошивки &quot;rtl_bt/rtl8822cu_fw.bin&quot;, которая запрашивается ядром при загрузке. Она в коде ядра запрашивается, но через MODULE_FIRMWARE() не экспортируется, из-за этого не попадает в stage1 при генерации initrd. Ошибка исправлена в апстримном ядре 6.4 (ссылка на коммит выше), в нашем 6.6 ошибки уже нет, но она очевидна даже в коде 6.1:

https://git.altlinux.org/gears/k/kernel-image-un-def.git?p=kernel-image-un-def.git;a=blob;f=drivers/bluetooth/btrtl.c;h=ead632595ce06f5ab02ffc5af70c91952d4b4d33;hb=1699fff4d6a560f358500cfff3b2bd1131f6df16#l210

https://git.altlinux.org/gears/k/kernel-image-un-def.git?p=kernel-image-un-def.git;a=blob;f=drivers/bluetooth/btrtl.c;h=ead632595ce06f5ab02ffc5af70c91952d4b4d33;hb=1699fff4d6a560f358500cfff3b2bd1131f6df16#l1062

Решение: убедить апстрим бэкпортировать исправление в 6.1 LTS: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bb23f07cb63975968bbabe314486e2b087234fc5

Есть и другая ошибка с ядерным modalias btusb, с ней сложнее. Стек bluetooth вообще не должен попадать в stage1, ему там нечего делать. Сейчас это происходит во многих конфигурациях по причине, названной здесь: https://lists.altlinux.org/pipermail/make-initrd/2024-May/001066.html

&gt; Какой у Вас установлен модуль?
См. также: РМ 135441, 135339, если доступно -- тут вся диагностика</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>