# Post Install Hardware Kernel/Module Configurations

## Yankee17

I just recently came back to Gentoo after a long hiatus.  I have bounced between Linux Mint and Sabayon but now have come back to Gentoo.  Overall the installation was successful, except I can't seem to get all of my hardware configured correctly.  After a large amount of googling and research I still have been unable to get the a bunch of the systems configured.  When I boot using SystemRescueCD though I know what I am missing.  

Using Kernel 4.4.6-gentoo

My output from lspci -kvm is:

```

Device:   00:00.0

Class:   Host bridge

Vendor:   Intel Corporation

Device:   Sky Lake Host Bridge/DRAM Registers

SVendor:   CLEVO/KAPOK Computer

SDevice:   Sky Lake Host Bridge/DRAM Registers

Rev:   08

Device:   00:02.0

Class:   VGA compatible controller

Vendor:   Intel Corporation

Device:   Sky Lake Integrated Graphics

SVendor:   CLEVO/KAPOK Computer

SDevice:   Sky Lake Integrated Graphics

Rev:   07

Driver:   i915

Device:   00:14.0

Class:   USB controller

Vendor:   Intel Corporation

Device:   Device 9d2f

SVendor:   CLEVO/KAPOK Computer

SDevice:   Device 2425

Rev:   21

ProgIf:   30

```

From SystemRescueCD this should be xhci-hcd (driver) and xhci-pci (module), but I all the guides I follow don't seem to work.

```

Device:   00:16.0

Class:   Communication controller

Vendor:   Intel Corporation

Device:   Device 9d3a

SVendor:   CLEVO/KAPOK Computer

SDevice:   Device 2425

Rev:   21

```

From SystemRescueCD this should be mei_me (driver) and mei_me (module), but I all the guides I follow don't seem to work.

```

Device:   00:17.0

Class:   SATA controller

Vendor:   Intel Corporation

Device:   Device 9d03

SVendor:   CLEVO/KAPOK Computer

SDevice:   Device 2425

Rev:   21

ProgIf:   01

Driver:   ahci

Device:   00:1c.0

Class:   PCI bridge

Vendor:   Intel Corporation

Device:   Device 9d10

Rev:   f1

Driver:   pcieport

Module:   shpchp

Device:   00:1c.1

Class:   PCI bridge

Vendor:   Intel Corporation

Device:   Device 9d11

Rev:   f1

Driver:   pcieport

Module:   shpchp

Device:   00:1f.0

Class:   ISA bridge

Vendor:   Intel Corporation

Device:   Device 9d48

SVendor:   CLEVO/KAPOK Computer

SDevice:   Device 2425

Rev:   21

Device:   00:1f.2

Class:   Memory controller

Vendor:   Intel Corporation

Device:   Device 9d21

SVendor:   CLEVO/KAPOK Computer

SDevice:   Device 2425

Rev:   21

Device:   00:1f.3

Class:   Audio device

Vendor:   Intel Corporation

Device:   Device 9d70

SVendor:   CLEVO/KAPOK Computer

SDevice:   Device 2425

Rev:   21

```

From SystemRescueCD this should be snd_hda_intel (driver) and snd_hda_intel (module), but I all the guides I follow don't seem to work.

```

Device:   00:1f.4

Class:   SMBus

Vendor:   Intel Corporation

Device:   Device 9d23

SVendor:   CLEVO/KAPOK Computer

SDevice:   Device 2425

Rev:   21

```

From SystemRescueCD this should be i2c-i801 (module), but I all the guides I follow don't seem to work.

```

Device:   01:00.0

Class:   Unassigned class [ff00]

Vendor:   Realtek Semiconductor Co., Ltd.

Device:   Device 5287

SVendor:   CLEVO/KAPOK Computer

SDevice:   Device 2425

Rev:   01

```

From SystemRescueCD this should be rtsx-hcd (driver) and rtsx-pci (module), but I all the guides I follow don't seem to work.

