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

Alexey Gladkov gladkov.alexey at gmail.com
Wed May 22 18:22:59 MSK 2024


On Wed, May 22, 2024 at 04:28:20PM +0300, Leonid Krivoshein wrote:
> Алексей, привет!
> 
> 
> На 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)? Или и так уже 
> всё понятно?

Пока не понятно, но очень интересно.

Что выводит на 6.1.85-un-def-alt1 команда: modinfo -F firmware btrtl ?

Эта firmware не попадает в образ даже если перегенерировать образ на
6.1.85-un-def-alt1 ?

-- 
Rgrds, legion



More information about the Make-initrd mailing list