View previous topic :: View next topic |
Author |
Message |
Tickeldi n00b

Joined: 17 Mar 2009 Posts: 43 Location: Norddeutschland
|
Posted: Wed Apr 05, 2017 10:14 am Post subject: [SOLVED] boot stops at "switching to amdgpudrmfb from E |
|
|
As the title says, the kernel boot up freezes and is displaying the following message last
"fb: switching to amdgpudrmfb from EFI VGA"
I've got this problem with the Kernel versions 4.9.6 and 4.9.16 but not 4.4.26 which is running right now on this machine.
Here a quite literal screenshot of the situation:
http://i.imgur.com/V9TiaaD.jpg
This is my graphics card:
Quote: | 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tobago PRO [Radeon R7 360 / R9 360 OEM] (rev 81) |
Here is the .config for the two kernels that aren't working:
https://pastebin.com/fa5TERCv
At the moment it builds the amdgpu graphics driver but I also tried the classic "radeon" one (I actually tried that one first).
Any idea what I am doing wrong? _________________ "Linux basiert doch auf DOS oder nicht?" *schüttel*
Last edited by Tickeldi on Sat Apr 08, 2017 9:31 pm; edited 1 time in total |
|
Back to top |
|
 |
chithanh Retired Dev


Joined: 05 Aug 2006 Posts: 2158 Location: Berlin, Germany
|
Posted: Wed Apr 05, 2017 2:47 pm Post subject: |
|
|
Does it make a difference if you compile the amdgpu driver as module instead of built-in? |
|
Back to top |
|
 |
DONAHUE Watchman


Joined: 09 Dec 2006 Posts: 7651 Location: Goose Creek SC
|
Posted: Wed Apr 05, 2017 4:41 pm Post subject: |
|
|
If chithanh suggestion does not get it done; suggest booting a livecd in uefi mode, mounting the root partition, running grep -i fb /mnt/gentoo.
Suspect kernel load succeeds but firmware load fails. See https://stargazerslounge.com/blogs/entry/1946-kernel-4105-boot-problem-with-radeon-r7-370/ which describes similar symptoms.
Looks like linux-firmware and radeon-ucode are lagging the problem possibly related to amd not documenting the Tobago chipset. _________________ Defund the FCC. |
|
Back to top |
|
 |
Tickeldi n00b

Joined: 17 Mar 2009 Posts: 43 Location: Norddeutschland
|
Posted: Wed Apr 05, 2017 9:13 pm Post subject: |
|
|
Chithanhs suggestion did get it done. I am writing this from a system running on the new kernel .
As a module, amdgpu just "takes" the firmware files it needs from the filesystem right?
Your explanation makes sense @DONAHUE but just to be sure that I didn't make a mistake here:
I used https://wiki.gentoo.org/wiki/AMDGPU to look up the needed files.
The relevant entry for the firmware files in my .config:
Quote: | CONFIG_EXTRA_FIRMWARE="radeon/bonaire_ce.bin radeon/bonaire_mc.bin radeon/bonaire_me.bin radeon/bonaire_mec.bin radeon/bonaire_pfp.bin radeon/bonaire_rlc.bin radeon/bonaire_sdma1.bin radeon/bonaire_sdma.bin radeon/bonaire_smc.bin radeon/bonaire_uvd.bin radeon/bonaire_vce.bin" |
Is there a way to find out which firmware files were really loaded by the amdgpu module? dmesg doesn't tell.
EDIT:
Quote: | [ 2.063240] [drm] Found UVD firmware Version: 1.64 Family ID: 9
[ 2.063457] amdgpu 0000:01:00.0: fence driver on ring 11 use gpu addr 0x0000000000c39d30, cpu addr 0xffffc90003238d30
[ 2.063463] [drm] Found VCE firmware Version: 50.10 Binary ID: 2 |
It doesn't tell me filenames at least. _________________ "Linux basiert doch auf DOS oder nicht?" *schüttel* |
|
Back to top |
|
 |
DONAHUE Watchman


Joined: 09 Dec 2006 Posts: 7651 Location: Goose Creek SC
|
Posted: Thu Apr 06, 2017 1:24 am Post subject: |
|
|
I expected to see filenames in dmesg, after you pointed it out I noted their absence in my dmesg also. Either my memory is faulty (likely) or the trend toward eliminating user friendly messages has eliminated the value of running dmesg | grep -i firmware.
It's good the kernel can still find the correct firmware if allowed to do so. _________________ Defund the FCC. |
|
Back to top |
|
 |
chithanh Retired Dev


