# [solved] dhcpcd: can't get an ip from my router

## JohnBlbec

hi men,

i have troubles to make my wired network working. i've  spent a couple of weeks trying many configs changes but without success. my eth iface always gets 169.254.44.99 (IPv4LL, see a log below). when i try to set a static ip addr i'm even not able to ping my router. my firewall is not a problem as i've tried to switch it off but the behavior of dhcpcd is the same. i've tried a different eth card (reliable INTEL PRO/1000 CT pcie) but hasn't helped... :-/

router works great with my old pc with gentoo installed (same dhcp and net config). also when i boot systemrescuecd (last release with gentoo) it works great as well so router, cable, network and pc are ok i'm pretty sure. time to time during reboot it gets ip address and works but it happens very seldom. also time to time dhcpcd automaticaly reloads a request (without any changes) itself and gets the right ip addr but it takes about 2 hours (it happend twice). i think there might be a problem with my kernel configuration but i'll really appreciate your help because maybe i'm wrong...

my hw: router TP-LINK Archer C5400, MB Asus PRIME X299-A, eth I219-V (on MB), CPU i9-7940X

dmesg | grep e1000e

```

[    6.460474] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k

[    6.460475] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.

[    6.462457] e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode

[    6.712848] e1000e 0000:00:1f.6 0000:00:1f.6 (uninitialized): registered PHC clock

[    6.793519] e1000e 0000:00:1f.6 eth0: (PCI Express:2.5GT/s:Width x1) 4c:ed:fb:42:74:c5

[    6.793520] e1000e 0000:00:1f.6 eth0: Intel(R) PRO/1000 Network Connection

[    6.793571] e1000e 0000:00:1f.6 eth0: MAC: 12, PHY: 12, PBA No: FFFFFF-0FF

[    6.795934] e1000e 0000:00:1f.6 enp0s31f6: renamed from eth0

```

when i try to get an ip addr manually using dhcpcd after reboot it always finishes just like that:

dhcpcd -kn -t 10 -w --waitip=4 -d enp0s31f6

```

sending signal HUP to pid 6683

dhcpcd-7.1.1 starting

enp0s31f6: executing `/lib/dhcpcd/dhcpcd-run-hooks' PREINIT

enp0s31f6: executing `/lib/dhcpcd/dhcpcd-run-hooks' CARRIER

DUID 00:01:00:01:1a:7d:2a:07:00:1c:c0:4c:41:c9

enp0s31f6: IAID fb:42:74:c5

enp0s31f6: delaying IPv4 for 0.3 seconds

enp0s31f6: soliciting a DHCP lease

enp0s31f6: sending DISCOVER (xid 0x8e16232c), next in 4.8 seconds

enp0s31f6: sending DISCOVER (xid 0x8e16232c), next in 7.7 seconds

enp0s31f6: using IPv4LL address 169.254.46.99

enp0s31f6: adding route to 169.254.0.0/16

enp0s31f6: adding default route

enp0s31f6: ARP announcing 169.254.46.99 (1 of 2), next in 2.0 seconds

enp0s31f6: executing `/lib/dhcpcd/dhcpcd-run-hooks' IPV4LL

forking to background

forked to background, child pid 7414

```

my configs: openrc (no systemd), eudev, no selinux, kernel compiled using genkernel

kernel gentoo-sources-4.19.27-r1

lsmod

dmesg

cat /etc/conf.d/net

```

#

# lo

#

dns_domain_lo="homenetwork"

 

#

# enp0s31f6 (int. intel)

#

config_enp0s31f6="dhcp"

dhcpd_enp0s31f6="-t 5"

dhcp_enp0s31f6="nonis"

#enable_ipv6_enp0s31f6="false"

dns_domain_enp0s31f6="homenetwork"

#

fallback_enp0s31f6="192.168.1.3/24"

fallback_route_enp0s31f6="default via 192.168.1.1"

```

cat /etc/dhcpcd.conf | grep -v ^# | grep -v ^$

```

hostname

duid

persistent

option rapid_commit

option domain_name_servers, domain_name, domain_search, host_name

option classless_static_routes

option interface_mtu

require dhcp_server_identifier

slaac private

timeout 60

