View previous topic :: View next topic |
Author |
Message |
Featherfoot Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
Joined: 28 Dec 2002 Posts: 1108 Location: Stuart, Florida
|
Posted: Tue Mar 31, 2020 2:57 am Post subject: No network on my released kernel 5.4.28 Realtek driver |
|
|
Portage just updated my kernel to genkernel-5.4.28 and I updated my system to run it. This system boots, but there is no network.
I believe the problem is in a funny message that I saw near the end of the kernel build to the effect that systemd could not be found. Any ideas on how to get this problem fixed?
Last edited by Featherfoot on Wed Apr 01, 2020 12:11 am; edited 1 time in total |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Hu Administrator
![Administrator Administrator](/images/ranks/rank-admin.gif)
Joined: 06 Mar 2007 Posts: 23091
|
Posted: Tue Mar 31, 2020 4:25 am Post subject: |
|
|
sys-kernel/genkernel is not numbered that way. Do you mean sys-kernel/gentoo-sources? With the information you provided, it is rather difficult to help you. If you switch back to your prior kernel, does the network function correctly? What exactly did the "funny message" say? Is this a systemd-based system? What kernel version were you using before? Did you change any of the kernel configuration options? In the non-working system, is the NIC detected? Is this a wireless or wired network? |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Featherfoot Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
Joined: 28 Dec 2002 Posts: 1108 Location: Stuart, Florida
|
Posted: Tue Mar 31, 2020 4:59 am Post subject: |
|
|
Sorry. I was typing in Mint and didn't have easy access to my gentoo stuff..
I emerged kernel gentoo-sources-5.4.28. I am using genkernel. I eventually switched back to kernel 4.19.97 and it works.
The message was that systemd could not be found. There was more to the message. This is a openrc based system, so I was surprised that the message showed up. Then the message disappeared into the bit bucket.
The network I am using is a wired network. I did an ifconfig and the only thing showing was lo. This is the ifconfig from 4.19.97
Code: |
enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.15 netmask 255.255.255.0 broadcast 10.0.0.255
inet6 2601:58b:4101:9b80::ab00 prefixlen 128 scopeid 0x0<global>
inet6 fe80::e5e7:a26f:75ec:ff46 prefixlen 64 scopeid 0x20<link>
inet6 2601:58b:4101:9b80:8bca:bb0b:ae98:b4af prefixlen 64 scopeid 0x0<global>
ether 0c:9d:92:65:1c:af txqueuelen 1000 (Ethernet)
RX packets 21159 bytes 9454354 (9.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 18650 bytes 2899770 (2.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
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 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
|
|
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Featherfoot Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
Joined: 28 Dec 2002 Posts: 1108 Location: Stuart, Florida
|
Posted: Tue Mar 31, 2020 7:00 pm Post subject: |
|
|
Here is the message I discussed:
Code: |
Package systemd was not found in the pkg-config search path.
Perhaps you should add the directory containing `systemd.pc'
to the PKG_CONFIG_PATH environment variable
No package 'systemd' found
cp: cannot stat '/lib/udev/rules.d/99-systemd.rules': No such file or directory
* cannot copy /lib/udev/rules.d/99-systemd.rules from udev
cp: cannot stat '/network/99-default.link': No such file or directory
* cannot copy /network/99-default.link from udev
* >> Appending auxilary cpio data...
* >> Copying keymaps
* >> Appending busybox cpio data...
* >> Appending modules cpio data...
* >> Appending blkid cpio data...
* >> Skipping modprobed copy
* >> Appending ld_so_conf cpio data...
* ldconfig: adding /sbin/ldconfig...
* ld.so.conf: adding /etc/ld.so.conf{.d/*,}...
|
I just experimented with emerging systemd. It wants to emerge dbus with elogind removed. I looked at my package.use and make.conf. Systemd is not referenced in a positivie way in either file. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
agent_jdh Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
Joined: 08 Aug 2002 Posts: 1783 Location: Scotland
|
Posted: Tue Mar 31, 2020 7:48 pm Post subject: |
|
|
It sounds very likely that you are having the same problem as me. Do you have Realtek r8169 based card(s)?
My server has two.
The systemd messages from genkernel are probably a red herring. I get them as well, but don't use systemd.
It looks like new Gentoo stable kernel (5.4.28, was 4.19.97), now requires Realtek firmware from package linux-firmware. After emerging the firmware, I can manually modprobe the r8169 driver (I had to rmmod it first).
Unfortunately, the associated dmesg output does not actually say which firmware is loaded. They are located in /lib/firmware/rtl_nic
They need to be built into the initrd, either by adding the relevant options in the kernel configuration (make menuconfig), or by modifying /etc/genkernel.conf to pull in the files.
But I don't know what files I need!
The cards I have are rtl8169e, and an rtl8110s. So I think I need at least rtl8168e-1.fw, rtl8169e-2.fw, and rtl8168-3.fw.
I've not fixed this yet but I'll repost if I do. _________________ Jingle Jangle Jewellery |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Featherfoot Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
Joined: 28 Dec 2002 Posts: 1108 Location: Stuart, Florida
|
Posted: Tue Mar 31, 2020 8:33 pm Post subject: |
|
|
I do have Realtek chips on my motherboard. I thought linux-firmware was emerged, so it is surprising that this is an issue.
I did try to reboot my system and dmesg showed that r8169 was not loaded. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
agent_jdh Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
Joined: 08 Aug 2002 Posts: 1783 Location: Scotland
|
Posted: Tue Mar 31, 2020 11:45 pm Post subject: |
|
|
Yeah just installing linux-firmware doesn't fix it. The firmware files need to be in your intramfs.
I've still not solved this.
I've tried to use make menuconfig and /etc/genkernel.conf (my server is still using genkernel-next, not genkernel 4), but genkernel gives me errors saying the files are not there, so maybe it's just a configuration thing. I'll look at this tomorrow.
I may also try building the Realtek driver into the kernel, instead of as a module.
Possibly change the thread title to include Realtek? _________________ Jingle Jangle Jewellery |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Featherfoot Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
Joined: 28 Dec 2002 Posts: 1108 Location: Stuart, Florida
|
Posted: Wed Apr 01, 2020 12:52 am Post subject: |
|
|
I set the option to load the r8169 driver into the kernel and it worked!
Thanks for your help. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
agent_jdh Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
Joined: 08 Aug 2002 Posts: 1783 Location: Scotland
|
Posted: Wed Apr 01, 2020 7:55 am Post subject: |
|
|
How did you do this? Mine's not working when I use genkernel.
Posting the exact solution would be good as I'm sure others are having this issue as well. _________________ Jingle Jangle Jewellery |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
vasettoo Tux's lil' helper
![Tux's lil' helper Tux's lil' helper](/images/ranks/rank_rect_1.gif)
![](images/avatars/19870261053b5ce25e9a5d.gif)
Joined: 11 Nov 2012 Posts: 100
|
Posted: Wed Apr 01, 2020 8:54 am Post subject: |
|
|
No need for linux-firmware to be emerged on r8169 driver based NICs, just build it (NOT as a module) in the kernel with genkernel - namely [ * ] and not [ M ].
Code: | CONFIG_NET_VENDOR_REALTEK=y
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
CONFIG_R8169=y |
dmesg reports:
Code: | dmesg | grep -i net
[ 0.576472] NET: Registered protocol family 2
[ 0.577409] NET: Registered protocol family 1
[ 1.499635] NET: Registered protocol family 38
[ 2.543103] NET: Registered protocol family 10
[ 2.543483] NET: Registered protocol family 17
[ 9.246246] RTL8211B Gigabit Ethernet r8169-200:00: attached PHY driver [RTL8211B Gigabit Ethernet] (mii_bus:phy_addr=r8169-200:00, irq=IGNORE)
[ 14.492706] IPv6: ADDRCONF(NETDEV_CHANGE): enp2s0: link becomes ready |
lspci status:
Code: | lspci | grep -i net
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 02) |
My system kernel:
Code: | uname -a
Linux idc 5.4.28-gentoo #1 SMP PREEMPT Wed Apr 1 11:13:40 EEST 2020 x86_64 AMD Athlon(tm) II X4 640 Processor AuthenticAMD GNU/Linux |
|
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
agent_jdh Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
Joined: 08 Aug 2002 Posts: 1783 Location: Scotland
|
Posted: Wed Apr 01, 2020 1:09 pm Post subject: |
|
|
vasettoo wrote: | No need for linux-firmware to be emerged on r8169 driver based NICs, just build it (NOT as a module) in the kernel with genkernel - namely [ * ] and not [ M ]. |
This works here as well. Which begs the question, why does it suddenly require the firmware if built as a module?
Maybe it's not actually requiring the firmware, but autoloading the module isn't working without it for some reason.
I'd consider this a kernel bug. _________________ Jingle Jangle Jewellery |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
rufnut Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
Joined: 16 May 2005 Posts: 252
|
Posted: Fri Apr 03, 2020 3:41 am Post subject: |
|
|
I still have r8169 as a module, just needed to build in "realtek_phy", not as a module.
Code: | # zgrep REALTEK /proc/config.gz
CONFIG_NET_VENDOR_REALTEK=y
CONFIG_REALTEK_PHY=y
CONFIG_WLAN_VENDOR_REALTEK=y
CONFIG_SND_HDA_CODEC_REALTEK=y
CONFIG_USB_STORAGE_REALTEK=m
CONFIG_REALTEK_AUTOPM=y
|
There was something about the order in which r8169 gets loaded.
![Smile :)](images/smiles/icon_smile.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
|