Joined: 05 Aug 2006 Posts: 2158 Location: Berlin, Germany
|
Posted: Thu Apr 06, 2017 10:29 am Post subject: |
|
|
If building amdgpu as module works, then that points to a missing firmware file in CONFIG_EXTRA_FIRMWARE.
When firmware is missing, the boot process will stall for ~60 seconds per missing firmware file and finally amdgpu initialization will fail.
But you should be able to login via ssh and look at dmesg which file was missing. |
|
Back to top |
|
 |
Tickeldi n00b

Joined: 17 Mar 2009 Posts: 43 Location: Norddeutschland
|
Posted: Fri Apr 07, 2017 10:34 pm Post subject: |
|
|
chithanh wrote: | If building amdgpu as module works, then that points to a missing firmware file in CONFIG_EXTRA_FIRMWARE. |
Thats what I was thinking which is why I posted the configuration I had for that keyword.
chithanh wrote: | When firmware is missing, the boot process will stall for ~60 seconds per missing firmware file and finally amdgpu initialization will fail.
But you should be able to login via ssh and look at dmesg which file was missing. |
Thats a very good idea. I didn't try that before because I thought the whole thing froze. I will try that tomorrow and see which file was missing. _________________ "Linux basiert doch auf DOS oder nicht?" *schüttel* |
|
Back to top |
|
 |
DONAHUE Watchman


Joined: 09 Dec 2006 Posts: 7651 Location: Goose Creek SC
|
Posted: Sat Apr 08, 2017 1:41 pm Post subject: |
|
|
dmesg does show the name of first missing firmware file of several, example: Quote: | [ 0.570113] [drm] amdgpu kernel modesetting enabled.
[ 0.570128] checking generic (c0000000 7e9000) vs hw (c0000000 10000000)
[ 0.570128] fb: switching to amdgpudrmfb from EFI VGA
[ 0.570145] Console: switching to colour dummy device 80x25
[ 0.570221] [drm] initializing kernel modesetting (POLARIS11 0x1002:0x67EF 0x1462:0x809D 0xCF).
[ 0.570226] [drm] register mmio base: 0xDFB00000
[ 0.570227] [drm] register mmio size: 262144
[ 0.570231] [drm] doorbell mmio base: 0xD0000000
[ 0.570232] [drm] doorbell mmio size: 2097152
[ 0.570237] [drm] probing gen 2 caps for device 8086:1905 = 361ac83/e
[ 0.570239] [drm] probing mlw for device 8086:1905 = 361ac83
[ 0.570244] [drm] UVD is enabled in VM mode
[ 0.570245] [drm] VCE enabled in VM mode
[ 0.742940] [drm] BIOS signature incorrect 0 0
[ 0.742943] amdgpu 0000:02:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff
[ 0.742963] ATOM BIOS: 113
[ 0.742969] [drm] GPU post is not needed
[ 0.743028] amdgpu 0000:02:00.0: Direct firmware load for amdgpu/polaris11_mc.bin failed with error -2
[ 0.743031] amdgpu 0000:02:00.0: Falling back to user helper
[ 1.552241] clocksource: Switched to clocksource tsc
[ 62.432134] mc: Failed to load firmware "amdgpu/polaris11_mc.bin"
[ 62.432138] [drm:gmc_v8_0_sw_init] *ERROR* Failed to load mc firmware!
[ 62.432141] [drm:amdgpu_device_init] *ERROR* sw_init of IP block <gmc_v8_0> failed -11
[ 62.432143] amdgpu 0000:02:00.0: amdgpu_init failed
[ 62.432145] amdgpu 0000:02:00.0: Fatal error during GPU init
[ 62.432146] [drm] amdgpu: finishing device.
[ 62.432148] [TTM] Memory type 2 has not been initialized
[ 62.432393] amdgpu: probe of 0000:02:00.0 failed with error -11 |
_________________ Defund the FCC. |
|
Back to top |
|
 |
Tickeldi n00b

Joined: 17 Mar 2009 Posts: 43 Location: Norddeutschland
|
Posted: Sat Apr 08, 2017 9:29 pm Post subject: |
|
|
Yes it does.
It won't show the path to the files if they are being loaded without error though.
However. The entry that was missing was "radeon/bonaire_k_smc.bin". So the wiki is - at least in my case - incomplete.
To generate the names of the correct firmware files for my card they instruct me to take the result of
echo Quote: | radeon/bonaire_{ce,mc,me,mec,pfp,rlc,sdma1,sdma,smc,uvd,vce}.bin | . To work for me it would need to be
Quote: | radeon/bonaire_{ce,k_smc,mc,me,mec,pfp,rlc,sdma1,sdma,smc,uvd,vce}.bin | .
Do I need an account to propose changes there?
Anyway. This is solved I guess. Thanks for the help!
EDIT: I've made an account in the wiki and updated the page. _________________ "Linux basiert doch auf DOS oder nicht?" *schüttel* |
|
Back to top |
|
 |
|