After buying a new laptop, I spent a lot of time with the Internet problem on Ubuntu. And I did manage to solve the problem. There were frequent connection breaks and the internet speed was very slow. At first, I was thinking about buying a new router, but at the same time under Windows 8 everything worked with a bang.
UPD. 05.2017
Before you will continue with steps below – I recommend installing the newest driver.
1 2 3 4 5 6 |
git clone git@github.com:lwfinger/rtlwifi_new.git make; sudo make install sudo rmmod rtl8723ae sudo modprobe rtl8723ae |
After that, you could do all steps described below with config write to file and reboot.
First of all, we need to determine the driver model. I knew that I have RTL8723AE so I google for it.
1 2 3 |
sudo lshw -C network |
or
1 2 3 4 |
lspci | grep Wireless 04:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8723AE PCIe Wireless Network Adapter |
I have found that another versions such asRTL8723СE, RTL8723BE, RTL8723SE have the same problem.
So, what we gonna do? The most advice that I have found were about to build some half-official driver from Realtek or official patched driver because originally it builds for old kernel.
It’s good that I haven’t managed to build it (but I even haven’t tried).
The problem was solved much easier.
1 2 3 4 |
sudo modprobe -rv rtl8723ae sudo modprobe -v rtl8723ae swenc=1 ips=0 fwlps=0 |
After that, I hadn’t any connection problems. And the internet speed became fast as expected.
In order to use options with every boot, they need to be saved.
1 2 3 |
echo "options rtl8723ae swenc=1 ips=0 fwlps=0" | sudo tee /etc/modprobe.d/rtl8723ae.conf > /dev/null |
That’s it.
Let’s look what we have done.
1 2 3 4 5 6 7 8 9 |
sudo modprobe -h ... -r, --remove Remove modules instead of inserting --remove-dependencies Also remove modules depending on it -v, --verbose enables more messages |
And parameters explanation
1 2 3 4 5 6 7 8 9 10 11 12 |
modinfo rtl8723ae parm: swenc:Set to 1 for software crypto (default 0) (bool) parm: ips:Set to 0 to not use link power save (default 1) (bool) parm: swlps:Set to 1 to use SW control power save (default 0) (bool) parm: fwlps:Set to 1 to use FW control power save (default 1) (bool) |
That’s a solution.
UPD: solution for Qualcomm Atheros AR9285
1 2 3 4 5 6 7 8 |
lspci | grep Wireless 03:00.0 Network controller: Qualcomm Atheros AR9285 Wireless Network Adapter (PCI-Express) (rev 01) echo "options ath9k nohwcrypt=1" | sudo tee /etc/modprobe.d/ath9k.conf sudo modprobe -rfv ath9k sudo modprobe -v ath9k |
And for MSI just add -msi=1 option.