Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
I've resolved almost all dmesg ERRORS, but only one left
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Installing Gentoo
View previous topic :: View next topic  
Author Message
whjeon
n00b
n00b


Joined: 20 Nov 2017
Posts: 64
Location: Seoul,Korea(Republic of)

PostPosted: Sun Nov 04, 2018 12:33 pm    Post subject: I've resolved almost all dmesg ERRORS, but only one left Reply with quote

I'm installing Gentoo on my main desktop. (recently, decided to fully tranfer to Gentoo/Linux in all of my home machines except GF's)

And resolving dmesg errors were actually quite fun.
Almost done everything, and left only one 'failed' message.

Code:

nouveau 0000:01:00.0: DRM: failed to create kernel channel, -22


I'm using ASUS GT 1030 Graphics card with nouveau driver.
in 'make.conf' file, I enabled 'VIDEO_CARDS="nouveau"'.
Should I concern with that? or can ignore it?

Below is full '$dmesg' output.
https://paste.pound-python.org/show/nkofCwXLDL3GTCKcijjE/

If you need further information, I'll bring it. Thanks for all your support.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 43223
Location: 56N 3W

PostPosted: Sun Nov 04, 2018 1:37 pm    Post subject: Reply with quote

whjeon,

I guess this is old news. This firmware is included in linux-firmware

Code:
[    0.358800] nouveau 0000:01:00.0: DRM: VRAM: 2048 MiB
[    0.358802] nouveau 0000:01:00.0: DRM: GART: 1048576 MiB
[    0.358804] nouveau 0000:01:00.0: DRM: BIT table 'A' not found
[    0.358806] nouveau 0000:01:00.0: DRM: BIT table 'L' not found
[    0.358808] nouveau 0000:01:00.0: DRM: TMDS table version 2.0
[    0.358810] nouveau 0000:01:00.0: DRM: DCB version 4.1
[    0.358812] nouveau 0000:01:00.0: DRM: DCB outp 00: 01000342 04620010
[    0.358815] nouveau 0000:01:00.0: DRM: DCB outp 01: 01011352 04620020
[    0.358817] nouveau 0000:01:00.0: DRM: DCB conn 00: 00001031
[    0.358818] nouveau 0000:01:00.0: DRM: DCB conn 01: 00002161
[    0.372941] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    0.372943] [drm] Driver supports precise vblank timestamp query.
[    0.519248] nouveau 0000:01:00.0: DRM: failed to create kernel channel, -22
[    0.599427] nouveau 0000:01:00.0: DRM: allocated 1920x1080 fb: 0x60000, bo ffff8b379023a800
[    0.600073] fbcon: nouveaufb (fb0) is primary device
[    0.839406] Console: switching to colour frame buffer device 240x67
[    0.855488] nouveau 0000:01:00.0: fb0: nouveaufb frame buffer device
[    0.855549] [drm] Initialized nouveau 1.3.1 20120801 for 0000:01:00.0 on minor 0

but taken together it makes me ask is that firmware included in your kernel?
Your NVIDIA GP108 works without it but its required for 3D acceleration.

I say "included in your kernel" because your root is mounted read only
Code:
[    1.852821] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null)
one second later, so /lib/flimware rannot be read when nouveau initialises.

What does
Code:
$ grep -i extra_firmware /usr/src/linux/.config
say?
It should list the 20 files for your GP108 and maybe a few more too.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
whjeon
n00b
n00b


Joined: 20 Nov 2017
Posts: 64
Location: Seoul,Korea(Republic of)

PostPosted: Sun Nov 04, 2018 1:40 pm    Post subject: Reply with quote

>>> grep -i extra_firmware /usr/src/linux/.config
CONFIG_EXTRA_FIRMWARE=""

Only emptiness lives in here

I've already emerged linux-firmware but, do you mean I should do something more?
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 43223
Location: 56N 3W

PostPosted: Sun Nov 04, 2018 3:58 pm    Post subject: Reply with quote

whjeon,

Things (kernel code) that need firmware require the firmware to be available when the code initialises.
There are two ways to make this work.
a) The kernel code is built as a loadable module, when it loads it reads firmware from /lib/firmware.
b) Both the kernel code and firmware are built into the kernel.
CONFIG_EXTRA_FIRMWARE= lists the firmware that the kernel should copy from /lib/firmware into the kernel binary.

a) Is good for wifi and the like. Less so for graphics where they are needed for the console.
b) Is better for grapihcs cards.

Rebuild your kernel, listing all 20 GP108 firmware files in CONFIG_EXTRA_FIRMWARE=

