Bug 1415339

Summary: wi-fi rtl8188ce very large packet loss
Product: [Fedora] Fedora Reporter: icegloom
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 25CC: cjbrooking, dluga93, emailtoflorian, fat.lobyte9, gansalmon, geekwu, icegloom, ichavero, itamar, jkastner, j.markmann, jonathan, kernel-maint, labbott, lupinix.fedora, madhu.chinakonda, mchehab, mitroko, pjhavariotis, sebastian, thomas.lemm, tom.georgoulias, trever, vic, wjyoung65
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-02-28 10:18:08 EST Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description icegloom 2017-01-20 18:59:28 EST
Description of problem:
Very large packet loss on pci-e rtl8188ce on kernel-4.9.3-200.fc25.x86_64.
Machine: Lenovo Thinkpad T420.
Other two devices don't have problems with connecting to access point.

Version-Release number of selected component (if applicable):
kernel-4.9.3-200.fc25.x86_64
old kernel-4.8.6-300.fc25.x86_64
iw-4.1-2.fc24.x86_64

How reproducible:
Just browse or try to ping an external server

Steps to Reproduce:
1. Start system to MATE desktop and connect to access point(wpa2-psk)
2. In console:
$mtr google.com
not resolve name
$mtr 192.168.1.1
see paket loss over 90%
drop packet of interface: 0
3. Reboot to kernel-4.8.6-300.fc25.x86_64
In console:
$mtr google.com
resolv name ok
packet loss in range 5-10%
drop packet of interface: 0
4. other device have < 0.5% packet loss

Actual results: 
Unbearable

Expected results:
Good network activity
Comment 1 icegloom 2017-01-21 21:11:37 EST
temporary solve

lenovo t420 pci-e rtl8188ce fedora 25 

$ lspci |grep RTL
03:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8188CE 802.11b/g/n WiFi Adapter (rev 01)
$ uname -a
Linux tp.urandom 4.9.4-201.fc25.x86_64 #1 SMP Tue Jan 17 18:58:54 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

