Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Firmware fails to load a few times until its loads correctly #323

Open
Alexander88207 opened this issue Nov 10, 2024 · 5 comments
Open

Firmware fails to load a few times until its loads correctly #323

Alexander88207 opened this issue Nov 10, 2024 · 5 comments
Assignees
Labels
enhancement New feature or request

Comments

@Alexander88207
Copy link

Alexander88207 commented Nov 10, 2024

Describe the bug

Looks like its looking in the wrong path in the first times?

pkg info -lx gpu-firmware-amd-kmod-navy-flounder
gpu-firmware-amd-kmod-navy-flounder-20230625_2:
	/boot/modules/amdgpu_navy_flounder_ce_bin.ko
	/boot/modules/amdgpu_navy_flounder_dmcub_bin.ko
	/boot/modules/amdgpu_navy_flounder_me_bin.ko
	/boot/modules/amdgpu_navy_flounder_mec2_bin.ko
	/boot/modules/amdgpu_navy_flounder_mec_bin.ko
	/boot/modules/amdgpu_navy_flounder_pfp_bin.ko
	/boot/modules/amdgpu_navy_flounder_rlc_bin.ko
	/boot/modules/amdgpu_navy_flounder_sdma_bin.ko
	/boot/modules/amdgpu_navy_flounder_smc_bin.ko
	/boot/modules/amdgpu_navy_flounder_sos_bin.ko
	/boot/modules/amdgpu_navy_flounder_ta_bin.ko
	/boot/modules/amdgpu_navy_flounder_vcn_bin.ko

