Ethernet modules not found at boot [Solved]

Having problems with the Gentoo Handbook? If you're still working your way through it, or just need some info before you start your install, this is the place. All other questions go elsewhere.
User avatar
Tefrem34
Guru
Guru
Posts: 400
Joined: Sun Sep 14, 2014 2:27 am
Location: USA, California

Ethernet modules not found at boot [Solved]

Post by Tefrem34 »

Hello,

I have done a few fresh installs of gentoo from the systemrescue cd. Everything seems to install fine, that is until I reboot and I have no internet connection. The loading list at boot has a red star next to Ethernet and it says can not load/find ethernet module. "ERROR: Interface eno1 does not exist", "ERROR: net.eno1 failed to start"
In the installation boot, ifconfig only shows lo :
In the livecd and chrooted into my gentoo install, "ifconfig"

Code: Select all

eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.103  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 2600:6c55:7380:b4:bc92:26e0:9729:35e2  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::2d0:8a6c:cfd5:af33  prefixlen 64  scopeid 0x20<link>
        ether 08:62:66:7e:de:0a  txqueuelen 1000  (Ethernet)
        RX packets 10497  bytes 9650325 (9.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 7069  bytes 783787 (765.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 20  memory 0xfb300000-fb320000  

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

It shows eno1 as my device so I set "ln -s net.1o net.eno1" in my "/etc/init.d" dir
My "/etc/conf.d/net"

Code: Select all

dns_domain_lo="gentoorbear"
config_eno1="dhcp"
I "rc-update add net.eno1 default"

I can not seem to find what the module is called for my network device.
I ran "ls /lib/modules/`uname -r`/kernel/drivers/net" and get this error

Code: Select all

ls: cannot access '/lib/modules/4.4.28-std490-amd64/kernel/drivers/net': No such file or directory
Thus, "modprobe eno1" gives me an error

Code: Select all

modprobe: FATAL: Module eno1 not found in directory /lib/modules/4.4.28-std490-amd64
I used the genkernel to make sure what I needed was installed.

Code: Select all

cat /var/log/syslog | grep -e etwork -e eth0 | tail -n20
returns

Code: Select all

Mar 31 13:24:08 gentoo kernel: e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI
"lspci" "00:19.0 Ethernet controller: Intel Corporation Ethernet Connection (2) I218-V (rev 05)"

"uname -a" "Linux sysresccd 4.4.28-std490-amd64 #2 SMP Sat Oct 29 11:44:38 UTC 2016 x86_64 Intel(R) Core(TM) i7-5820K CPU @ 3.30GHz GenuineIntel GNU/Linux"

I just can not find a solution and I hope that I have enough information to get this sorted.

Thanks.

Code tags added by NeddySeagoon
Last edited by Tefrem34 on Mon Apr 02, 2018 11:19 pm, edited 2 times in total.
User avatar
NeddySeagoon
Administrator
Administrator
Posts: 56071
Joined: Sat Jul 05, 2003 9:37 am
Location: 56N 3W

Post by NeddySeagoon »

Tefrem34,

What does

Code: Select all

ifconfig -a
show when you are booted into your Gentoo?
We only need interface names.
Your wired interface may be there but it may not be called eno1.

If there is no wired interface, the kernel module is not loaded.
We can work out what that is fron the Ethernet line is lspci.
eno1 is the logical name of the interface, not the name of the module you need to load.
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
User avatar
Tefrem34
Guru
Guru
Posts: 400
Joined: Sun Sep 14, 2014 2:27 am
Location: USA, California

Post by Tefrem34 »

Code: Select all

ifconfig -a
shows the same as just having

Code: Select all

ifconfig
eno1 is the logical name of the interface, not the name of the module you need to loa
Right, that is why I am getting frustrated. I can't seem to find it.
Last edited by Tefrem34 on Sun Apr 01, 2018 10:23 am, edited 1 time in total.
User avatar
NeddySeagoon
Administrator
Administrator
Posts: 56071
Joined: Sat Jul 05, 2003 9:37 am
Location: 56N 3W

Post by NeddySeagoon »

Tefrem34,

We need the Ethernet line from lspci then.
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
User avatar
Tefrem34
Guru
Guru
Posts: 400
Joined: Sun Sep 14, 2014 2:27 am
Location: USA, California

Post by Tefrem34 »

00:19.0 Ethernet controller: Intel Corporation Ethernet Connection (2) I218-V (rev 05)
That is the line from "lspci". Or do you need the whole list?
User avatar
NeddySeagoon
Administrator
Administrator
Posts: 56071
Joined: Sat Jul 05, 2003 9:37 am
Location: 56N 3W

Post by NeddySeagoon »

Tefrem34,

That will do nicely.

In your gentoo, as root, do

Code: Select all

modprobe e1000e
Report the error on the command line an at the end of dmesg.

If there are no errors, does

Code: Select all

ifconfig -a
show a wired interface?
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
User avatar
Tefrem34
Guru
Guru
Posts: 400
Joined: Sun Sep 14, 2014 2:27 am
Location: USA, California

Post by Tefrem34 »

chrooted:

Code: Select all

modprobe e1000e

Code: Select all

modprobe: FATAL: Module e1000e not found in directory /lib/modules/4.13.0-37-generic

Code: Select all

ifconfig -a

Code: Select all

eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.103  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 2600:6c55:7380:b4:ba2f:23ea:875a:b9cf  prefixlen 64  scopeid 0x0<global>
        inet6 2600:6c55:7300:135:d4f0:6b15:c14e:f8e8  prefixlen 64  scopeid 0x0<global>
        inet6 2600:6c55:7380:b4:d4f0:6b15:c14e:f8e8  prefixlen 64  scopeid 0x0<global>
        inet6 2600:6c55:7300:135:c09c:5b09:da56:2786  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::43f7:714f:836e:85b1  prefixlen 64  scopeid 0x20<link>
        ether 08:62:66:7e:de:0a  txqueuelen 1000  (Ethernet)
        RX packets 400259  bytes 584596392 (557.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 199060  bytes 16665369 (15.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 20  memory 0xfb300000-fb320000  

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 740  bytes 68941 (67.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 740  bytes 68941 (67.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
FATAL: Module e1000e not found in directory /lib/modules/4.13.0-37-generic
That is the same error that I got with other entries.
User avatar
NeddySeagoon
Administrator
Administrator
Posts: 56071
Joined: Sat Jul 05, 2003 9:37 am
Location: 56N 3W

Post by NeddySeagoon »

Tefrem34,

Chrooted will not produce the right answers.

Boot your Gentoo, do the test and post the results.

If

Code: Select all

modprobe: FATAL: Module e1000e not found in directory /lib/modules/4.13.0-37-generic
came from your Gentoo,
the e1000e module is missing from your kernel.
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
User avatar
Tefrem34
Guru
Guru
Posts: 400
Joined: Sun Sep 14, 2014 2:27 am
Location: USA, California

Post by Tefrem34 »

Thank you.

So, with the e1000e module, I used "/" in makeconfig in the gentoo installation. I had "=y" on all the listed options except for one and it was a dependency called "(!SPARC32 || BROKEN [=n])".

Other than that the return was the same as before.
"ifconfig -a" just gives the "lo :" part.
User avatar
Tefrem34
Guru
Guru
Posts: 400
Joined: Sun Sep 14, 2014 2:27 am
Location: USA, California

Post by Tefrem34 »

I do not know if this is correct, but I edited "/etc/conf.d/modules" and added

Code: Select all

modules=4.13.0-37-generic="e1000e"
So I am chrooted into my system and I do not see the e1000e module.

Code: Select all

ls /lib/modules/4.9.76-gentoo-r1/kernel/drivers/net/ethernet/intel/
there are only

Code: Select all

i40e  igb  igbvf  ixgb  ixgbe  ixgbevf
I am pretty sure when I was on the livecd it had the e1000e in that dir.

So do I need to try another Kernel?
Last edited by Tefrem34 on Sun Apr 01, 2018 12:21 pm, edited 1 time in total.
User avatar
NeddySeagoon
Administrator
Administrator
Posts: 56071
Joined: Sat Jul 05, 2003 9:37 am
Location: 56N 3W

Post by NeddySeagoon »

Tefrem34,

Code: Select all

modules="e1000e"
is better as that will load the module regardless of kernel version.

Look in

Code: Select all

lsmod
to make sure that the e1000e module is loaded.
However, if your kernel config says

Code: Select all

<*>     Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support

Code: Select all

Symbol: E1000E [=y]
then the driver is built into the kernel binary (in /boot) and there is no module to load.
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
User avatar
Tefrem34
Guru
Guru
Posts: 400
Joined: Sun Sep 14, 2014 2:27 am
Location: USA, California

Post by Tefrem34 »

Code: Select all

lsmod

Code: Select all

e1000e                249856  0
ptp                    20480  1 e1000e
then the driver is built into the kernel binary (in /boot) and there is no module to load
So does it need to be a module to load at boot?
User avatar
Jaglover
Watchman
Watchman
Posts: 8291
Joined: Sun May 29, 2005 1:57 am
Location: Saint Amant, Acadiana

Post by Jaglover »

Code: Select all

lspci -k

00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-V (rev 31)
        Subsystem: ASRock Incorporation Ethernet Connection (2) I219-V
        Kernel driver in use: e1000e
Does this command show the driver is loaded?
User avatar
Tefrem34
Guru
Guru
Posts: 400
Joined: Sun Sep 14, 2014 2:27 am
Location: USA, California

Post by Tefrem34 »

lspci -k

Code: Select all

00:19.0 Ethernet controller: Intel Corporation Ethernet Connection (2) I218-V (rev 05)
        Subsystem: ASUSTeK Computer Inc. Ethernet Connection (2) I218-V
        Kernel driver in use: e1000e
But I am chrooted right now.
User avatar
NeddySeagoon
Administrator
Administrator
Posts: 56071
Joined: Sat Jul 05, 2003 9:37 am
Location: 56N 3W

Post by NeddySeagoon »

Tefrem34,

We need you to test in your own Gentoo.
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
User avatar
Tefrem34
Guru
Guru
Posts: 400
Joined: Sun Sep 14, 2014 2:27 am
Location: USA, California

Post by Tefrem34 »

From gentoo installation:
lspci -k

Code: Select all

00:19.0 Ethernet controller: Intel Corporation Ethernet Connection (2) I218-V (rev 05) 
        Subsystem: ASUSTeK Computer Inc. Ethernet Connection (2) I218-V
lsmod

Code: Select all

e1000        114688  0
There was no e1000e.
Last edited by Tefrem34 on Sun Apr 01, 2018 2:42 pm, edited 1 time in total.
User avatar
NeddySeagoon
Administrator
Administrator
Posts: 56071
Joined: Sat Jul 05, 2003 9:37 am
Location: 56N 3W

Post by NeddySeagoon »

Tefrem34,

Inside your Gentoo, what does

Code: Select all

uname -a
show?
I get

Code: Select all

$ uname -a
Linux NeddySeagoon_Static 4.16.0-rc3 #1 SMP PREEMPT Tue Feb 27 20:01:09 GMT 2018 x86_64 AMD Phenom(tm) II X6 1090T Processor AuthenticAMD GNU/Linux
The Time/Date

Code: Select all

Tue Feb 27 20:01:09 GMT 2018
is the build time of the running kernel.
If you have made a kernel since then, its not being used.

Again, inside your Gentoo what does

Code: Select all

zgrep E1000 /proc/config.gz
show?
From your last post, E1000 should be listed, what of E1000E?

Then

Code: Select all

grep E1000 /usr/src/linux/.config
what does it return?

I suspect you are not running the kernel you think you are.

Note: E1000 will match both E1000 and E1000E.
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
User avatar
Tefrem34
Guru
Guru
Posts: 400
Joined: Sun Sep 14, 2014 2:27 am
Location: USA, California

Post by Tefrem34 »

From gentoo installation:

Code: Select all

uname -a

Code: Select all

Linux gentoo 4.14.12-2 #1 SMP Fri Mar 30 17:10:09 PTD 2018 x86_64 Intel(R) Core(TM) i7-5820k CPU @3.30GHz GenuineIntel GNU/Linux
date

Code: Select all

Sun Apr 1 13:40:51 PDT 2018
which is wrong.

Code: Select all

zgrep E1000 /proc/config.gz

Code: Select all

CONFIG_E1000=m
CONFIG_E1000E=m
CONFIG_E1000E_HWTS=y

Code: Select all

grep E1000 /usr/src/linux/.config

Code: Select all

CONFIG_E1000=m
CONFIG_E1000E=m
CONFIG_E1000E_HWTS=y
From your last post, E1000 should be listed, what of E1000E?
The E1000 was all that it showed in the list.
Last edited by Tefrem34 on Sun Apr 01, 2018 2:42 pm, edited 1 time in total.
User avatar
Jaglover
Watchman
Watchman
Posts: 8291
Joined: Sun May 29, 2005 1:57 am
Location: Saint Amant, Acadiana

Post by Jaglover »

Tefrem34,

in your previous post, all was done from your Gentoo, nothing from chroot?
User avatar
krinn
Watchman
Watchman
Posts: 7476
Joined: Fri May 02, 2003 6:14 am

Post by krinn »

You should really stop providing livecd infos mix with your own infos, or better make it clearer from where it comes, made me lost.

Code: Select all

Linux gentoo 4.14.12-2 #1
Date help, but the #1 mean you've built that kernel only 1 time (it's kernel build count), so no need to check anymore if your kernel has change or not.

Ok next is my infos (yep have an asustek with also an intel, and even the same model as you

Code: Select all

00:19.0 Ethernet controller: Intel Corporation Ethernet Connection (2) I218-V
	Subsystem: ASUSTeK Computer Inc. Ethernet Connection (2) I218-V
	Kernel driver in use: e1000e
	Kernel modules: e1000e
Kernel driver in use: e1000e -> saying "the card use the driver e1000e" ; if when you do lspci -k you don't have that entry, the driver is not working
Kernel modules: e1000e -> saying also using e1000e, but it's not important there, what is important is that it is also saying "the drive is build as module", if the driver was build-in the kernel i wouldn't get that entry.

Normally, you shouldn't have to care to load the module yourself, your device manager will detect the card and load the driver for you.
All you need to do, is making sure the drive is build-in kernel, or build as module.

And if it is, like it seems if really you did show YOUR kernel when you did zgrep E1000 /proc/config.gz ; then it mean you have a trouble with your device manager more than the card itself.

So please, make it clear: do you really see CONFIG_E1000E=m when you do zgrep E1000 /proc/config.gz on YOUR own kernel and not from a livecd/chroot/whatever.
User avatar
Tefrem34
Guru
Guru
Posts: 400
Joined: Sun Sep 14, 2014 2:27 am
Location: USA, California

Post by Tefrem34 »

Jaglover,
Yes. Nothing from chroot.

krinn,
Sorry it was not clear.
The last two of my post, was all from the gentoo installation, and I hand copied what the output of the commands I was asked to provide.
then it mean you have a trouble with your device manager more than the card itself
So should I build and install another version of the device manager?
Last edited by Tefrem34 on Sun Apr 01, 2018 2:49 pm, edited 1 time in total.
Tony0945
Watchman
Watchman
Posts: 5127
Joined: Tue Jul 25, 2006 12:19 am
Location: Illinois, USA

Post by Tony0945 »

Tefrem34 wrote:Thank you.

So, with the e1000e module, I used "/" in makeconfig in the gentoo installation. I had "=y" on all the listed options except for one and it was a dependency called "(!SPARC32 || BROKEN [=n])".

Other than that the return was the same as before.
"ifconfig -a" just gives the "lo :" part.
If that is literally true, you need to change it from =y to =m, otherwise there will be no module.

You should have a file like this:

Code: Select all

/lib64/modules/4.4.75-gentoo/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko
Except the 4.4.75-gentoo will be different as that is the kernel name from "uname -r".
If I have my shell script correct, try

Code: Select all

ls -l /lib/modules/`uname -r`/kernel/drivers/net/ethernet/*
Those are backticks not apostrophes.

You probably won't find it, because I think you built it into the kernel not as a module. That's what you said in the quote.
Last edited by Tony0945 on Sun Apr 01, 2018 3:06 pm, edited 2 times in total.
User avatar
krinn
Watchman
Watchman
Posts: 7476
Joined: Fri May 02, 2003 6:14 am

Post by krinn »

Code: Select all

modprobe e1000e && lsmod
if this fail, it's because your kernel has e1000e support by module, but the module cannot be found : which mean you have forget to make modules_install when you have build your kernel

if it works, then we will more need rc-update output
User avatar
John R. Graham
Administrator
Administrator
Posts: 10894
Joined: Tue Mar 08, 2005 3:39 pm
Location: Somewhere over Winder, Georgia, USA

Post by John R. Graham »

Earlier he reported he used genkernel, which should've done that automatically. Tefrem34, what's the genkernel command you used?

- John
I can confirm that I have received between 0 and 499 National Security Letters.
User avatar
Tefrem34
Guru
Guru
Posts: 400
Joined: Sun Sep 14, 2014 2:27 am
Location: USA, California

Post by Tefrem34 »

Tony0945,
If that is literally true, you need to change it from =y to =m, otherwise there will be no module
If it is built in, shouldn't it just work then?

John,

Code: Select all

genkernel --menuconfig all
krinn,
if it works, then we will more need rc-update output
Do you mean?

Code: Select all

rc-update add eno1 default
Post Reply