$ cd ~
$ curl https://codeload.github.com/lwfinger/rtlwifi_new/tar.gz/master -o rtlwifi_new.tar.gz
$ tar -xzf rtlwifi_new.tar.gz
$ cd rtlwifi_new-master
$ make
$ xz -z -c rtl_pci.ko >rtl_pci.ko.xz
$ xz -z -c rtlwifi.ko >rtlwifi.ko.xz
$ cd rtl8192c
$ xz -z -c rtl8192c-common.ko >rtl8192c-common.ko.xz
$ cd ../rtl8192ce
$ xz -z -c rtl8192ce.ko >rtl8192ce.ko.xz
$ cd /lib/modules/4.9.4-201.fc25.x86_64/kernel/drivers/net/wireless/
$ sudo mv realtek _realtek_
$ sudo mkdir -p realtek/rtl8192c
$ sudo mkdir -p realtek/rtl8192ce
$ sudo cp ~/rtlwifi_new-master/*.ko.xz ./realtek/
$ sudo cp ~/rtlwifi_new-master/rtl8192c/rtl8192c-common.ko.xz ./realtek/rtl8192c/
$ sudo cp ~/rtlwifi_new-master/rtl8192ce/rtl8192ce.ko.xz ./realtek/rtl8192ce/
$ sudo modprobe -r $(lsmod | grep ^rtl | awk '{print $1}' | xargs)
$ sudo modprobe rtl8192ce 
$ lsmod |grep ^rtl
rtl8192ce              61440  0
rtl_pci                32768  1 rtl8192ce
rtl8192c_common        53248  1 rtl8192ce
rtlwifi                98304  3 rtl_pci,rtl8192ce,rtl8192c_common

have good conecting wifi!
Comment 2 Christian Dersch 2017-01-22 06:54:04 EST
Have the same issue here (ThinkPad X230 with Realtek Semiconductor Co., Ltd. RTL8188CE), I think this came with kernel 4.9.
Comment 3 icegloom 2017-01-22 20:37:36 EST
https://codeload.github.com/lwfinger/rtlwifi_new/
this driver not working on boot system
need reload drivers kernel module
run in console
$sudo modprobe -r $(lsmod | grep ^rtl | awk '{print $1}' | xargs)
$sudo modprobe rtl8192ce
and connect to AP
Comment 4 Vic Ricker 2017-01-23 09:13:24 EST
I believe I have the same problem on Lenovo W520 with rtl8188ce. If I boot into the 4.8.16-300.fc25.x86_64 kernel, it works fine.
Comment 5 pjhavariotis 2017-01-23 14:24:57 EST
I have the same problem on my desktop with RTL8192CE PCIe Wireless Network Adapter and latest kernel (4.9.4-201.fc25.x86_64).
Comment 6 pjhavariotis 2017-01-24 13:12:55 EST
The problem still remains with the latest kernel (4.9.5-200.fc25.x86_64)
Comment 7 pjhavariotis 2017-01-24 13:37:09 EST
I can confirm also that the problem is resolved with the latest 4.8 kernel (4.8.6-300.fc25.x86_64)
Comment 8 Flo H. 2017-01-25 13:16:47 EST
*** Bug 1416478 has been marked as a duplicate of this bug. ***
Comment 9 Flo H. 2017-01-25 13:24:16 EST
I have the same problem running kernel-4.9.5-100.fc24.x86_64 for my rtl8188ce based WiFi card.

Had no problems with previous 4.8.x kernels
Comment 10 Colin Wu 2017-01-25 15:34:36 EST
The same problem exists for FC24. My hardware is a Lenovo Edge, same RTL chipset.
Comment 11 Dmitry Stremkouski 2017-01-25 16:56:26 EST
I'm suffering from this bug too.

Using fresh installed Fedora 25 x86_64 on Lenovo T420

[mitroko@Gerda ~]$ uname -a
Linux Gerda 4.9.5-200.fc25.x86_64 #1 SMP Fri Jan 20 12:24:16 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

[mitroko@Gerda ~]$ lspci |grep -i wifi
03:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8188CE 802.11b/g/n WiFi Adapter (rev 01)

[mitroko@Gerda ~]$ lsmod | egrep 'rtl|wifi'
rtl8192ce              57344  0
rtl_pci                28672  1 rtl8192ce
rtl8192c_common        49152  1 rtl8192ce
rtlwifi                73728  3 rtl_pci,rtl8192ce,rtl8192c_common

wpa_supplicant disconnects every time or even cannot connect AP at all.
Comment 12 Dmitry Stremkouski 2017-01-25 17:57:34 EST
Workarounded:
dnf install kernel-4.8.6-300.fc25 kernel-modules-extra-4.8.6-300.fc25.x86_64
No need to compile drivers.
Comment 13 Alexander Korsunsky 2017-01-28 08:15:10 EST
I have the same problem on Fedora 25, using a Lenovo x230 with a Realtek RTL8188CE WiFi chip.

Downgrading the Kernel to 4.8 also fixed my problems.
Comment 14 dluga93 2017-01-29 07:26:56 EST
Possibly related:

The system also takes longer to shut down with kernel 4.9.4 or 4.9.5. The following message is displayed:

A stop job is running for firewalld - dynamic firewall daemon

With a second counter of about 3 minutes after it. This doesn't happen in 4.8.16.
Comment 15 czbrooking 2017-01-29 07:31:11 EST
This may be a duplicate of 1391987:

https://bugzilla.redhat.com/show_bug.cgi?id=1391987
Comment 16 Trever Adams 2017-01-29 19:12:02 EST
I also have rtl8188ce using rtl8192ce driver. It worked fine with 4.8.x. It does not work with 4.9.x x>=2 or 3 (I can't remember which I first used).

Ping will show this once the packet loss starts:

ping: sendmsg: No buffer space available

Other symptoms: tcpdump on the interface shows only outgoing packets once the problem starts. Of course, this leads to arp being incomplete, etc. (Manually setting the arp entry does not solve the problem.)
Comment 17 sebastian 2017-01-30 00:04:38 EST
I can second that this issue is fixed by updating the driver.
I used https://github.com/FreedomBen/rtl8188ce-linux-driver
Comment 18 dluga93 2017-01-30 12:12:00 EST
(In reply to sebastian from comment #17)
> I can second that this issue is fixed by updating the driver.
> I used https://github.com/FreedomBen/rtl8188ce-linux-driver

I just tried this, it works. Make sure to run it first on a kernel with a working internet connection so that it can download dependencies. Then restart and rerun on 4.9.5.
Comment 19 Alexander Korsunsky 2017-02-02 09:31:18 EST
icegloom(In reply to icegloom from comment #1)
> temporary solve
>  
> have good conecting wifi!

Did you mean to set the Needinfo flag for this bug? Because your comment does not contain a question.

I'll "provide the requested information" so it gets removed. If you actually needed more information from other people affected by this bug (in order to help you fix it), you can set it back.
Comment 20 Dmitry Stremkouski 2017-02-02 15:08:05 EST
I have followed suggestion from this thread https://bugzilla.redhat.com/show_bug.cgi?id=1415468 and it makes sense.

Right now I'm on the latest fedora 4.9 kernel
[mitroko@Gerda ~]$ uname -r
4.9.6-200.fc25.x86_64

with proper module options
[mitroko@Gerda ~]$ cat /etc/modprobe.d/rtl8192ce.conf 
# Disable powersaving
options rtl8192ce ips=0

# WARNING! Do not enable this shit.
#          It causes bugs.
options rtl8192ce fwlps=0

# Use software control instead
options rtl8192ce swlps=1


and wifi card works fine.

Also, one should set this thread duplicating bug 1415468 or vice versa.
Comment 21 Flo H. 2017-02-02 23:43:23 EST
That workaround works for me but for whatever reason WiFi is damn slow...
Comment 22 Dmitry Stremkouski 2017-02-03 04:39:54 EST
Try to change crda domain and raise the power:
iw reg set BO
iwconfig wlp3s0 txpower 33
Comment 23 dluga93 2017-02-03 05:47:36 EST
(In reply to Flo H. from comment #21)
> That workaround works for me but for whatever reason WiFi is damn slow...

Yes, the wifi is actually very slow for me as well. Though this only happens with my home wifi, with which 4.8.16 works fine.

(In reply to Dmitry Stremkouski from comment #22)
> Try to change crda domain and raise the power:
> iw reg set BO
> iwconfig wlp3s0 txpower 33

It tells me B0 is not valid, and the txpower remains at 20 even though there's no error message after running the second command. It works if I try to set it lower, like 17, so there must be a limit on it.
Comment 24 sebastian 2017-02-03 07:31:19 EST
(In reply to Dmitry Stremkouski from comment #22)
> Try to change crda domain and raise the power:
> iw reg set BO
> iwconfig wlp3s0 txpower 33

Not only is that technically illegal, I fail to see how it is supposed to help. 
Also, even if your driver has support, it is not recommended to significantly increase transmit power without proper antennas, poor performance/damage may occour. 

(In reply to dluga93 from comment #18)
> (In reply to sebastian from comment #17)
> > I can second that this issue is fixed by updating the driver.
> > I used https://github.com/FreedomBen/rtl8188ce-linux-driver
> 
> I just tried this, it works. Make sure to run it first on a kernel with a
> working internet connection so that it can download dependencies. Then
> restart and rerun on 4.9.5.

I just plugged it in
Comment 25 Alexander Korsunsky 2017-02-10 07:59:50 EST
Note that upgrading the Kernel to a pre-release version of 4.10 fixes the problem:

    dnf config-manager --add-repo=http://dl.fedoraproject.org/pub/alt/rawhide-kernel-nodebug/fedora-rawhide-kernel-nodebug.repo
    dnf update kernel
Comment 26 Dmitry Stremkouski 2017-02-28 07:32:37 EST
Confirmed:
rawhide kernel-4.11.0-0.rc0.git4.2.fc26.x86_64 fixes this issue.
Thank you for nice soultion, Alexander Korsunsky!
Comment 27 Flo H. 2017-02-28 08:49:49 EST
I am running Fedora 24 and I am looking to different solution than installing a rawhide-rc-kernel. Will this fix not be backported to the 4.9 series for Fedora 24 and Fedora 25?
Comment 28 Flo H. 2017-02-28 08:58:14 EST
Potential duplicate of https://bugzilla.redhat.com/show_bug.cgi?id=1391987
Comment 29 Laura Abbott 2017-02-28 10:18:08 EST
I think this should be fixed in regular builds now. Please open a new bug if hte problem persists. Thanks for reporting and testing.