navy_flounder_sos.bin: could not load binary firmware /boot/firmware/navy_flounder_sos.bin either
amdgpu/navy_flounder_sos.bin: could not load binary firmware /boot/firmware/amdgpu/navy_flounder_sos.bin either
amdgpu_navy_flounder_sos.bin: could not load binary firmware /boot/firmware/amdgpu_navy_flounder_sos.bin either
drmn0: successfully loaded firmware image 'amdgpu/navy_flounder_sos.bin'
navy_flounder_ta.bin: could not load binary firmware /boot/firmware/navy_flounder_ta.bin either
amdgpu/navy_flounder_ta.bin: could not load binary firmware /boot/firmware/amdgpu/navy_flounder_ta.bin either
amdgpu_navy_flounder_ta.bin: could not load binary firmware /boot/firmware/amdgpu_navy_flounder_ta.bin either
drmn0: successfully loaded firmware image 'amdgpu/navy_flounder_ta.bin'
drmn0: PSP runtime database doesn't exist
drmn0: PSP runtime database doesn't exist
navy_flounder_smc.bin: could not load binary firmware /boot/firmware/navy_flounder_smc.bin either
amdgpu/navy_flounder_smc.bin: could not load binary firmware /boot/firmware/amdgpu/navy_flounder_smc.bin either
amdgpu_navy_flounder_smc.bin: could not load binary firmware /boot/firmware/amdgpu_navy_flounder_smc.bin either
drmn0: successfully loaded firmware image 'amdgpu/navy_flounder_smc.bin'
drmn0: STB initialized to 2048 entrieslkpi_iic0: <LinuxKPI I2C> on drmn0
iicbus0: <Philips I2C bus> on lkpi_iic0
iic0: <I2C generic I/O> on iicbus0
lkpi_iic1: <LinuxKPI I2C> on drmn0
iicbus1: <Philips I2C bus> on lkpi_iic1
iic1: <I2C generic I/O> on iicbus1
navy_flounder_dmcub.bin: could not load binary firmware /boot/firmware/navy_flounder_dmcub.bin either
amdgpu/navy_flounder_dmcub.bin: could not load binary firmware /boot/firmware/amdgpu/navy_flounder_dmcub.bin either
amdgpu_navy_flounder_dmcub.bin: could not load binary firmware /boot/firmware/amdgpu_navy_flounder_dmcub.bin either
drmn0: successfully loaded firmware image 'amdgpu/navy_flounder_dmcub.bin'
[drm] Loading DMUB firmware via PSP: version=0x0202001E
navy_flounder_pfp.bin: could not load binary firmware /boot/firmware/navy_flounder_pfp.bin either
amdgpu/navy_flounder_pfp.bin: could not load binary firmware /boot/firmware/amdgpu/navy_flounder_pfp.bin either
amdgpu_navy_flounder_pfp.bin: could not load binary firmware /boot/firmware/amdgpu_navy_flounder_pfp.bin either
drmn0: successfully loaded firmware image 'amdgpu/navy_flounder_pfp.bin'
navy_flounder_me.bin: could not load binary firmware /boot/firmware/navy_flounder_me.bin either
amdgpu/navy_flounder_me.bin: could not load binary firmware /boot/firmware/amdgpu/navy_flounder_me.bin either
amdgpu_navy_flounder_me.bin: could not load binary firmware /boot/firmware/amdgpu_navy_flounder_me.bin either
drmn0: successfully loaded firmware image 'amdgpu/navy_flounder_me.bin'
navy_flounder_ce.bin: could not load binary firmware /boot/firmware/navy_flounder_ce.bin either
amdgpu/navy_flounder_ce.bin: could not load binary firmware /boot/firmware/amdgpu/navy_flounder_ce.bin either
amdgpu_navy_flounder_ce.bin: could not load binary firmware /boot/firmware/amdgpu_navy_flounder_ce.bin either
drmn0: successfully loaded firmware image 'amdgpu/navy_flounder_ce.bin'
navy_flounder_rlc.bin: could not load binary firmware /boot/firmware/navy_flounder_rlc.bin either
amdgpu/navy_flounder_rlc.bin: could not load binary firmware /boot/firmware/amdgpu/navy_flounder_rlc.bin either
amdgpu_navy_flounder_rlc.bin: could not load binary firmware /boot/firmware/amdgpu_navy_flounder_rlc.bin either
drmn0: successfully loaded firmware image 'amdgpu/navy_flounder_rlc.bin'
navy_flounder_mec.bin: could not load binary firmware /boot/firmware/navy_flounder_mec.bin either
amdgpu/navy_flounder_mec.bin: could not load binary firmware /boot/firmware/amdgpu/navy_flounder_mec.bin either
amdgpu_navy_flounder_mec.bin: could not load binary firmware /boot/firmware/amdgpu_navy_flounder_mec.bin either
drmn0: successfully loaded firmware image 'amdgpu/navy_flounder_mec.bin'
navy_flounder_mec2.bin: could not load binary firmware /boot/firmware/navy_flounder_mec2.bin either
amdgpu/navy_flounder_mec2.bin: could not load binary firmware /boot/firmware/amdgpu/navy_flounder_mec2.bin either
amdgpu_navy_flounder_mec2.bin: could not load binary firmware /boot/firmware/amdgpu_navy_flounder_mec2.bin either
drmn0: successfully loaded firmware image 'amdgpu/navy_flounder_mec2.bin'
navy_flounder_sdma.bin: could not load binary firmware /boot/firmware/navy_flounder_sdma.bin either
amdgpu/navy_flounder_sdma.bin: could not load binary firmware /boot/firmware/amdgpu/navy_flounder_sdma.bin either
amdgpu_navy_flounder_sdma.bin: could not load binary firmware /boot/firmware/amdgpu_navy_flounder_sdma.bin either
drmn0: successfully loaded firmware image 'amdgpu/navy_flounder_sdma.bin'
[drm] use_doorbell being set to: [true]
[drm] use_doorbell being set to: [true]
navy_flounder_vcn.bin: could not load binary firmware /boot/firmware/navy_flounder_vcn.bin either
amdgpu/navy_flounder_vcn.bin: could not load binary firmware /boot/firmware/amdgpu/navy_flounder_vcn.bin either
amdgpu_navy_flounder_vcn.bin: could not load binary firmware /boot/firmware/amdgpu_navy_flounder_vcn.bin either
drmn0: successfully loaded firmware image 'amdgpu/navy_flounder_vcn.bin'

FreeBSD version
FreeBSD Home 14.2-STABLE FreeBSD 14.2-STABLE stable/14-da80e62f9 GENERIC amd64 1402500 1402500

PCI Info

hostb0@pci0:0:0:0:	class=0x060000 rev=0x05 hdr=0x00 vendor=0x8086 device=0x9b53 subvendor=0x1043 subdevice=0x8694
    vendor     = 'Intel Corporation'
    device     = 'Comet Lake-S 6c Host Bridge/DRAM Controller'
    class      = bridge
    subclass   = HOST-PCI
pcib1@pci0:0:1:0:	class=0x060400 rev=0x05 hdr=0x01 vendor=0x8086 device=0x1901 subvendor=0x1043 subdevice=0x8694
    vendor     = 'Intel Corporation'
    device     = '6th-10th Gen Core Processor PCIe Controller (x16)'
    class      = bridge
    subclass   = PCI-PCI
xhci0@pci0:0:20:0:	class=0x0c0330 rev=0x11 hdr=0x00 vendor=0x8086 device=0x43ed subvendor=0x1043 subdevice=0x8694
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-H USB 3.2 Gen 2x1 xHCI Host Controller'
    class      = serial bus
    subclass   = USB
