Ubuntu 20 no WI-FI after every update
I have the no Wi-Fi problem. I solved it in the first place by plugin a mobile device with an internet connection and installed third party drivers. The problem was solved, but now by every update I do the Wi-Fi wont work anymore and I need to repeat the third party driver installation after every update.
I can't provide more information from terminal because the Laptop i am talking about is a friends and we solved the problem in phone calls. Now we want to fix this issue once and for all.
Thanks for the help.
Edit:Here is a screenshot of the output from lsub and lspci
Edit2:Screenshot of error while doing "sudo ./dkms-install.sh"
I was going throught all the steps described in the answer below and run into this error I didn't understand. We blacklisted everything, rebooted and internet still working, but I am not quite sure if the issue is solved now or not..
Edit3:
DKMS make.log for rtl8821ce-v5.5.2_34066.20200325 for kernel 5.13.0-44-generic (x86_64)
Sat 04 Jun 2022 11:14:59 AM EDT
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/5.13.0-44-generic/build M=/var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build modules
make[1]: Entering directory '/usr/src/linux-headers-5.13.0-44-generic' CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_cmd.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_security.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_debug.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_io.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_ioctl_query.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_ioctl_set.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_ieee80211.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_mlme.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_mlme_ext.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_mi.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_wlan_util.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_vht.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_pwrctrl.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_rf.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_chplan.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_recv.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_sta_mgt.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_ap.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/mesh/rtw_mesh.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/mesh/rtw_mesh_pathtbl.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/mesh/rtw_mesh_hwmp.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_xmit.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_p2p.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_rson.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_tdls.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_br_ext.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_iol.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_sreset.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_btcoex_wifionly.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_btcoex.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_beamforming.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_odm.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_rm.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_rm_fsm.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/efuse/rtw_efuse.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/os_dep/osdep_service.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/os_dep/linux/os_intfs.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/os_dep/linux/pci_intf.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/os_dep/linux/pci_ops_linux.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/os_dep/linux/ioctl_linux.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/os_dep/linux/xmit_linux.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/os_dep/linux/mlme_linux.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/os_dep/linux/recv_linux.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/os_dep/linux/ioctl_cfg80211.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/os_dep/linux/rtw_cfgvendor.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/os_dep/linux/wifi_regd.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/os_dep/linux/rtw_android.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/os_dep/linux/rtw_proc.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/os_dep/linux/rtw_rhashtable.o CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/os_dep/linux/ioctl_mp.o
/var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/os_dep/linux/recv_linux.c: In function ‘napi_recv’:
/var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/os_dep/linux/recv_linux.c:358:55: error: ‘GRO_DROP’ undeclared (first use in this function) 358 | if (rtw_napi_gro_receive(&padapter->napi, pskb) != GRO_DROP) | ^~~~~~~~
/var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/os_dep/linux/recv_linux.c:358:55: note: each undeclared identifier is reported only once for each function it appears in
make[2]: * [scripts/Makefile.build:281: /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/os_dep/linux/recv_linux.o] Error 1
make[2]: * Waiting for unfinished jobs....
make[1]: * [Makefile:1879: /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.13.0-44-generic'
make: * [Makefile:2244: modules] Error 2 1 Answer
When a driver needs to be downloaded to get a wireless or other device working, there are two common methods to install the driver. The exact method is usually described in the README that is included in the downloaded driver.
The first method is, generally:
cd ~/Downloads/<downloaded_driver_file>
make
sudo make installThe make install only installs the driver for the currently running kernel; that is, the kernel version against which it was compiled. This means, as you’ve found, that at every kernel version update, from, for example, 5.15.0-27 to 5.15.0-28, after the requested reboot, the driver no longer works and must be recompiled for the new kernel version.
The second and preferred method is by DKMS or Dynamic Kernel Module Support. DKMS automagically recompiles and reinstalls without any added steps from the user. The typical process is:
sudo apt update
sudo apt install dkms
cd ~/Downloads/<downloaded_driver_file>
sudo ./dkms-install.sh However, the driver package must be specifically written to use the dkms process and include a dkms.conf file. Again, the process will be clearly outlined in the included README. Here is an example:
Debian/Ubuntu:
sudo apt-get install dkmsTo make use of the DKMS feature with this project, just run: ./dkms-install.sh
Your question says:
I can't provide more information from terminal because the Laptop i am talking about is a friends and we solved the problem in phone calls.
Without some specifics, we will be unable to offer specific instructions. If you were able to gather some data, we’d want to see if there was a dkms version of the driver. To know that, we’d want to know if this is a PCI internal wireless device or a USB device. If it is PCI, we’d want to see:
lspci -nnk | grep 0280 -A3If it is USB, we’d want:
lsusbWith this information, we’d look for a dkms version of the driver so that the recompile and reinstall would be done automatically.
Without further information, we are unable to suggest a solution.
EDIT: Based on the further information that you provided, I suggest that you install a dkms version of the driver:
sudo apt-get install --reinstall git dkms build-essential linux-headers-generic
git clone
cd rtl8821ce
chmod +x dkms-install.sh
chmod +x dkms-remove.sh
sudo ./dkms-install.shBlacklist the current drivers:
sudo -i
echo “blacklist rtl8821ce” >> /etc/modprobe.d/blacklist.conf
echo “blacklist rtW88_8821ce” >> /etc/modprobe.d/blacklist.conf
exitReboot. You should be all set.
EDIT 2: I notice that the code has been amended in the last few days. Please do:
sudo dkms remove rtl8821ce/v5.5.2_34066.20200325 –all
cd rtl8821ce
make clean
git pull
sudo ./dkms-install.shReboot and tell us if there is any improvement.
6