[make-initrd] Ядра 6.1-un-def и модуль btusb

Leonid Krivoshein klark.devel at gmail.com
Wed May 22 16:28:20 MSK 2024


Алексей, привет!


На p10 поймали. Ноутбук Huawei MatePad 14. С ядром 6.1.71-un-def-alt1 
всё было хорошо. На последних ядрах (6.1.79-un-def-alt1, 
6.1.85-un-def-alt1 и 6.1.90-un-def) отвалился Bluetooth с такой 
диагностикой на раннем этапе загрузки:

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

Помогает выгрузка и загрузка модуля либо перегенерация initrd с 
добавлением строки:

PUT_FILES += /lib/firmware/rtl_bt/rtl8822cu_fw.bin

Без этого добавления на ядре 6.1.85-un-def-alt1:

Used features: add-modules add-udev-rules cleanup compress depmod-image 
gpu-drm kbd locales network plymouth rdshell rootfs system-glibc ucode
Packed modules: af_packet amdgpu bluetooth btbcm btintel btmtk btrtl 
btusb cec drm drm_buddy drm_display_helper drm_kms_helper drm_ttm_helper 
ecdh_generic evdev gpu-sched hid hid-generic hwmon i2c-algo-bit 
input-leds intel-agp intel-gtt iommu_v2 joydev rc-core rfkill serio_raw 
sis-agp ttm via-agp video wmi xhci-hcd xhci-pci xhci-pci-renesas

Видно, что почему-то залетает btusb и вообще весь bluetooth, но не 
попадает нужный файл firmware. Но ещё непонятно, почему в initrd стал 
попадать модуль btusb. В softdeps его нигде нет, вот всё что есть на 
6.1.90 в modalias:

$ grep -E ' btusb$' modules.alias
alias usb:v8087p0A5Ad*dc*dsc*dp*ic*isc*ip*in* btusb
alias usb:v0930p*d*dc*dsc*dp*icFFisc01ip01in* btusb
alias usb:v413Cp*d*dc*dsc*dp*icFFisc01ip01in* btusb
alias usb:v13D3p*d*dc*dsc*dp*icFFisc01ip01in* btusb
alias usb:v050Dp*d*dc*dsc*dp*icFFisc01ip01in* btusb
alias usb:v0B05p*d*dc*dsc*dp*icFFisc01ip01in* btusb
alias usb:v0A5Cp*d*dc*dsc*dp*icFFisc01ip01in* btusb
alias usb:v04CAp*d*dc*dsc*dp*icFFisc01ip01in* btusb
alias usb:v0489p*d*dc*dsc*dp*icFFisc01ip01in* btusb
alias usb:v0BB4p*d*dc*dsc*dp*icFFisc01ip01in* btusb
alias usb:v105Bp*d*dc*dsc*dp*icFFisc01ip01in* btusb
alias usb:v19FFp0239d*dc*dsc*dp*ic*isc*ip*in* btusb
alias usb:v0C10p0000d*dc*dsc*dp*ic*isc*ip*in* btusb
alias usb:v0BDBp1002d*dc*dsc*dp*ic*isc*ip*in* btusb
alias usb:v044Ep3002d*dc*dsc*dp*ic*isc*ip*in* btusb
alias usb:v044Ep3001d*dc*dsc*dp*ic*isc*ip*in* btusb
alias usb:v04BFp030Ad*dc*dsc*dp*ic*isc*ip*in* btusb
alias usb:v057Cp3800d*dc*dsc*dp*ic*isc*ip*in* btusb
alias usb:v05ACp8281d*dc*dsc*dp*ic*isc*ip*in* btusb
alias usb:v05ACp821Ad*dc*dsc*dp*ic*isc*ip*in* btusb
alias usb:v05ACp821Fd*dc*dsc*dp*ic*isc*ip*in* btusb
alias usb:v05ACp821Bd*dc*dsc*dp*ic*isc*ip*in* btusb
alias usb:v05ACp8218d*dc*dsc*dp*ic*isc*ip*in* btusb
alias usb:v05ACp8215d*dc*dsc*dp*ic*isc*ip*in* btusb
alias usb:v05ACp8213d*dc*dsc*dp*ic*isc*ip*in* btusb
alias usb:v0A5Cp21E1d*dc*dsc*dp*ic*isc*ip*in* btusb
alias usb:v0E8Dp763Fd*dc*dsc*dp*ic*isc*ip*in* btusb
alias usb:v05ACp*d*dc*dsc*dp*icFFisc01ip01in* btusb
alias usb:v*p*d*dc*dsc*dp*icE0isc01ip01in* btusb
alias usb:v*p*d*dcE0dsc01dp04ic*isc*ip*in* btusb
alias usb:v*p*d*dcE0dsc01dp01ic*isc*ip*in* btusb
alias of:N*T*Cusb4ca,301aC* btusb
alias of:N*T*Cusb4ca,301a btusb
alias of:N*T*Cusbcf3,e300C* btusb
alias of:N*T*Cusbcf3,e300 btusb
alias of:N*T*Cusb1286,204eC* btusb
alias of:N*T*Cusb1286,204e btusb

У модуля btusb зависимости есть, как раз те, что тоже залетают в initrd. 
А вот от него никто не зависит. Из чего я сделал вывод, что есть 
спотыкание о какой-то glob из вышеперечисленных. Нужно ли вешать баг? На 
ядро или make-initrd? Нужен ли тебе bug-report (1.4Mb)? Или и так уже 
всё понятно?


-- 
WBR, Leonid Krivoshein.



More information about the Make-initrd mailing list