Problem with Realtek RTL8188EE Wireless Adapter and r8168

I found this problem while troubleshooting the installation and as it is not related with that, I am opening a more specific issue. I cannot get my internet driver to work properly and journalctl is overcrowded with errors relating to it to the point that it is using 8% of my cpu, on average. To start, I can use the internet, however only at very slow speeds (max at 1mb/s), while my wifi is much better. I know the issue is with it, because journalctl is complaining specifically about its port.

After many tries, I went on to read https://forum.endeavouros.com/t/solved-installation-realtek-modules-r8168-and-r8169/5658/11 and https://forum.endeavouros.com/t/the-r8168-ethernet-issues-and-welcome-experimental/6340/30, where I was led to think the issue was with r8168. I used pacman -Qs r8168 to find if I had r8168 and I did have it, however running pacman -Qs r8169 returned nothing, so I don’t know if I have r8169 or not. I tried to follow the solutions on the links I mentioned (mainly blacklisting r8168 and trying to use r8169), but could not solve the issue.

I am currently out of ideas. How can I check if r8169 is installed or do it if it isn’t? Also, what more is there to consider? I am almost thinking this could be a hardware problem, as this wireless adapter is very new is has been giving this problem since install.

`inxi -Fxxc0z | eos-sendlog`
System:    Kernel: 5.14.14-arch1-1 x86_64 bits: 64 compiler: gcc v: 11.1.0 Desktop: KDE Plasma 5.23.1 
           tk: Qt 5.15.2 wm: kwin_x11 dm: SDDM Distro: EndeavourOS base: Arch Linux 
Machine:   Type: Desktop System: ASUS product: N/A v: N/A serial: <filter> 
           Mobo: ASUSTeK model: TUF GAMING B460M-PLUS v: Rev 1.xx serial: <filter> UEFI: American Megatrends 
           v: 1101 date: 01/15/2021 
Battery:   Device-1: hidpp_battery_0 model: Logitech Wireless Keyboard serial: <filter> 
           charge: 55% (should be ignored) status: Discharging 
CPU:       Info: 8-Core model: Intel Core i7-10700KF bits: 64 type: MT MCP arch: Comet Lake rev: 5 cache: 
           L2: 16 MiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 bogomips: 121639 
           Speed: 4811 MHz min/max: 800/5100 MHz Core speeds (MHz): 1: 4811 2: 4740 3: 4892 4: 4877 5: 4887 
           6: 4806 7: 4778 8: 4774 9: 4894 10: 4854 11: 4892 12: 4728 13: 4879 14: 4783 15: 4801 16: 4860 
Graphics:  Device-1: NVIDIA GA106 [GeForce RTX 3060 Lite Hash Rate] driver: nvidia v: 470.74 bus-ID: 01:00.0 
           chip-ID: 10de:2504 
           Device-2: Logitech Webcam C270 type: USB driver: snd-usb-audio,uvcvideo bus-ID: 1-2:3 
           chip-ID: 046d:0825 
           Display: x11 server: X.org 1.20.13 compositor: kwin_x11 driver: loaded: nvidia 
           resolution: <missing: xdpyinfo> 
           Message: Unable to show advanced data. Required tool glxinfo missing. 
Audio:     Device-1: Intel vendor: ASUSTeK driver: snd_hda_intel v: kernel bus-ID: 00:1f.3 chip-ID: 8086:a3f0 
           Device-2: NVIDIA driver: snd_hda_intel v: kernel bus-ID: 01:00.1 chip-ID: 10de:228e 
           Device-3: Logitech Webcam C270 type: USB driver: snd-usb-audio,uvcvideo bus-ID: 1-2:3 
           chip-ID: 046d:0825 
           Sound Server-1: ALSA v: k5.14.14-arch1-1 running: yes 
           Sound Server-2: JACK v: 1.9.19 running: no 
           Sound Server-3: PulseAudio v: 15.0 running: yes 
           Sound Server-4: PipeWire v: 0.3.38 running: no 
Network:   Device-1: Intel Ethernet I219-V vendor: ASUSTeK driver: e1000e v: kernel port: efa0 bus-ID: 00:1f.6 
           chip-ID: 8086:0d55 
           IF: eno1 state: down mac: <filter> 
           Device-2: Realtek RTL8188EE Wireless Network Adapter driver: rtl8188ee v: kernel port: 3000 
           bus-ID: 02:00.0 chip-ID: 10ec:8179 
           IF: wlan0 state: up mac: <filter> 
Drives:    Local Storage: total: 1.39 TiB used: 14.09 GiB (1.0%) 
           ID-1: /dev/nvme0n1 vendor: A-Data model: SX6000LNP size: 476.94 GiB speed: 31.6 Gb/s lanes: 4 
           serial: <filter> temp: 33.9 C 
           ID-2: /dev/sda vendor: Seagate model: ST1000DM010-2EP102 size: 931.51 GiB speed: 6.0 Gb/s 
           serial: <filter> 
           ID-3: /dev/sdb type: USB vendor: SanDisk model: Cruzer Blade size: 14.32 GiB serial: <filter> 
Partition: ID-1: / size: 467.88 GiB used: 14.09 GiB (3.0%) fs: ext4 dev: /dev/nvme0n1p2 
           ID-2: /boot/efi size: 511 MiB used: 296 KiB (0.1%) fs: vfat dev: /dev/nvme0n1p1 