```

i'd say that eth card is not supported by e1000e but systemrescuecd uses the same module and it works like a charm :-/

does anybody has experience with the same eth card on that MB?Last edited by JohnBlbec on Thu Apr 18, 2019 11:22 am; edited 2 times in total

----------

## UberLord

Try the usual suspects - comment out rapid_commit, swap clientid for duid.

But basically your router is not replying to your DHCP request.

----------

## JohnBlbec

 *UberLord wrote:*   

> Try the usual suspects - comment out rapid_commit, swap clientid for duid.
> 
> But basically your router is not replying to your DHCP request.

 

well, it hasn't helped. no change.

i've noticed ethtool says "Link detected: no" and i don't know why :-(

it looks like it is not able to detect/set speed and duplex mode because it says unknow or error. i've tried to set it manually using ethtool -s enp0s31f6 speed 1000 duplex full autoneg on but it changes nothing...

wtf why sytemrescuecd works ok with the same hw and cable?Last edited by JohnBlbec on Mon Apr 15, 2019 1:19 pm; edited 1 time in total

----------

## UberLord

```
dhcp_enp0s31f6="-t 5"

dhcp_enp0s31f6="nonis" 
```

That part of your config doesn't look correct.

----------

## Jaglover

 *Quote:*   

> i've noticed ethtool says "Link detected: no" and i don't know why 

 

This is your problem, indeed. Do you have more than one ethernet port?

----------

## JohnBlbec

 *Jaglover wrote:*   

>  *Quote:*   i've noticed ethtool says "Link detected: no" and i don't know why :-( 
> 
> This is your problem, indeed. Do you have more than one ethernet port?

 

as i wrote above i've tested also intel 1000/pro eth card inserted in pcie but w/o success. that's why i think the problem might be in the kernel settings...

----------

## JohnBlbec

 *UberLord wrote:*   

> 
> 
> ```
> dhcp_enp0s31f6="-t 5"
> 
> ...

 

this part is correct as i'm using it on that pc which i'm using for writing this message and it works years like a charm!

what do you think is wrong?

[edited]

yes there is a typo but only here in the forum: dhcp_enp0s31f6="-t 5" should be dhcpd_enp0s31f6="-t 5" (fixed)Last edited by JohnBlbec on Mon Apr 15, 2019 1:31 pm; edited 4 times in total

----------

## Jaglover

So you say it is possible the cable is connected to the wrong port?   :Confused: 

----------

## JohnBlbec

 *Jaglover wrote:*   

> So you say it is possible the cable is connected to the wrong port?  :?

 

no it is not possible because the MB has the only eth port and the same port and cable works with systemrescuecd and also in w10.

and btw. the eth socket has two led lights - green and orange - both are on. green means connection is ok and orange means 1000 speed even ethtool says link not detected.

(hey men, i've been using gentoo since 2003 so i'm really not a beginner who is able to insert cable to a different port)Last edited by JohnBlbec on Mon Apr 15, 2019 1:55 pm; edited 1 time in total

----------

## UberLord

 *JohnBlbec wrote:*   

>  *UberLord wrote:*   
> 
> ```
> dhcp_enp0s31f6="-t 5"
> 
> ...

 

dhcpcd_enp0s31f6="-t 5"

----------

## JohnBlbec

 *UberLord wrote:*   

>  *JohnBlbec wrote:*    *UberLord wrote:*   
> 
> ```
> dhcp_enp0s31f6="-t 5"
> 
> ...

 

