Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
No network on my released kernel 5.4.28 Realtek driver
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
Featherfoot
Veteran
Veteran


Joined: 28 Dec 2002
Posts: 1108
Location: Stuart, Florida

PostPosted: Tue Mar 31, 2020 2:57 am    Post subject: No network on my released kernel 5.4.28 Realtek driver Reply with quote

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
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 23091

PostPosted: Tue Mar 31, 2020 4:25 am    Post subject: Reply with quote

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
View user's profile Send private message
Featherfoot
Veteran
Veteran


Joined: 28 Dec 2002
Posts: 1108
Location: Stuart, Florida

PostPosted: Tue Mar 31, 2020 4:59 am    Post subject: Reply with quote

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
View user's profile Send private message
Featherfoot
Veteran
Veteran


Joined: 28 Dec 2002
Posts: 1108
Location: Stuart, Florida

PostPosted: Tue Mar 31, 2020 7:00 pm    Post subject: Reply with quote

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
View user's profile Send private message
agent_jdh
Veteran
Veteran


Joined: 08 Aug 2002
Posts: 1783
Location: Scotland

PostPosted: Tue Mar 31, 2020 7:48 pm    Post subject: Reply with quote

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
View user's profile Send private message
Featherfoot
Veteran
Veteran


Joined: 28 Dec 2002
Posts: 1108
Location: Stuart, Florida

PostPosted: Tue Mar 31, 2020 8:33 pm    Post subject: Reply with quote

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
View user's profile Send private message
agent_jdh
Veteran
Veteran


Joined: 08 Aug 2002
Posts: 1783
Location: Scotland

PostPosted: Tue Mar 31, 2020 11:45 pm    Post subject: Reply with quote

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
View user's profile Send private message
Featherfoot
Veteran
Veteran


Joined: 28 Dec 2002
Posts: 1108
Location: Stuart, Florida

PostPosted: Wed Apr 01, 2020 12:52 am    Post subject: Reply with quote

I set the option to load the r8169 driver into the kernel and it worked!

Thanks for your help.
Back to top
View user's profile Send private message
agent_jdh
Veteran
Veteran


Joined: 08 Aug 2002
Posts: 1783
Location: Scotland

PostPosted: Wed Apr 01, 2020 7:55 am    Post subject: Reply with quote

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
View user's profile Send private message
vasettoo
Tux's lil' helper
Tux's lil' helper


Joined: 11 Nov 2012
Posts: 100

PostPosted: Wed Apr 01, 2020 8:54 am    Post subject: Reply with quote

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
View user's profile Send private message
agent_jdh
Veteran
Veteran


Joined: 08 Aug 2002
Posts: 1783
Location: Scotland

PostPosted: Wed Apr 01, 2020 1:09 pm    Post subject: Reply with quote

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
View user's profile Send private message
rufnut
Apprentice
Apprentice


Joined: 16 May 2005
Posts: 252

PostPosted: Fri Apr 03, 2020 3:41 am    Post subject: Reply with quote

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.


:)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware 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