Swap:      Alert: No swap data was found. 
Sensors:   System Temperatures: cpu: 27.8 C mobo: N/A gpu: nvidia temp: 32 C 
           Fan Speeds (RPM): N/A gpu: nvidia fan: 0% 
Info:      Processes: 293 Uptime: 21m Memory: 15.55 GiB used: 2.14 GiB (13.8%) Init: systemd v: 249 Compilers: 
           gcc: 11.1.0 Packages: 1029 pacman: 1022 snap: 7 Shell: Bash v: 5.1.8 running-in: konsole 
           inxi: 3.3.06 

Remark: the main errors that pop up in journalctl are:
kernel: pcieport 0000:00:1b.0: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID)
and
kernel: pcieport 0000:00:1b.0: device [8068:a3e9] error status/mask=00000001/00002000
and
kernel: pcieport 0000:00:1b.0: [ 0] RxErr (First)

First thing is that the 8169 is part of the kernel, so won’t show up as a separate package. Removing the 8168 entirely is probably the next thing - but my expertise doesn’t extend beyond the wiki entries you’ve already found :grin: Someone will be along, no doubt…

You can try the following kernel parameters for the error messages related to pcieport
Edit: The kernel parameters get added to the default grub file in /etc/default/grub and then update grub with sudo grub-mkconfig -o /boot/grub/grub.cfg

pci=nomsi
pcie_aspm=off

The wireless and ethernet has nothing to do with the r8168 so you could uninstall it. Your wireless chip is RTL8188EE and your Ethernet is an Intel I219-V

I tried your kernel parameters @ricklinux , but it does not seem to have stoped journalctl or made any visible change. Thanks for the info @freebird54.

Check with ethtool that ethernet is set to full duplex and running 1000

Edit: You could also try this module for the WiFi.

I ran a couple of commands to check the ethtools. First, the name of my device with ifconfig -a returned:

ifconfig -a
eno1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether fc:34:97:7a:b3:61  txqueuelen 1000  (Ethernet)
        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
        device interrupt 16  memory 0x92300000-92320000  

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 394  bytes 31470 (30.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 394  bytes 31470 (30.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.105  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::d510:89c5:7d9b:622e  prefixlen 64  scopeid 0x20<link>
        ether d0:37:45:d9:3a:c4  txqueuelen 1000  (Ethernet)
        RX packets 7328  bytes 5745694 (5.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6483  bytes 1063859 (1.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Then I ran ethtool eno1 and got:

ethtool eno1
Settings for eno1:
        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
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Speed: Unknown!
        Duplex: Unknown! (255)
        Auto-negotiation: on
        Port: Twisted Pair
        PHYAD: 2
        Transceiver: internal
        MDI-X: Unknown (auto)
        Supports Wake-on: pumbg
        Wake-on: d
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: no

where you can see that speed and duplex are unknown and I suppose that 255 is an error. I tried changing them with something like
sudo ethtool -s eno1 speed 150 duplex full autoneg on but nothing was changed.

How can I try to use this repo you sent? I have no idea.

I have been looking for answers on this particular chip but mostly it’s the the same as you. You can try these

modprobe rtl8188ee ips=0

or

modprobe rtl8188ee fwlps=0

I tried that @ricklinux, but did not make any difference. I will check tomorrow if it is the hardware by trying another one. If this does happen to be the case, I will reply here. Anyway, thank you all for the help.

I think this particular Realtek chip has these issues from all that i have read but I’m sure maybe someone has solved some of them? I haven’t come across any though and it’s not that Realtek is bad it’s just depends on the chip. I have a Realtek and it’s very good. It’s only the N version but plenty fast. All my others are Broadcom but mostly the newer versions AC dual band.

does sudo dmesg | grep firmware gives any error logs?

Nope, sudo dmesg | grep firmware does not return anything.

How about sudo dmesg | grep rtl8188ee or sudo dmesg | grep realtek

The only thing inside sudo dmesg is:

AER: Corrected error received: 0000:00:1c.4
[ 4330.221961] pcieport 0000:00:1c.4: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID)
[ 4330.221962] pcieport 0000:00:1c.4:    [ 0] RxErr                  (First)
[ 4330.221973] pcieport 0000:00:1c.4: AER: Corrected error received: 0000:00:1c.4
[ 4330.221976] pcieport 0000:00:1c.4: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID)
[ 4330.221977] pcieport 0000:00:1c.4:   device [8086:a394] error status/mask=00000001/00002000
[ 4330.221978] pcieport 0000:00:1c.4:    [ 0] RxErr                  (First)

Over and over again. This pciport 0000:00:1c.4 is the rtl8188ee device. I tried other ports on the motherboard, but the error remains.

Have you tried some kernel parameters? Also in the bios is Active State Power Management for pci-e is on or off? Try change PCI Express native power management to disabled.

You could also try pcie_aspm=off or pci=noaer or pci=nomsi If you haven’t.

Also have you tried this package? It has the latest realtek drivers.

yay -S rtw88-dkms-git

Just tried all you suggested, but still nothing. Even the kernel parameters did not stop journalctl.

I guess an option is to get a another WiFi adapter?

without the changes above you already tried remove the r8168 module…

is a dumb question ? (from me)

No dumb questions here. I’m not sure if OP did that?

Yes, I have tried removing it, but with no noticeable change @ringo. The wifi adapter is what I am looking into @ricklinux. I will probably do something with it in this week, so I will try to report back here as soon as I can.