I have a Lenovo Yoga 13 and I was running 14.04 on it and I've since upgraded to 16.04. I applied the fix descibed here (Lenovo Yoga 13 Realtek wireless driver) with 14.04 and it worked but no longer seems to with 16.04. I know that the way Realtek drivers work was reorganized in Linux kernel 4.4 (https://www.phoronix.com/scan.php?page=news_item&px=Linux-4.4-Networking) however I don't know enough about what was changed to know if that was the problem. Has anyone else experienced this issue or know how to fix it?
5 Answers
I had the same issue and followed the answer given by @bamb00zled.
Go here: http://kernel.ubuntu.com/~kernel-ppa/mainline/ Download 3 (maybe 4) debs to a folder somewhere:
linux-headers-VERSION-NUMBER_all.deb
linux-headers-VERSION-NUMBER_amd64.deb
linux-image-VERSION-NUMBER_amd64.deb
linux-image-extra-VERSION-NUMBER_amd64.deb
if available
Install the debs with whatever package manager front-end you use (is gdebi still around?), or use these commands:
cd /path/to/folder/where/you/put/the/debs
sudo dpkg -i *.deb
As suggested here, type in the following command into your terminal:
sudo rmmod rtl8xxxu && sudo modprobe rtl8xxxu
This helped me.
You need to run it after every reboot.
Well I hope no one else has this problem but I ended up fixing it by updating my kernel as described here: How to update kernel to the latest mainline version without any Distro-upgrade?.
I tried all the above steps with no success (well I managed to update the kernel, but that didn't solve the issue for me) - what did fix the issue for me was entering the bios (button at the front, left of the power button with the bent arrow on it) and not only setting the boot option to "Legacy" mode, but also "prefered option" (try legacy first) in the boot mode.
Also there was a complete cold start in between (so no rebooting but really powering off)
WiFi Fix
Prerequisite
You should install the corresponding header of your kernel :
sudo apt-get install linux-headers-`uname -r`
Next, install the packages necessary for building :
sudo apt-get install git build-essential dkms
Method
This is the RECOMMENDED METHOD because in future, when kernel is updated, the installed driver will be automatically compiled to make it work in newer kernel.
We're gonna use the driver available in this GitHub repository's extended branch.
To simplify everything, run the following commands one by one :
git clone -b extended --single-branch https://github.com/lwfinger/rtlwifi_new.git
sudo dkms add rtlwifi_new
sudo dkms install rtlwifi-new/0.6
Restart your computer. And you'll get your WiFi !
In addition, if you notice weak signal try command:
sudo modprobe -r rtl8723de && sleep 5 && sudo modprobe rtl8723de ant_sel=1
and see if it is better, if not run:
sudo modprobe -r rtl8723de && sleep 5 && sudo modprobe rtl8723de ant_sel=2
Or write the rule into the configuration. Replace X with whatever setting worked best
echo "options rtl8723de ant_sel=X" | sudo tee /etc/modprobe.d/rtl8723de.conf
Cheers! And now it will work
modinfo r8723au