you're right! just now i'm using "dhcpd_..." but you can believe me i've tested also "dhcpcd_...". have a look at my config for the mentioned pcie intel 1000/pro card which i've bought because i thought my problem is the internal eth card I219-V :-(

```

#

# enp179s0 (ext. intel)

#

config_enp179s0="dhcpcd"

modules_enp179s0="dhcpcd"

dhcp_enp179s0="release nonis"

dhcpcd_enp179s0="--timeout 10 --ipv4only --noipv4ll"

enable_ipv6_enp179s0="false"

dns_domain_enp179s0="homenetwork"

#

fallback_enp179s0="192.168.1.4/24"

fallback_route_enp179s0="default via 192.168.1.1"

```

but what seems strange to me is one row from dmesg. there is something "uninitialized" and there is also missing very important info that the link is up!

this is the internal problematic eth in my new pc:

[    6.460474] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k 

[    6.460475] e1000e: Copyright(c) 1999 - 2015 Intel Corporation. 

[    6.462457] e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode 

[    6.712848] e1000e 0000:00:1f.6 0000:00:1f.6 (uninitialized): registered PHC clock

[    6.793519] e1000e 0000:00:1f.6 eth0: (PCI Express:2.5GT/s:Width x1) 4c:ed:fb:42:74:c5

[    6.793520] e1000e 0000:00:1f.6 eth0: Intel(R) PRO/1000 Network Connection 

[    6.793571] e1000e 0000:00:1f.6 eth0: MAC: 12, PHY: 12, PBA No: FFFFFF-0FF 

[    6.795934] e1000e 0000:00:1f.6 enp0s31f6: renamed from eth0

and this is the same dmesg ouput from my old working pc (notice last line!)

[   12.594133] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k

[   12.594133] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.

[   12.594353] e1000e 0000:00:19.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode

[   12.891169] e1000e 0000:00:19.0 eth0: (PCI Express:2.5GT/s:Width x1) 00:1c:c0:4c:41:c9

[   12.891171] e1000e 0000:00:19.0 eth0: Intel(R) PRO/1000 Network Connection

[   12.891190] e1000e 0000:00:19.0 eth0: MAC: 7, PHY: 6, PBA No: FFFFFF-0FF

[   13.576714] e1000e 0000:00:19.0 enp0s25: renamed from eth0

[  115.985853] e1000e: enp0s25 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx

so from some reason my eth card in my new pc is not able to come up :-(

----------

## UberLord

Looks like a kernel issue, not anything else.

See an ArchLinux post here:

https://bbs.archlinux.org/viewtopic.php?id=224183

/usr/lib/modules/4.10.4-1-ARCH/build/Documentation/networking/e1000e.txt

They recommend enabling/disabling  SmartPowerDownEnable - ie invert the setting it currently has.

----------

## JohnBlbec

sound like a good idea... i've tried it. i've created a file "/etc/modprobe.d/e1000e.conf" and added a line "options e1000e SmartPowerDownEnable=1" because 0 is a default. unfortunately, it hasn't helped and link is still not up :-( i'm also not able to stop or restart network using "/etc/init.d/net.enp0s31f6 stop" - it always stuck :-( i've tried to modprobe -r e1000e but it stuck too. there must be wrong something in the kernel configuration :-(Last edited by JohnBlbec on Mon Apr 15, 2019 6:49 pm; edited 1 time in total

----------

## 1clue

Can you check sysrescuecd boot, check if it's configured at full speed or slower, and if it's slower then whether it's full duplex.

Also check the name of the interface and the mac address on both.

I know you've been at this for awhile, so have I and I'm sure some of these other guys too. Sometimes you need a reminder to find out if it's plugged in.

So just a reminder that an ethernet cable can have 1 wire broken and still function at a lower speed, or seem to function 1 direction but not the other.

Also when I was messing with interface names I messed up one of the files, and had to move it to another directory to disable the entire file, to figure out what file the configuration problem was in. I basically had to go back to a default network setup in order to get my system working again. Once I figured out what file was broken I could narrow the search.

----------

## JohnBlbec

first of all i really appreciate your help, guys. thanks for your patience, advice and answers...

 *1clue wrote:*   

> Can you check sysrescuecd boot, check if it's configured at full speed or slower, and if it's slower then whether it's full duplex.

 

yes i'll paste ethtool output tomorrow but i've checked it in w10 and the speed was 1000. the mac address'll be the same i guess because i always need from dhcp the same ip address based on my mac address...

 *1clue wrote:*   

> Also check the name of the interface and the mac address on both.

 

yes i'll check it too and let you know.

 *1clue wrote:*   

> I know you've been at this for awhile, so have I and I'm sure some of these other guys too. Sometimes you need a reminder to find out if it's plugged in.

 

i see and you're right. i didn't want to offend anybody. i just want to give you a notice and nothing more. i can overlooked something, of course...

 *1clue wrote:*   

> So just a reminder that an ethernet cable can have 1 wire broken and still function at a lower speed, or seem to function 1 direction but not the other.

 

you're right and i'll test it again but i've tried 3 various cables to be sure because i spent egregious much money for a new pc and i can't use it for a long time because network troubles so i'm quite nerves, you know...

 *1clue wrote:*   

> Also when I was messing with interface names I messed up one of the files, and had to move it to another directory to disable the entire file, to figure out what file the configuration problem was in. I basically had to go back to a default network setup in order to get my system working again. Once I figured out what file was broken I could narrow the search.

 

i see. i've recompiled and configured my kernel maybe 100 times and played with various configs as well before i decided to write here for a help...

----------

## NeddySeagoon

JohnBlbec,

A you read, keep in minhd that there are no silly questions, except tha one that is never asked.

 *JohnBlbec wrote:*   

> i see. i've recompiled and configured my kernel maybe 100 times and played with various configs as well before i decided to write here for a help...

 

Are you runinig the kernel you think you are?

What does uname -a say?

```
$ uname -a

Linux NeddySeagoon_Static 5.0.2-gentoo #2 SMP PREEMPT Sun Mar 17 18:30:20 GMT 2019 x86_64 AMD Phenom(tm) II X6 1090T Processor AuthenticAMD GNU/Linux
```

Sun Mar 17 18:30:20 GMT 2019 is the build time of the running kernel, does the build time of your runnig kernel look correct?

The content of /etc/modprobe.d/ is only applied to loadable modules. If your e1000e is built into the kernel, it will have no effect, since the code will be initalised before root is mounted.

Post your 

```
lspci -knn
```

output  and put your kernel .config file onto a pastebin site, post the link so we can find it.

----------

## 1clue

 *JohnBlbec wrote:*   

> ...
> 
>  *1clue wrote:*   I know you've been at this for awhile, so have I and I'm sure some of these other guys too. Sometimes you need a reminder to find out if it's plugged in. 
> 
> i see and you're right. i didn't want to offend anybody. i just want to give you a notice and nothing more. i can overlooked something, of course...
> ...

 

And we're not trying to offend you either. I at least can tell you're not a novice from the way you're talking, but when we ask the "is it plugged in" questions we're trying to eliminate the obvious, because so far everything I can think of has been covered here.

 *Quote:*   

> 
> 
>  *1clue wrote:*   So just a reminder that an ethernet cable can have 1 wire broken and still function at a lower speed, or seem to function 1 direction but not the other. 
> 
> you're right and i'll test it again but i've tried 3 various cables to be sure because i spent egregious much money for a new pc and i can't use it for a long time because network troubles so i'm quite nerves, you know...
> ...

 

OK so you've eliminated cables from the equation. Have you tried a different port on your switch? Sometimes the switch ports can get flaky. This seems unlikely to be the problem since the same port works at full speed in Windows or sysrescuecd. Just something to check off the list.

 *Quote:*   

> 
> 
>  *1clue wrote:*   Also when I was messing with interface names I messed up one of the files, and had to move it to another directory to disable the entire file, to figure out what file the configuration problem was in. I basically had to go back to a default network setup in order to get my system working again. Once I figured out what file was broken I could narrow the search. 
> 
> i see. i've recompiled and configured my kernel maybe 100 times and played with various configs as well before i decided to write here for a help...

 

This might not be a kernel thing. I horsed around with it for awhile but found out mine was an error in /etc/udev/rules.d/70-net-name-use-custom.rules. My system has 7 NICs and I had a bunch of changes for each of them here, trying to make a KVM host with a router controlling the physical NICs. If the file is not present that's no big deal, I created it in order to get non-standard behavior. If you have a file there doing anything with networking you may want to move it out of there for awhile to reduce the number of places where there may be an error.

Have you compared the kernel config from the sysrescuecd kernel and yours? I know that seems like a huge PITA but maybe you can just do networking features.

----------

## JohnBlbec

hi guys,

i've just finished my regular work finally so i can go in to get information you wanted yesterday...

booted systemrescuecd using the same cable, eth and router port

```

# uname -a                                                                                                                                              

Linux sysresccd 4.14.70-std531-amd64 #2 SMP Sat Sep 15 16:16:19 UTC 2018 x86_64 Intel(R) Core(TM) i9-7940X CPU @ 3.10GHz GenuineIntel GNU/Linux

```

here you can find systemrescudecd kernel config

here is lspci -knn output

you can find my own kernel config in my the 1st message in this thread but i can paste it again here kernel gentoo-sources-4.19.27-r1. i haven't tried to compare it to the systemrescuecd config because it is not so easy but i've tried to compile a new kernel based on the systemrescuecd kernel. it took much time to change everything what i need to change and the result was not very stable so i return back to my own. btw. a kernel config which i'm using on my old pc (with working network) is also quite optimized and you can find it here old pc kernel-config-x86_64-4.14.105-gentoo-r1. i've also tried to build a new one based on it but the new hardware is soo different... i gave it up and rather started from scratch (e1000e is compiled as a module and there is only 1 kernel so it is not possible to boot another one).

```

ifconfig enp0s31f6     

enp0s31f6: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.1.3  netmask 255.255.255.0  broadcast 192.168.1.255

        inet6 fe80::5565:eb83:f013:2755  prefixlen 64  scopeid 0x20<link>

        ether 4c:ed:fb:42:74:c5  txqueuelen 1000  (Ethernet)

        RX packets 6400  bytes 7424072 (7.0 MiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 4620  bytes 467197 (456.2 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

        device interrupt 20  memory 0x92f00000-92f20000

```

```

# ethtool enp0s31f6    

Settings for enp0s31f6:

  Supported ports: [ TP ]

  Supported link modes:   10baseT/Half 10baseT/Full

                          100baseT/Half 100baseT/Full

                          1000baseT/Full 

  Supported pause frame use: No

  Supports auto-negotiation: Yes

  Advertised link modes:  10baseT/Half 10baseT/Full

                          100baseT/Half 100baseT/Full

                          1000baseT/Full

  Advertised pause frame use: No

  Advertised auto-negotiation: Yes

  Speed: 1000Mb/s     

  Duplex: Full

  Port: Twisted Pair   

  PHYAD: 1

  Transceiver: internal

  Auto-negotiation: on 

  MDI-X: on (auto)     

  Supports Wake-on: pumbg

  Wake-on: g

  Current message level: 0x00000007 (7)

             drv probe link

  Link detected: yes   

```

```

# dmesg | grep e1000e

[  155.051470] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k

[  155.051471] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.

[  155.053743] e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode

[  155.253037] e1000e 0000:00:1f.6 0000:00:1f.6 (uninitialized): registered PHC clock

[  155.388700] e1000e 0000:00:1f.6 eth0: (PCI Express:2.5GT/s:Width x1) 4c:ed:fb:42:74:c5

[  155.388703] e1000e 0000:00:1f.6 eth0: Intel(R) PRO/1000 Network Connection

[  155.388754] e1000e 0000:00:1f.6 eth0: MAC: 12, PHY: 12, PBA No: FFFFFF-0FF

[  155.398576] e1000e 0000:00:1f.6 enp0s31f6: renamed from eth0

[  166.910856] e1000e: enp0s31f6 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx

```

```

# lsmod                                                                                                                                                 

Module                  Size  Used by

binfmt_misc            16384  1

ses                    16384  0

enclosure              16384  1 ses

intel_rapl             24576  0

nouveau              1421312  2

x86_pkg_temp_thermal    16384  0

intel_powerclamp       16384  0

eeepc_wmi              16384  0

coretemp               16384  0

asus_wmi               28672  1 eeepc_wmi

i2c_algo_bit           16384  1 nouveau

crct10dif_pclmul       16384  0

ttm                    77824  1 nouveau

sparse_keymap          16384  1 asus_wmi

drm_kms_helper        131072  1 nouveau

rfkill                 24576  1 asus_wmi

drm                   311296  5 drm_kms_helper,ttm,nouveau

crc32_pclmul           16384  0

video                  40960  2 asus_wmi,nouveau

crc32c_intel           20480  0

ghash_clmulni_intel    16384  0

iTCO_wdt               16384  0

intel_cstate           16384  0

iTCO_vendor_support    16384  1 iTCO_wdt

e1000e                204800  0

wmi_bmof               16384  0

smartpqi               57344  2

intel_uncore           86016  0

mxm_wmi                16384  1 nouveau

scsi_transport_sas     28672  2 ses,smartpqi

mei_me                 24576  0

joydev                 24576  0

intel_rapl_perf        16384  0

ptp                    20480  1 e1000e

pps_core               16384  1 ptp

pcc_cpufreq            16384  0

ioatdma                45056  0

mei                    81920  1 mei_me

shpchp                 32768  0

dca                    16384  1 ioatdma

i2c_i801               24576  0

acpi_cpufreq           20480  0

wmi                    20480  4 asus_wmi,wmi_bmof,mxm_wmi,nouveau

raid10                 45056  0

raid456               139264  0

async_raid6_recov      16384  1 raid456

async_pq               16384  2 raid456,async_raid6_recov

async_xor              16384  3 async_pq,raid456,async_raid6_recov

async_memcpy           16384  2 raid456,async_raid6_recov

async_tx               16384  5 async_pq,async_memcpy,async_xor,raid456,async_raid6_recov

raid1                  36864  0

raid0                  20480  0

multipath              16384  0

linear                 16384  0

nvme                   36864  0

uas                    20480  0

nvme_core              45056  1 nvme 

usb_storage            69632  1 uas

```

note 1: i don't have /etc/udev/rules.d/70-net-name-use-custom.rules and i keep the system to do its job itself.

note 2: yes i've tried a different router port and the behavior was the same :-/

----------

## NeddySeagoon

JohnBlbec,

I'm looking for a self consistent data set from your Gentoo that's not working.

That's dmesg, the complete unstripped kernel configuration that produced the dmseg, the lspci -knn output which we have now.

Even if you only have one kernel built, it can still be the wrong kernel. Consider the following ...

You don't mount boot but you build and install the kernel anyway. The kernel binary correctly installs to the wrong place, so the boot loader never sees it.

The kernel modules correctly install to the right place, overwriting the modules that were there before.

When you reboot, you have the old kernel binary and the new modules. This sometimes sort of works.

Checking your 

```
uname -a 
```

is part of the process of ensuring that you are providing the self consistent data set you think you are.

Many users come here with problem that they have actually already fixed but they don't know it because they made a mess of the kernel install and they are not running the kernel they think they are.

```
00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection (2) I219-V [8086:15b8]

   Subsystem: ASUSTeK Computer Inc. Ethernet Connection (2) I219-V [1043:8672]

   Kernel driver in use: e1000e

   Kernel modules: e1000e
```

Taht all looks good.

e1000e and e1000 are fairly similar. Indeed, I've seen cards move between then for one kernel to the next, so to be on the safe side, build both  e1000e and e1000.

----------

## JohnBlbec

additional information - booted not working system

```

# uname -a

Linux rpc-linux-new 4.19.27-gentoo-r1 #1 SMP Sun Mar 24 22:41:05 CET 2019 x86_64 Intel(R) Core(TM) i9-7940X CPU @ 3.10GHz GenuineIntel GNU/Linux

```

```

# ls -la /lib/modules

total 20

drwxr-xr-x  3 root root  4096 Mar 24 22:57 .

drwxr-xr-x 16 root root 12288 Mar 24 23:40 ..

drwxr-xr-x  5 root root  4096 Mar 24 22:43 4.19.27-gentoo-r1

```

```

# ls -la /boot

total 572640

drwxr-xr-x  4 root root      4096 Jan  1  1970 .

drwxr-xr-x 21 root root      4096 Mar 24 22:59 ..

drwxr-xr-x  3 root root      4096 Mar  2 23:46 EFI

-rwxr-xr-x  1 root root   2719580 Mar 24 21:41 System.map-genkernel-x86_64-4.19.27-gentoo-r1

drwxr-xr-x  6 root root      4096 Mar 24 21:57 grub

-rwxr-xr-x  1 root root   4040644 Mar 24 21:44 initramfs-genkernel-x86_64-4.19.27-gentoo-r1

-rwxr-xr-x  1 root root   5685632 Mar 24 21:41 kernel-genkernel-x86_64-4.19.27-gentoo-r1

-rwxr-xr-x  1 root root 573913088 Oct 26 05:21 systemrescuecd-x86-5.3.1.iso

```

for building my kernel i always use my script which is working well for years. kernel's been compiled without error and also installation's been successfull.

```

#!/bin/bash

#

# $Id: make_kernel.sh,v 1.8 2019/03/11 10:43:06 root Exp $

#

config="$1"

if [ -z "$config" -o "$config" = "-h" -o "$config" = "--help" ]; then

        echo "use: $(basename 0) <kernel_config>"

        exit 1

fi

if [ ! -f "$config" ]; then

        echo "error: '$config' doesn't exist"

        exit 2

fi

is_tmpfs_mounted()

{

        df -P | grep -q '/var/tmpfs' &> /dev/null

}

is_emerge_in_progress()

{

        ps aux | grep -q [e]merge &> /dev/null

}

trap "{ is_tmpfs_mounted && is_emerge_in_progress && umount /var/tmpfs; }" SIGINT SIGTERM

is_tmpfs_mounted || mount /var/tmpfs

genkernel --menuconfig --save-config --mountboot --install --lvm --e2fsprogs --no-splash --disklabel --makeopts="-j28" --tempdir=/var/tmpfs/genkernel --kernel-config="$config" all

[[ $? -eq 0 ]] && grub-mkconfig -o /boot/grub/grub.cfg

is_tmpfs_mounted && is_emerge_in_progress && umount /var/tmpfs

```

here is an output of lsmod

here is a complete dmesg output

here is a complete kernel config kernel-config-x86_64-4.19.27-gentoo-r1

i have also trouble to umount usb just mounted stick with exfat - umount stuck and it is not possible to break it using ctrl+c. "kill -9" also doesn't work. btw. stick with fat32 is ok. as i said "/etc/init.d/net.enp0s31f6 stop" also doesn't work and stuck the same way as umount. very similar problem i have during shutdown - it sometimes stuck during umount /var, sometimes it stuck farther during shuting down lvm but never finish with success. i've checked my /etc/fstab but it looks ok by my opinion. those things were already working in some of my previous kernel config so i ignore them for now. i've mentioned it because maybe i overlook something and you'll be able to see possible dependencies...

here is my /etc/fstab

----------

## NeddySeagoon

JohnBlbec,

Your kernel is timestamed Mar 24 21:41 in /boot, which ties in with Mar 24 22:43 for /lib/modules/4.19.27-gentoo-r1

Thats about 3 weeks ago.  Its also consistent with Sun Mar 24 22:41:05 in your uname -a.

Good.  I'm surprised by the 3 week old kernel but its far more important that the bits are consistent.

That ties in with the Sun Mar 24 22:41:05 at the top of dmesg.

dmesg looks good to 

```
[   10.553381] IPv6: ADDRCONF(NETDEV_UP): enp0s31f6: link is not ready
```

I suspect that you need one of the 

```
MII PHY device drivers
```

but I don't know which one.

----------

## JohnBlbec

sometimes a man is too tired trying to solve his problem and it is better to let the problem sleep. that's the case. I stopped to solve kernel and started to find out a problem somewhere else. as you can see I've failed  :Sad:  that's why 3 weeks old kernel. frankly speaking I was desperate...

tomorrow I'll try to think about MII PHY device driver and recompile the kernel. thanks for the hint! I'll keep you informed.

----------

## JohnBlbec

i've added MII below but is hasn't helped :-(

```

CONFIG_DMIID=y

CONFIG_MII=m

```

the other MII in the kernel are not for intel...

[edited]

i've added also one (see below) because systemrescuecd has it. it hasn't helped.

```

CONFIG_XILINX_GMII2RGMII=m

```

what should i change if i could try systemrescuecd kernel config to be bootable on my pc? i've tried it several times but it's never booted. i have no experience with livecd and i have just now no other idea :-(Last edited by JohnBlbec on Wed Apr 17, 2019 5:28 pm; edited 1 time in total

----------

## Tony0945

If I may interject a suggestion:

Build a generic genkernel kernel by emerging genkernel and running it. Temporarily edit your boot loader to load it instead of your custom kernel.

Boot. if the problem persists it is 99% NOT the kernel. If the problem is fixed, it was the kernel and you should compare the configs.

----------

## JohnBlbec

 *Tony0945 wrote:*   

> If I may interject a suggestion:
> 
> Build a generic genkernel kernel by emerging genkernel and running it. Temporarily edit your boot loader to load it instead of your custom kernel.
> 
> Boot. if the problem persists it is 99% NOT the kernel. If the problem is fixed, it was the kernel and you should compare the configs.

 

ok but i guess there will have to be done some changes. is uefi boot supported in the generic genkernel config for example?

----------

## Jaglover

I'd disable IOMMU, it may be the culprit if misconfigured. What you need IOMMU for?

----------

## JohnBlbec

the generic genkernel config w/o changes makes my pc unbootable - "could not find the root block device in..."

(i have hw raid card Microsemi Adaptec SmartRAID 3154-16i Single and gentoo on RAID10)Last edited by JohnBlbec on Wed Apr 17, 2019 6:14 pm; edited 1 time in total

----------

## JohnBlbec

 *Jaglover wrote:*   

> I'd disable IOMMU, it may be the culprit if misconfigured. What you need IOMMU for?

 

frankly speaking on my old pc i have a grub parameter "intel_iommu=off" active. i don't know why i've removed the parameter on my new pc.

----------

## JohnBlbec

 *JohnBlbec wrote:*   

> the generic genkernel config w/o changes makes my pc unbootable - "could not find the root block device in..."
> 
> (i have hw raid card Microsemi Adaptec SmartRAID 3154-16i Single and gentoo on RAID10)

 

i've changed all CONFIG_EXTx_FS=m to CONFIG_EXTx_FS=y and added CONFIG_SCSI_SMARTPQI=y (for my hw raid) and i've booted successfully. network is working and dhcpcd sets the right ip addr from my router. i've also removed a separate lvm2 partition for /var/log because i think it was a culprint why the pc wasn't able to shut down properly.

CONFIG_AMD_IOMMU is enabled in the generic genkernel config but i have an Intel CPU. I'll probably change it to INTEL but i'll remember it could break my settings. we'll see.

now i'll have to switch off all framebuffers which are probably set by default because proprietary NVidia drivers don't like it and then it is waiting for me many optimalizations. again from scratch. argh.

i'm really keen on undefined problem with my previous config but i'll try to compare it myself so now i'd like to say thanks you all for your help. that's why i like gentoo and its community :-)

----------

## Tony0945

UEFI boot doesn't care about the kernel. You just point it and it loads what it's pointed at.

Are you using (or plan to use) refind or grub2?

EDIT: I went from grub legacy to refind. I thought I made no change but:

```
tony@MSI ~ $ zgrep EFI /proc/config.gz |grep -v ^#

CONFIG_EFI_PARTITION=y

CONFIG_EFI=y

CONFIG_EFI_STUB=y

CONFIG_FB_EFI=y

CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y

CONFIG_EFI_VARS=y

CONFIG_EFI_ESRT=y

CONFIG_EFI_VARS_PSTORE=y

CONFIG_EFI_RUNTIME_MAP=y

CONFIG_EFI_RUNTIME_WRAPPERS=y

CONFIG_UEFI_CPER=y

CONFIG_EFIVAR_FS=y

```

  Maybe I always had those.

Doesn't you mobo have an option for legacy boot?

----------

## JohnBlbec

 *Tony0945 wrote:*   

> UEFI boot doesn't care about the kernel. You just point it and it loads what it's pointed at.
> 
> Are you using (or plan to use) refind or grub2?
> 
> EDIT: I went from grub legacy to refind. I thought I made no change but:
> ...

 

i'm using grub2 and i don't plan to change it. it seems generic config is able to manage everything needed for uefi boot.

(my old pc has grub 2, legacy boot and uses uvesa and v86d with proprietary nvidia drivers)

now i need to find the best solution for framebuffer and proprietary nvidia drivers and mode settings for grub2. i'd like to avoid using v86d on my new pc - what framebuffer settings do you recommend?

the 1st try has finished with black screen and i can see no ouptut just first two lines of kernel :-D

----------

## NeddySeagoon

JohnBlbec,

uvesa is gone. You are left with UEFI_FB, SIMPLE_FB or VESAFB if you must have a framebuffer console and the nvidia binary blob.

----------

