Kernel 4.8.7 & Realtek Wireless - Fedora report

Updated: January 6, 2017

Several weeks ago, I happily informed you that it would appear, barring any special corner cases, that the long-standing problem of random disconnects on laptops with the Realtek RTL87XX family of cards and running Linux has been resolved with the introduction of the kernel 4.8.7 into our lives. I tested with Manjaro 16.10. Lovely jubbly.

Now, that seems fine, but not enough. I waited a few days for Fedora 24 to offer the same kernel upgrade, a bonus of these edgy distros right, and let the system do its magic, followed by a quick reboot. Once I had confirmed that the new kernel had been loaded into memory, it was time to begin the testing.

Teaser, new kernel running

Testing procedure

Similar to the Manjaro experience, I did slow and fast download tests, single and multiple HTTP threads, torrents, updates, regular browsing, streaming, large file copy over Samba, all sorts. The test took about six hours, and it included leaving the machine unattended, suspend & resume in between some of the downloads. Overall, I tried to do everything and anything a typical user might want to do.

Kernel upgrade available

Downloads

Symbolic image, I cannot show you all the downloads I did. Cough cough.

Results? Not quite perfect

Here, the outcome was a little different. About four to five hours into the testing session, the network finally failed, and I had to try the same tricks of re-inserting the kernel module into the memory, which fixed it. There are no verbose messages in the logs, so this is not an easy one to debug. There are no call traces or oopses or anything of that kind that would help better understand the issue.

wlp2s0: Connection to AP aa:bb:cc:dd:ee:ff lost
IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
rtl8723be: Using firmware rtlwifi/rtl8723befw.bin
ieee80211 phy0: Selected rate control algorithm 'rtl_rc'
rtlwifi: rtlwifi: wireless switch is on
rtl8723be 0000:02:00.0 wlp2s0: renamed from wlan0
IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
wlp2s0: authenticate with aa:bb:cc:dd:ee:ff
wlp2s0: send auth to aa:bb:cc:dd:ee:ff (try 1/3)
wlp2s0: authenticated
wlp2s0: associate with aa:bb:cc:dd:ee:ff (try 1/3)
wlp2s0: RX AssocResp from aa:bb:cc:dd:ee:ff (capab=0x431 status=0 aid=3)
wlp2s0: associated
IPv6: ADDRCONF(NETDEV_CHANGE): wlp2s0: link becomes ready

My observations shows that this disconnect happens only if there are a lot of old HTTP connections slowly being removed, after having been idle for a while and timing out. Only then do the new kernel and the new driver hiccup. Heavy network load does not cause any problem. So perhaps the issue is not 100% resolved, it's just significantly more difficult to trigger than before, and requires a lot of network activity.

Anything else Manjaro wise?

Yes, I continued testing here as well, and I have discovered something quite odd, which does not seem to be correlated to the Realtek driver. Namely, the Network Manager stops functioning, and it needs to be HUP-ed. This only happens if the laptop is idle and not really doing anything. As long as the network is active, everything is fine.

The restart of the Network Manager fixes it, and there is no need to touch the Realtek driver. There are also no errors in the kernel log or the system log. This leads me to believe that the problem is not related to Realtek.

Now, this may seem similar to Fedora, but in Fedora's case, the network manager remains running, and restarting it without the modprobe trick does not restore the connectivity. Moreover, an idle Fedora 24 box does not have any problems.

Fedora 25 extras

The latest Fedora release comes with an even newer kernel - 4.8.11. The results are more promising still, with additional robustness and stability, but I will elaborate on this separately. I do not want to sidetrack from this report, however, do keep in mind that should you not be fully happy or pleased with how Fedora 24 with the kernel 4.8.7 handles the situation, you may always test the 25th release. Plus, at some point, you will actually have to, because Fedora has a very short support cycle.

About

Conclusion

A handful of weeks and hundreds of GB down the road, my Lenovo G50 machine is in a much better shape when spinning the kernel 4.8.7 than anything else before, but there are still situations where the network might drop down. This means I will need to reserve my previous observation, from the original report. Good but not perfect. Part of that Nirvana has gone back to Valhalla. Fedora 25 is the salvation you seek, though.

Under ordinary circumstances, most people will probably not hit the issue, unless they have hundreds of idle HTTP connections that are slowly being closed, causing the driver to get a little confused. This could happen if you download like mad from the Web and then go calm. That's why I said ordinary users, then again, Fedora and Manjaro folks aren't really the Riders of the Gaussian. Still, something to look forward to being fixed eventually. Now that we have this 99% fix, the rest should be easy. More to come.

Cheers.