```

Device:   01:00.1

Class:   Ethernet controller

Vendor:   Realtek Semiconductor Co., Ltd.

Device:   RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller

SVendor:   CLEVO/KAPOK Computer

SDevice:   RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller

Rev:   12

Driver:   r8169

Module:   r8169

Device:   02:00.0

Class:   Network controller

Vendor:   Intel Corporation

Device:   Wireless 8260

SVendor:   Intel Corporation

SDevice:   Wireless 8260

Rev:   3a

Driver:   iwlwifi

Module:   iwlwifi

```

The first two appear to be working properly except there is a firmware error in dmesg:

```

[    0.336549] i915 0000:00:02.0: Direct firmware load for i915/skl_dmc_ver1.bin failed with error -2

[    0.336885] [drm:i915_firmware_load_error_print] *ERROR* failed to load firmware i915/skl_dmc_ver1.bin (0)

[    0.337172] [drm:i915_firmware_load_error_print] *ERROR* The driver is built-in, so to load the firmware you need to

               include it either in the kernel (see CONFIG_EXTRA_FIRMWARE) or

               in your initrd/initramfs image.

[    0.337730] [drm] Memory usable by graphics device = 4096M

[    0.337970] [drm] Replacing VGA console driver

[    0.339588] Console: switching to colour dummy device 80x25

[    0.346440] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).

[    0.346445] [drm] Driver supports precise vblank timestamp query.

[    0.351145] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem

[    0.358111] i915 0000:00:02.0: Direct firmware load for i915/skl_guc_ver4.bin failed with error -2

[    0.358119] [drm:intel_guc_ucode_init] *ERROR* Failed to fetch GuC firmware from i915/skl_guc_ver4.bin (error -2)

[    0.360509] [drm:i915_gem_init_hw] *ERROR* Failed to initialize GuC, error -5 (ignored)

```

Help with any of the unrecognized hardware or problem would be appreciated.

[Moderator edit: added lots of [code] tags to preserve output layout. -Hu]

----------

## fedeliallalinea

 *Yankee17 wrote:*   

> 
> 
> ```
> [    0.337172] [drm:i915_firmware_load_error_print] *ERROR* The driver is built-in, so to load the firmware you need to
> 
> ...

 

Try to add in kernel menu

```
Device Drivers  ---> Generic Driver Options  ---> External firmware blobs to build into the kernel binary ---> i915/skl_dmc_ver1.bin i915/skl_guc_ver4.bin

Device Drivers  ---> Generic Driver Options  ---> Firmware blobs root directory ---> /lib/firmware
```

----------

## Yankee17

I have tried to do this multiple time, but I still get the same errors as before.

```

[    0.344682] i915 0000:00:02.0: Direct firmware load for i915/skl_dmc_ver1.bin failed with error -2

[    0.344690] [drm:i915_firmware_load_error_print] *ERROR* failed to load firmware i915/skl_dmc_ver1.bin (0)

[    0.344695] [drm:i915_firmware_load_error_print] *ERROR* The driver is built-in, so to load the firmware you need to

               include it either in the kernel (see CONFIG_EXTRA_FIRMWARE) or

               in your initrd/initramfs image.

```

Everything seems right when I configure this, but nothing changes.

```

[    0.362307] i915 0000:00:02.0: Direct firmware load for i915/skl_guc_ver4.bin failed with error -2

[    0.362316] [drm:intel_guc_ucode_init] *ERROR* Failed to fetch GuC firmware from i915/skl_guc_ver4.bin (error -2)

[    0.364839] [drm:i915_gem_init_hw] *ERROR* Failed to initialize GuC, error -5 (ignored)

```

The second one: i915/skl_guc_ver4.bin no longer exists cause I deleted it because I needed it to point to i915/skl_guc_ver6.bin

[Moderator edit: added [code] tags to preserve output layout. Again. -Hu]

----------

## Hu

Any time you make a kernel change that should have worked, and it does not, you should start by checking that the new failure was produced while running the updated kernel.  If you missed a step installing the new kernel, you might still be using the old known-bad kernel despite having successfully fixed it in the latest rebuild.  Examine the output of uname -a to confirm that the kernel that printed the most recent message was built using your new configuration.  You could also examine its /proc/config.gz to confirm that it was configured with the firmware built-in as you intended.

----------