Its slightly more conplex than that There is CONFIG_EXTRA_FIRMWARE_DIR=, which is hidden in your kernel just now.
It defaults to "/lib/firmware/" so your CONFIG_EXTRA_FIRMWARE will read something like "nvidia/gp108/acr/bl.bin nvidia/gp108/acr/ucode_load.bin ... "listing all 20 files.

I have an AMD card, I need
Code:
CONFIG_EXTRA_FIRMWARE="amdgpu/polaris11_ce.bin amdgpu/polaris11_ce_2.bin amdgpu/polaris11_k_smc.bin amdgpu/polaris11_mc.bin amdgpu/polaris11_me_2.bin amdgpu/polaris11_me.bin amdgpu/polaris11_mec2.bin amdgpu/polaris11_mec2_2.bin  amdgpu/polaris11_mec.bin amdgpu/polaris11_mec_2.bin amdgpu/polaris11_pfp.bin amdgpu/polaris11_pfp_2.bin amdgpu/polaris11_rlc.bin amdgpu/polaris11_sdma1.bin amdgpu/polaris11_sdma.bin amdgpu/polaris11_smc.bin amdgpu/polaris11_smc_sk.bin amdgpu/polaris11_uvd.bin amdgpu/polaris11_vce.bin amd-ucode/microcode_amd.bin amd-ucode/microcode_amd_fam15h.bin amd-ucode/microcode_amd_fam16h.bin "
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware/"


Ugly isn't it?
Make the change with menuconfig in the course of rebuilding your kernel.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Ralphred
Tux's lil' helper
Tux's lil' helper


Joined: 31 Dec 2013
Posts: 89

PostPosted: Sun Nov 04, 2018 4:10 pm    Post subject: Reply with quote

If you build the nouveau driver into the kernel statically, then you need to include the path to each firmware file in CONFIG_EXTRA_FIRMWARE="" so it's also built in.
If you build the driver as a module the kernel will attempt to load the firmware requested by the driver from /lib/firmware when the module is loaded and you can leave CONFIG_EXTRA_FIRMWARE alone.

I prefer to build the firmware in, and in the absence of a list to include in CONFIG_EXTRA_FIRMWARE="" from somewhere there are 3 ways to generate it yourself.

1: Find all the firmware files in /lib/firmware for your device, add them all and hope it builds/works.
2: Find all references to firmware in the source for your driver, judicially add them and hope it builds/works.
3: Build it as a module, boot and check what firmware was loaded in dmesg after booting.

In this case for no.1 using
Code:
cd /lib/firmware
find * -iname "*.bin" |grep "gp108"

returns 20 files, and using no.2 with
Code:
cd /usr/src/linux
grep -R "MODULE_FIRMWARE" *|grep gp108
shows the driver references 40 files (the second 20 are the quadro firmware).

In this case (excluding the quadro firmware) the files from 1 and 2 match, I would include these in CONFIG_EXTRA_FIRMWARE and build/boot to see if it works.
If it didn't build/work then I'd default to method 3 and see where my list went wrong.

For simplicity, this generates a list on a single line for cutting/pasting into .config
Code:
cd /lib/firmware
find * -iname "*.bin"|grep gp108|xargs echo -n " ";echo
Back to top
View user's profile Send private message
whjeon
n00b
n00b


Joined: 20 Nov 2017
Posts: 64
Location: Seoul,Korea(Republic of)

PostPosted: Sun Nov 04, 2018 4:25 pm    Post subject: Reply with quote

OK, appreciate your support, and tried two ways.

First, I left it built in and added all files you've shown.

fail again.

Second, I changed Nouveau graphics driver to module, and
left that files blank.

fail again.

copied $dmesg | grep nouveau
Code:

 >>> dmesg | grep nouveau
[    2.611719] fb: switching to nouveaufb from EFI VGA
[    2.611815] nouveau 0000:01:00.0: NVIDIA GP108 (138000a1)
[    2.724595] nouveau 0000:01:00.0: bios: version 86.08.0c.00.1e
[    2.724983] nouveau 0000:01:00.0: fb: 2048 MiB GDDR5
[    2.726295] nouveau 0000:01:00.0: DRM: VRAM: 2048 MiB
[    2.726296] nouveau 0000:01:00.0: DRM: GART: 1048576 MiB
[    2.726298] nouveau 0000:01:00.0: DRM: BIT table 'A' not found
[    2.726299] nouveau 0000:01:00.0: DRM: BIT table 'L' not found
[    2.726300] nouveau 0000:01:00.0: DRM: TMDS table version 2.0
[    2.726300] nouveau 0000:01:00.0: DRM: DCB version 4.1
[    2.726302] nouveau 0000:01:00.0: DRM: DCB outp 00: 01000342 04620010
[    2.726303] nouveau 0000:01:00.0: DRM: DCB outp 01: 01011352 04620020
[    2.726304] nouveau 0000:01:00.0: DRM: DCB conn 00: 00001031
[    2.726305] nouveau 0000:01:00.0: DRM: DCB conn 01: 00002161
[    2.883048] nouveau 0000:01:00.0: DRM: failed to create kernel channel, -22
[    2.970772] nouveau 0000:01:00.0: DRM: allocated 1920x1080 fb: 0x60000, bo ffff8ee3108f2800
[    2.970851] fbcon: nouveaufb (fb0) is primary device
[    3.214780] nouveau 0000:01:00.0: fb0: nouveaufb frame buffer device
[    3.218033] [drm] Initialized nouveau 1.3.1 20120801 for 0000:01:00.0 on minor 0