none0@pci0:0:20:2:	class=0x050000 rev=0x11 hdr=0x00 vendor=0x8086 device=0x43ef subvendor=0x1043 subdevice=0x8694
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-H Shared SRAM'
    class      = memory
    subclass   = RAM
ig4iic0@pci0:0:21:0:	class=0x0c8000 rev=0x11 hdr=0x00 vendor=0x8086 device=0x43e8 subvendor=0x1043 subdevice=0x8694
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-H Serial IO I2C Controller'
    class      = serial bus
none1@pci0:0:22:0:	class=0x078000 rev=0x11 hdr=0x00 vendor=0x8086 device=0x43e0 subvendor=0x1043 subdevice=0x8694
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-H Management Engine Interface'
    class      = simple comms
pcib4@pci0:0:27:0:	class=0x060400 rev=0x11 hdr=0x01 vendor=0x8086 device=0x43c4 subvendor=0x1043 subdevice=0x8694
    vendor     = 'Intel Corporation'
    class      = bridge
    subclass   = PCI-PCI
pcib5@pci0:0:28:0:	class=0x060400 rev=0x11 hdr=0x01 vendor=0x8086 device=0x43bc subvendor=0x1043 subdevice=0x8694
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-H PCI Express Root Port'
    class      = bridge
    subclass   = PCI-PCI
pcib6@pci0:0:28:7:	class=0x060400 rev=0x11 hdr=0x01 vendor=0x8086 device=0x43bf subvendor=0x1043 subdevice=0x8694
    vendor     = 'Intel Corporation'
    class      = bridge
    subclass   = PCI-PCI
pcib7@pci0:0:29:0:	class=0x060400 rev=0x11 hdr=0x01 vendor=0x8086 device=0x43b0 subvendor=0x1043 subdevice=0x8694
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-H PCI Express Root Port'
    class      = bridge
    subclass   = PCI-PCI
isab0@pci0:0:31:0:	class=0x060100 rev=0x11 hdr=0x00 vendor=0x8086 device=0x4387 subvendor=0x1043 subdevice=0x8694
    vendor     = 'Intel Corporation'
    device     = 'B560 LPC/eSPI Controller'
    class      = bridge
    subclass   = PCI-ISA
hdac1@pci0:0:31:3:	class=0x040300 rev=0x11 hdr=0x00 vendor=0x8086 device=0xf0c8 subvendor=0x1043 subdevice=0x881a
    vendor     = 'Intel Corporation'
    class      = multimedia
    subclass   = HDA
ichsmb0@pci0:0:31:4:	class=0x0c0500 rev=0x11 hdr=0x00 vendor=0x8086 device=0x43a3 subvendor=0x1043 subdevice=0x8694
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-H SMBus Controller'
    class      = serial bus
    subclass   = SMBus
none2@pci0:0:31:5:	class=0x0c8000 rev=0x11 hdr=0x00 vendor=0x8086 device=0x43a4 subvendor=0x1043 subdevice=0x8694
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-H SPI Controller'
    class      = serial bus
pcib2@pci0:1:0:0:	class=0x060400 rev=0xc5 hdr=0x01 vendor=0x1002 device=0x1478 subvendor=0x0000 subdevice=0x0000
    vendor     = 'Advanced Micro Devices, Inc. [AMD/ATI]'
    device     = 'Navi 10 XL Upstream Port of PCI Express Switch'
    class      = bridge
    subclass   = PCI-PCI
pcib3@pci0:2:0:0:	class=0x060400 rev=0x00 hdr=0x01 vendor=0x1002 device=0x1479 subvendor=0x1002 subdevice=0x1479
    vendor     = 'Advanced Micro Devices, Inc. [AMD/ATI]'
    device     = 'Navi 10 XL Downstream Port of PCI Express Switch'
    class      = bridge
    subclass   = PCI-PCI
vgapci0@pci0:3:0:0:	class=0x030000 rev=0xc5 hdr=0x00 vendor=0x1002 device=0x73df subvendor=0x1043 subdevice=0x05cb
    vendor     = 'Advanced Micro Devices, Inc. [AMD/ATI]'
    device     = 'Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT]'
    class      = display
    subclass   = VGA
hdac0@pci0:3:0:1:	class=0x040300 rev=0x00 hdr=0x00 vendor=0x1002 device=0xab28 subvendor=0x1002 subdevice=0xab28
    vendor     = 'Advanced Micro Devices, Inc. [AMD/ATI]'
    device     = 'Navi 21/23 HDMI/DP Audio Controller'
    class      = multimedia
    subclass   = HDA
