You are not logged in.
My laptop use intel i7-6500U + amd r5 m430.
After upgrade (4.19.1), kernal can't load the gpu firmware anymore.
linux-firmware is the last version and I try to reinstall but not solve this.
$ dmesg | grep amdgpu
[ 0.000000] Command line: initrd=\intel-ucode.img initrd=\initramfs-linux.img root=/dev/sda2 rw radeon.si_support=0 amdgpu.si_support=1
[ 0.166929] Kernel command line: initrd=\intel-ucode.img initrd=\initramfs-linux.img root=/dev/sda2 rw radeon.si_support=0 amdgpu.si_support=1
[ 1.502494] [drm] amdgpu kernel modesetting enabled.
[ 1.503467] amdgpu 0000:03:00.0: enabling device (0500 -> 0503)
[ 1.503670] [drm:amdgpu_ucode_get_load_type [amdgpu]] *ERROR* Unknown firmware load type
[ 1.517397] amdgpu 0000:03:00.0: Direct firmware load for amdgpu/hainan_mc.bin failed with error -2
[ 1.517399] amdgpu 0000:03:00.0: si_mc: Failed to load firmware "amdgpu/hainan_mc.bin"
[ 1.517435] amdgpu 0000:03:00.0: Failed to load mc firmware!
[ 1.517534] [drm:amdgpu_device_init.cold.14 [amdgpu]] *ERROR* sw_init of IP block <gmc_v6_0> failed -2
[ 1.517593] amdgpu 0000:03:00.0: amdgpu_device_ip_init failed
[ 1.517632] amdgpu 0000:03:00.0: Fatal error during GPU init
[ 1.517657] [drm] amdgpu: finishing device.
[ 1.518035] amdgpu: probe of 0000:03:00.0 failed with error -2
Final solution:
https://git.kernel.org/pub/scm/linux/ke … 5c6ef41e0d
It seems the MODULE_FIRMWARE line has always been missing for hainan_mc.bin from the amdgpu module.
When it shared the same path as the radeon module which did list hainan_mc.bin then so long as both modules were loaded into the initrd the firmware would be pulled in by the radeon module.
Edit:
@Amao_Three please try adding /usr/lib/firmware/amdgpu/hainan_mc.bin to the FILES array of mkinitcpio.conf rebuild the initrd and see if that has any effect if not please post and updated dmesg.
Last edited by Amao_Three (2018-11-17 19:10:42)
Offline
Does your /usr/lib/firmware/amdgpu/ directory contain the file in question (hainan_mc.bin)? I don't really know much about modules, but here's my thinking: either the file itself is missing even though you have installed and also tried reinstalling the linux-firmware package, or for some reason cannot be accessed during boot. What about mentions of amdgpu in
lsinitcpio /boot/initramfs-linux.img
?
Offline
Looks like it's a known problem that should be harmless.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
@Lone_wolf
[ 1.517397] amdgpu 0000:03:00.0: Direct firmware load for amdgpu/hainan_mc.bin failed with error -2
Does that not indicate the fallback to direct firmware loading also failed?
Offline
Does your /usr/lib/firmware/amdgpu/ directory contain the file in question (hainan_mc.bin)? I don't really know much about modules, but here's my thinking: either the file itself is missing even though you have installed and also tried reinstalling the linux-firmware package, or for some reason cannot be accessed during boot. What about mentions of amdgpu in
lsinitcpio /boot/initramfs-linux.img
?
$ lsinitcpio /boot/initramfs-linux.img | grep hainan
usr/lib/firmware/radeon/hainan_pfp.bin
usr/lib/firmware/radeon/hainan_me.bin
usr/lib/firmware/radeon/hainan_ce.bin
usr/lib/firmware/radeon/hainan_mc.bin
usr/lib/firmware/radeon/hainan_rlc.bin
usr/lib/firmware/radeon/hainan_smc.bin
usr/lib/firmware/radeon/hainan_k_smc.bin
usr/lib/firmware/amdgpu/hainan_smc.bin
usr/lib/firmware/amdgpu/hainan_k_smc.bin
usr/lib/firmware/amdgpu/hainan_pfp.bin
usr/lib/firmware/amdgpu/hainan_me.bin
usr/lib/firmware/amdgpu/hainan_ce.bin
usr/lib/firmware/amdgpu/hainan_rlc.bin
amdgpu/hainan_mc.bin is lost.
I try to reinstall linux and linux-firmware, but not work still.
lspci can found my card, but it not appear in the xrander provider list (means not work).
Last edited by Amao_Three (2018-11-15 02:32:02)
Offline
modinfo -k 4.19.1-arch1-1-ARCH amdgpu | grep amdgpu/hainan_mc.bin
The module does not list that firmware as being needed by the module so mkinitcpio does not include it in the initrd.
Offline
modinfo -k 4.19.1-arch1-1-ARCH amdgpu | grep amdgpu/hainan_mc.bin
The module does not list that firmware as being needed by the module so mkinitcpio does not include it in the initrd.
In that case, you can try to add it manually with the FILES array in mkinitcpio.conf. If that works, then I think a bug report for amdgpu is in order.
FILES=(/usr/lib/firmware/amdgpu/hainan_mc.bin)
Last edited by progandy (2018-11-15 09:01:36)
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |
Offline
@Lone_wolf
[ 1.517397] amdgpu 0000:03:00.0: Direct firmware load for amdgpu/hainan_mc.bin failed with error -2
Does that not indicate the fallback to direct firmware loading also failed?
Yup, I missed that part.
ddg'ing that error message gives https://bbs.archlinux.org/viewtopic.php?id=241528 as first result .
It's in laptop forum ( which i rarely check) and shows a solution/workaround that works for atleast 2 people.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
@Lone_Wolf: That workaround is probably not working anymore since in kernel 4.19 amdgpu changed the firmware path from radeon/hainan_mc.bin to amdgpu/hainan_mc.bin.
Last edited by progandy (2018-11-15 11:29:30)
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |
Offline
https://git.kernel.org/pub/scm/linux/ke … 5c6ef41e0d
It seems the MODULE_FIRMWARE line has always been missing for hainan_mc.bin from the amdgpu module.
When it shared the same path as the radeon module which did list hainan_mc.bin then so long as both modules were loaded into the initrd the firmware would be pulled in by the radeon module.
Edit:
@Amao_Three please try adding /usr/lib/firmware/amdgpu/hainan_mc.bin to the FILES array of mkinitcpio.conf rebuild the initrd and see if that has any effect if not please post and updated dmesg.
Last edited by loqs (2018-11-15 13:21:33)
Offline
https://git.kernel.org/pub/scm/linux/ke … 5c6ef41e0d
It seems the MODULE_FIRMWARE line has always been missing for hainan_mc.bin from the amdgpu module.
When it shared the same path as the radeon module which did list hainan_mc.bin then so long as both modules were loaded into the initrd the firmware would be pulled in by the radeon module.
Edit:
@Amao_Three please try adding /usr/lib/firmware/amdgpu/hainan_mc.bin to the FILES array of mkinitcpio.conf rebuild the initrd and see if that has any effect if not please post and updated dmesg.
@loqs
That's work! Thanks a lot.
Last edited by Amao_Three (2018-11-17 19:07:48)
Offline
Please consider sending a mailing to the amd-gfx list to let upstream know that
drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c is missing the following from the its list of firmwares
MODULE_FIRMWARE("amdgpu/hainan_mc.bin");
and reference this thread
Offline
I already sent the report to the amdgpu section of the freedesktop bug tracker.
https://bugs.freedesktop.org/show_bug.cgi?id=108780
Last edited by progandy (2018-11-17 19:50:03)
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |
Offline
Thank you progandy.
Offline