all dmesg is here: https://paste.pound-python.org/show/Lie49uLFJCHUNQHqKsXc/

[edit: 0]
I was an idiot, should read more carefully.
I found what my graphics card need, and added them.
compiling now.


Last edited by whjeon on Sun Nov 04, 2018 4:29 pm; edited 1 time in total
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 43223
Location: 56N 3W

PostPosted: Sun Nov 04, 2018 4:26 pm    Post subject: Reply with quote

whjeon,

What does
Code:
uname -a
show?

-- edit --

Oops ...
Code:
#5 SMP Mon Nov 5 01:18:53 KST 2018
is the bit I wanted.
That looks good.

Put your kernel .config onto a pastebin please.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
dmpogo
Advocate
Advocate


Joined: 02 Sep 2004
Posts: 2512
Location: Canada

PostPosted: Sun Nov 04, 2018 4:33 pm    Post subject: Reply with quote

If video driver requires firmware, I woudl actuallt prefer to have it as a module. Perhaps this is experience with proprietary nvidia-drivers speaks (where there is no other option anyway),
but I used few time the possibility to reload the module and, thus. reinitiolize firmware, when graphics was misbehaving.

Also, if you have build-in firmware, you must not forget to rebuild the kernel if it changes (though for older cards, this may never happen, but if you are playing with new cards, since is something to remember. Again, if there is 20 firmware blobs, who knows if something changes on the next linux-firmware update ? Also, do you need by chance proprietary firmware from nvidia for your card ? (it is in nvidia-firmware ).
Back to top
View user's profile Send private message
whjeon
n00b
n00b


Joined: 20 Nov 2017
Posts: 64
Location: Seoul,Korea(Republic of)

PostPosted: Sun Nov 04, 2018 4:34 pm    Post subject: Reply with quote

I've copied output of command below
Code:

cd /lib/firmware
find * -iname "*.bin"|grep gp108|xargs echo -n " ";echo


changed Nouveau driver built in, and failed

link 0: dmesg https://paste.pound-python.org/show/NgwZFX363eLlgPJBDt6w/
link 1: .config https://paste.pound-python.org/show/nYI9ZY3HvybzFcebXokF/

[EDIT: 0] for information
Every change I made, I did as below
Code:

#cd /usr/src/linux
#make menuconfig
#make -j4
#make modules_install
#make install
#genkernel --microcode --install initramfs
#grub-mkconfig -o /boot/grub/grub.cfg
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 43223
Location: 56N 3W

PostPosted: Sun Nov 04, 2018 5:31 pm    Post subject: Reply with quote

whjeon,

Code:
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"

I have
Code:
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware/"
I'm not sure if the trailing / matters or not. It depends if the kernel adds it when it concatenates CONFIG_EXTRA_FIRMWARE_DIR with the list of files.

Your build command looks fine as long as /boot is mounted.

The date/time in
Code:
uname -a
is the build time of the running kernel. Its surprising how many people (me included) have fixed their issue but don't know it because they are not running the kernel they think they are.

Your kernel is showing
Code:
#6 SMP Mon Nov 5 01:28:27 KST 2018
That's the sixth build.
The last link you posted showed #5.

dmpogo,

You can't unload a module in use and your video driver is always in use.
Well, you can use -f but that usually makes a mess and if it works, will leave you without a console.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Ralphred
Tux's lil' helper
Tux's lil' helper


Joined: 31 Dec 2013
Posts: 89

PostPosted: Mon Nov 05, 2018 1:46 am    Post subject: Reply with quote

NeddySeagoon wrote:
I'm not sure if the trailing / matters or not. It depends if the kernel adds it

It doesn't matter ATM, mine compiles fine without the trailing /, also if it can't find the firmware files at build time make errors out, so is a good indicator.

Also, Neddy can probably answer this, if you are building with genkernel do you not have to do something specific to get the firmware files into initramfs? (I've never used genkernel so, no idea)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Installing Gentoo 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