nvme0@pci0:4:0:0:	class=0x010802 rev=0x00 hdr=0x00 vendor=0x144d device=0xa809 subvendor=0x144d subdevice=0xa801
    vendor     = 'Samsung Electronics Co Ltd'
    device     = 'NVMe SSD Controller 980 (DRAM-less)'
    class      = mass storage
    subclass   = NVM
re0@pci0:6:0:0:	class=0x020000 rev=0x05 hdr=0x00 vendor=0x10ec device=0x8125 subvendor=0x1043 subdevice=0x87d7
    vendor     = 'Realtek Semiconductor Co., Ltd.'
    device     = 'RTL8125 2.5GbE Controller'
    class      = network
    subclass   = ethernet

DRM KMOD version

pkg info drm-61-kmod
drm-61-kmod-6.1.92_2
Name           : drm-61-kmod
Version        : 6.1.92_2
Installed on   : Sat Nov  9 21:09:26 2024 CET
Origin         : graphics/drm-61-kmod
Architecture   : FreeBSD:14:amd64

To Reproduce
Load the driver.

Additional context
Everything works fine didn't notice it otherwise just saw it while booting up.

@wulf7
Copy link
Contributor

wulf7 commented Nov 10, 2024

It is an expected behavior. drm-kmod tries to load firmware as a file than fallbacks to load it as kmod with success.

Should be closed as NOT-A-BUG

P.S.: The messages are really confusing

@Alexander88207
Copy link
Author

Alright, closing this.

Thanks for your quick answer.

@Alexander88207 Alexander88207 closed this as not planned Won't fix, can't repro, duplicate, stale Nov 10, 2024
@wulf7
Copy link
Contributor

wulf7 commented Nov 10, 2024

Reopen NOT-A-BUG as I expect more bug reports like this one. The things are really very confusing.

@wulf7 wulf7 reopened this Nov 10, 2024
@evadot
Copy link
Contributor

evadot commented Nov 10, 2024

Both main and stable/14 (so 14.2 too) can load binary files now, I plan to add support for this in the near future (I just need to adapt the port for 13 as it doesn't have this feature and never will).
We can leave this bug open for now.

@evadot evadot changed the title drm-61-kmod: Firmware fails to load a few times until its loads correctly Firmware fails to load a few times until its loads correctly Nov 10, 2024
@evadot evadot self-assigned this Nov 10, 2024
@evadot evadot added the enhancement New feature or request label Nov 10, 2024
@yukiteruamano
Copy link

More info, I have this NOT-A-BUG using a RX580 and drm-61-kmod and FreeBSD 14.2-RELEASE-p0

2.bin: could not load binary firmware /boot/firmware/polaris10_me_2.bin either
amdgpu/polaris10_me_2.bin: could not load binary firmware /boot/firmware/amdgpu/polaris10_me_2.bin either
amdgpu_polaris10_me_2.bin: could not load binary firmware /boot/firmware/amdgpu_polaris10_me_2.bin either
drmn0: successfully loaded firmware image 'amdgpu/polaris10_me_2.bin'
polaris10_ce_2.bin: could not load binary firmware /boot/firmware/polaris10_ce_2.bin either
amdgpu/polaris10_ce_2.bin: could not load binary firmware /boot/firmware/amdgpu/polaris10_ce_2.bin either
amdgpu_polaris10_ce_2.bin: could not load binary firmware /boot/firmware/amdgpu_polaris10_ce_2.bin either
drmn0: successfully loaded firmware image 'amdgpu/polaris10_ce_2.bin'
[drm] Chained IB support enabled!
polaris10_rlc.bin: could not load binary firmware /boot/firmware/polaris10_rlc.bin either
amdgpu/polaris10_rlc.bin: could not load binary firmware /boot/firmware/amdgpu/polaris10_rlc.bin either
amdgpu_polaris10_rlc.bin: could not load binary firmware /boot/firmware/amdgpu_polaris10_rlc.bin either
drmn0: successfully loaded firmware image 'amdgpu/polaris10_rlc.bin'
polaris10_mec_2.bin: could not load binary firmware /boot/firmware/polaris10_mec_2.bin either
amdgpu/polaris10_mec_2.bin: could not load binary firmware /boot/firmware/amdgpu/polaris10_mec_2.bin either
amdgpu_polaris10_mec_2.bin: could not load binary firmware /boot/firmware/amdgpu_polaris10_mec_2.bin either
drmn0: successfully loaded firmware image 'amdgpu/polaris10_mec_2.bin'
polaris10_mec2_2.bin: could not load binary firmware /boot/firmware/polaris10_mec2_2.bin either

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants