Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SOLVED] boot stops at "switching to amdgpudrmfb from EFI"
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
Tickeldi
n00b
n00b


Joined: 17 Mar 2009
Posts: 40
Location: Norddeutschland

PostPosted: Wed Apr 05, 2017 10:14 am    Post subject: [SOLVED] boot stops at "switching to amdgpudrmfb from E Reply with quote

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
View user's profile Send private message
chithanh
Developer
Developer


Joined: 05 Aug 2006
Posts: 2152
Location: Berlin, Germany

PostPosted: Wed Apr 05, 2017 2:47 pm    Post subject: Reply with quote

Does it make a difference if you compile the amdgpu driver as module instead of built-in?
Back to top
View user's profile Send private message
DONAHUE
Watchman
Watchman


Joined: 09 Dec 2006
Posts: 7550
Location: Goose Creek SC

PostPosted: Wed Apr 05, 2017 4:41 pm    Post subject: Reply with quote

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
View user's profile Send private message
Tickeldi
n00b
n00b


Joined: 17 Mar 2009
Posts: 40
Location: Norddeutschland

PostPosted: Wed Apr 05, 2017 9:13 pm    Post subject: Reply with quote

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
View user's profile Send private message
DONAHUE
Watchman
Watchman


Joined: 09 Dec 2006
Posts: 7550
Location: Goose Creek SC

PostPosted: Thu Apr 06, 2017 1:24 am    Post subject: Reply with quote

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
View user's profile Send private message
chithanh
Developer
Developer


Joined: 05 Aug 2006
Posts: 2152
Location: Berlin, Germany

PostPosted: Thu Apr 06, 2017 10:29 am    Post subject: Reply with quote

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
View user's profile Send private message
Tickeldi
n00b
n00b


Joined: 17 Mar 2009
Posts: 40
Location: Norddeutschland

PostPosted: Fri Apr 07, 2017 10:34 pm    Post subject: Reply with quote

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
View user's profile Send private message
DONAHUE
Watchman
Watchman


Joined: 09 Dec 2006
Posts: 7550
Location: Goose Creek SC

PostPosted: Sat Apr 08, 2017 1:41 pm    Post subject: Reply with quote

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
View user's profile Send private message
Tickeldi
n00b
n00b


Joined: 17 Mar 2009
Posts: 40
Location: Norddeutschland

PostPosted: Sat Apr 08, 2017 9:29 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum