Wi-Fi not working on Lenovo ThinkPad E570 (Realtek RTL8821CE)












6














We just bought a Lenovo ThinkPad E570 (which is supposed to have the Intel 8265 for wireless). This laptop was bought in part because it is certified to run Ubuntu and as such to me at least it would make sense for things to work out of the box... but no such luck.



First, I installed Ubuntu 17.10 and after installation realised Wi-Fi was not working. I also tried Ubuntu 16.04 from a USB drive since that is the version of Ubuntu it is certified for, but no luck there either.



The wireless chip is not detected by lshw (or even lspci by the looks of it), ip link does not show a wireless interface, and the iwlwifi kernel module is not loaded at boot (I can load this myself using modprobe iwlwifi but this does not make Wi-Fi work). I think it is a combined Wi-Fi/Bluetooth chip, and Bluetooth does appear to work (or at least Bluetooth shows up in Gnome and rfkill list).



modinfo iwlwifi | grep 8265 shows me a file ending in -34 is supposedly loaded but only a file ending in -33 (and some other lower numbers) is present in /lib/firmware, if that helps).



I have also installed the Linux 4.14.9 kernel in an attempt to get things to work, but this did not resolve the issue either.



Further information



root@ThinkPad-E570:~# modinfo iwlwifi | grep 8265
firmware: iwlwifi-8265-34.ucode
root@ThinkPad-E570:~# rfkill list all
0: tpacpi_bluetooth_sw: Bluetooth
Soft blocked: no
Hard blocked: no
1: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
root@ThinkPad-E570:~# dmesg | grep iwl
root@ThinkPad-E570:~# lspci -nnk | grep 0280 -A3
05:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. Device [10ec:c821]
Subsystem: Lenovo Device [17aa:c024]


Update



I just noticed that the laptop does not have an Intel wireless chip at all, but in fact has a Realtek one... which means that the specs presented on the product page of the shop I bought this laptop at were not accurate... Sigh. Same problem stands, however, just with a crappier wireless chip.










share|improve this question
























  • Please edit your question to show the result of the terminal commands: rfkill list all and also: dmesg | grep iwl and also: lspci -nnk | grep 0280 -A3
    – chili555
    Dec 28 '17 at 23:28












  • @chili555 Done that
    – RobinJ
    Dec 29 '17 at 10:50
















6














We just bought a Lenovo ThinkPad E570 (which is supposed to have the Intel 8265 for wireless). This laptop was bought in part because it is certified to run Ubuntu and as such to me at least it would make sense for things to work out of the box... but no such luck.



First, I installed Ubuntu 17.10 and after installation realised Wi-Fi was not working. I also tried Ubuntu 16.04 from a USB drive since that is the version of Ubuntu it is certified for, but no luck there either.



The wireless chip is not detected by lshw (or even lspci by the looks of it), ip link does not show a wireless interface, and the iwlwifi kernel module is not loaded at boot (I can load this myself using modprobe iwlwifi but this does not make Wi-Fi work). I think it is a combined Wi-Fi/Bluetooth chip, and Bluetooth does appear to work (or at least Bluetooth shows up in Gnome and rfkill list).



modinfo iwlwifi | grep 8265 shows me a file ending in -34 is supposedly loaded but only a file ending in -33 (and some other lower numbers) is present in /lib/firmware, if that helps).



I have also installed the Linux 4.14.9 kernel in an attempt to get things to work, but this did not resolve the issue either.



Further information



root@ThinkPad-E570:~# modinfo iwlwifi | grep 8265
firmware: iwlwifi-8265-34.ucode
root@ThinkPad-E570:~# rfkill list all
0: tpacpi_bluetooth_sw: Bluetooth
Soft blocked: no
Hard blocked: no
1: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
root@ThinkPad-E570:~# dmesg | grep iwl
root@ThinkPad-E570:~# lspci -nnk | grep 0280 -A3
05:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. Device [10ec:c821]
Subsystem: Lenovo Device [17aa:c024]


Update



I just noticed that the laptop does not have an Intel wireless chip at all, but in fact has a Realtek one... which means that the specs presented on the product page of the shop I bought this laptop at were not accurate... Sigh. Same problem stands, however, just with a crappier wireless chip.










share|improve this question
























  • Please edit your question to show the result of the terminal commands: rfkill list all and also: dmesg | grep iwl and also: lspci -nnk | grep 0280 -A3
    – chili555
    Dec 28 '17 at 23:28












  • @chili555 Done that
    – RobinJ
    Dec 29 '17 at 10:50














6












6








6


3





We just bought a Lenovo ThinkPad E570 (which is supposed to have the Intel 8265 for wireless). This laptop was bought in part because it is certified to run Ubuntu and as such to me at least it would make sense for things to work out of the box... but no such luck.



First, I installed Ubuntu 17.10 and after installation realised Wi-Fi was not working. I also tried Ubuntu 16.04 from a USB drive since that is the version of Ubuntu it is certified for, but no luck there either.



The wireless chip is not detected by lshw (or even lspci by the looks of it), ip link does not show a wireless interface, and the iwlwifi kernel module is not loaded at boot (I can load this myself using modprobe iwlwifi but this does not make Wi-Fi work). I think it is a combined Wi-Fi/Bluetooth chip, and Bluetooth does appear to work (or at least Bluetooth shows up in Gnome and rfkill list).



modinfo iwlwifi | grep 8265 shows me a file ending in -34 is supposedly loaded but only a file ending in -33 (and some other lower numbers) is present in /lib/firmware, if that helps).



I have also installed the Linux 4.14.9 kernel in an attempt to get things to work, but this did not resolve the issue either.



Further information



root@ThinkPad-E570:~# modinfo iwlwifi | grep 8265
firmware: iwlwifi-8265-34.ucode
root@ThinkPad-E570:~# rfkill list all
0: tpacpi_bluetooth_sw: Bluetooth
Soft blocked: no
Hard blocked: no
1: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
root@ThinkPad-E570:~# dmesg | grep iwl
root@ThinkPad-E570:~# lspci -nnk | grep 0280 -A3
05:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. Device [10ec:c821]
Subsystem: Lenovo Device [17aa:c024]


Update



I just noticed that the laptop does not have an Intel wireless chip at all, but in fact has a Realtek one... which means that the specs presented on the product page of the shop I bought this laptop at were not accurate... Sigh. Same problem stands, however, just with a crappier wireless chip.










share|improve this question















We just bought a Lenovo ThinkPad E570 (which is supposed to have the Intel 8265 for wireless). This laptop was bought in part because it is certified to run Ubuntu and as such to me at least it would make sense for things to work out of the box... but no such luck.



First, I installed Ubuntu 17.10 and after installation realised Wi-Fi was not working. I also tried Ubuntu 16.04 from a USB drive since that is the version of Ubuntu it is certified for, but no luck there either.



The wireless chip is not detected by lshw (or even lspci by the looks of it), ip link does not show a wireless interface, and the iwlwifi kernel module is not loaded at boot (I can load this myself using modprobe iwlwifi but this does not make Wi-Fi work). I think it is a combined Wi-Fi/Bluetooth chip, and Bluetooth does appear to work (or at least Bluetooth shows up in Gnome and rfkill list).



modinfo iwlwifi | grep 8265 shows me a file ending in -34 is supposedly loaded but only a file ending in -33 (and some other lower numbers) is present in /lib/firmware, if that helps).



I have also installed the Linux 4.14.9 kernel in an attempt to get things to work, but this did not resolve the issue either.



Further information



root@ThinkPad-E570:~# modinfo iwlwifi | grep 8265
firmware: iwlwifi-8265-34.ucode
root@ThinkPad-E570:~# rfkill list all
0: tpacpi_bluetooth_sw: Bluetooth
Soft blocked: no
Hard blocked: no
1: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
root@ThinkPad-E570:~# dmesg | grep iwl
root@ThinkPad-E570:~# lspci -nnk | grep 0280 -A3
05:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. Device [10ec:c821]
Subsystem: Lenovo Device [17aa:c024]


Update



I just noticed that the laptop does not have an Intel wireless chip at all, but in fact has a Realtek one... which means that the specs presented on the product page of the shop I bought this laptop at were not accurate... Sigh. Same problem stands, however, just with a crappier wireless chip.







networking wireless lenovo realtek-wireless






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jul 25 '18 at 9:21









pomsky

28.5k1187112




28.5k1187112










asked Dec 28 '17 at 23:11









RobinJ

6,44153964




6,44153964












  • Please edit your question to show the result of the terminal commands: rfkill list all and also: dmesg | grep iwl and also: lspci -nnk | grep 0280 -A3
    – chili555
    Dec 28 '17 at 23:28












  • @chili555 Done that
    – RobinJ
    Dec 29 '17 at 10:50


















  • Please edit your question to show the result of the terminal commands: rfkill list all and also: dmesg | grep iwl and also: lspci -nnk | grep 0280 -A3
    – chili555
    Dec 28 '17 at 23:28












  • @chili555 Done that
    – RobinJ
    Dec 29 '17 at 10:50
















Please edit your question to show the result of the terminal commands: rfkill list all and also: dmesg | grep iwl and also: lspci -nnk | grep 0280 -A3
– chili555
Dec 28 '17 at 23:28






Please edit your question to show the result of the terminal commands: rfkill list all and also: dmesg | grep iwl and also: lspci -nnk | grep 0280 -A3
– chili555
Dec 28 '17 at 23:28














@chili555 Done that
– RobinJ
Dec 29 '17 at 10:50




@chili555 Done that
– RobinJ
Dec 29 '17 at 10:50










5 Answers
5






active

oldest

votes


















8














First, I would suggest that these instructions are more likely to work with Ubuntu 17.10. If you are not currently running it now, I suggest that you re-install it.



Click this link to download the driver file: https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/endlessm/linux/tree/master/drivers/net/wireless/rtl8821ce



Unless you have specified otherwise in your browser, downloads go to the directory Downloads. Open a terminal and do:



cd ~/Downloads
unzip rtl8821ce.zip
cd rtl8821ce
nano Makefile


Scroll down to line 152 and change the line that now reads:



export TopDIR ?= $(srctree)/drivers/net/wireless/rtl8821ce


To now read:



export TopDIR ?= $ ~/Downloads/rtl8821ce


Proofread carefully, twice, and save (Ctrl+o followed by Enter) and close (Ctrl+x) the text editor.



Now do:



make
sudo make install
sudo modprobe 8821ce


Your wireless should now be working.



EDIT: You have compiled the module for your currently running kernel version only. When Update Manager offers a later kernel version, known as linux-image, after the requested reboot, you must recompile:



cd rtl8821ce
make clean
make
sudo make install
sudo modprobe 8821ce


Please retain the file and these instructions for that time.






share|improve this answer























  • This is what I found yesterday as well and it worked :) One thing I'm curious about is whether this will keep working across kernel updates, though.
    – RobinJ
    Dec 30 '17 at 10:32










  • Very good catch! Please see my edit above in a few moments.
    – chili555
    Dec 30 '17 at 15:18










  • after editing the file i tried to run make command , but it gives me an error. i run the "make" in the "rtl8821ce" directory , the error is /bin/sh: 1 cc:not found. Any idea . Is make a default utility comes with OS ?
    – DILEEP THOMAS
    Sep 18 '18 at 7:15










  • @DILEEPTHOMAS Please start your own new question.
    – chili555
    Sep 18 '18 at 12:56










  • For me edit the file wasnt necessary. Just download driver compile install and activate mod where enough. Thanks!!!
    – Diego Andrés Díaz Espinoza
    Dec 25 '18 at 17:01



















3














This is a follow up to stason's answer who suggests using dkms.



As far as I can tell, at the time of writing this, there is not yet a Wifi Driver for the Realtek RTL8821CE in the official Ubuntu Repositories.



Over on github there is a repository with an RTL8821CE driver aimed at kernels 4.14 and above and specifically for Arch Linux with no support provided for other Linux Distros: https://github.com/tomaspinho/rtl8821ce



It has, however, been reported to work just fine with Ubuntu 18.04.



A temporary internet connection will be required (such as an ethernet cable, USB wifi dongle or connecting your phone with a usb cable and 'tethering' it to use your phone's Wifi)



The solution is taken directly from post #4 by Praseodym (much praise to their wisdom!): https://ubuntuforums.org/showthread.php?t=2398917 and will install a number of packages for building the wifi driver module (git, dkms, build-essential & linux-headers) and clone the rtl8821ce git repository from tomaspinho (much praise also!).



DKMS is used because it's "a system which will automatically recompile and install a kernel module when a new kernel gets installed or updated."





Open up a terminal and type the following lines (You can cut and paste if you prefer):



sudo apt-get install --reinstall git dkms build-essential linux-headers-$(uname -r)
git clone https://github.com/tomaspinho/rtl8821ce
cd rtl8821ce
chmod +x dkms-install.sh
chmod +x dkms-remove.sh
sudo ./dkms-install.sh


After this is completed successfully, you should reboot and find that your Wifi is working.



You also want to make sure SecureBoot is Disabled in the BIOS settings or it won't let you load the unsigned self-complied kernel module.






share|improve this answer























  • I can confirm the you don't need to disable SecureBoot. If you have SecureBoot enabled simply follow the prompts during the sudo ./dkms-install.sh and enter the same password which you will choose during the reboot.
    – Niel de Wet
    Dec 1 '18 at 12:26



















2














Update 2018-02-27



Please note the suggested driver is for Endless OS and therefore it might break at any point. If any body has an official driver for Ubuntu it will be better.



Original Answer



This is not a new answer, would be better a comment.



So I tried to follow @chili555 answer but I kept getting errors while trying to make the module.



Errors like:



/rtl8821ce/include/osdep_service_linux.h:294:2: error: implicit declaration of function ‘timer_setup’; did you mean ‘ether_setup’?
[-Werror=implicit-function-declaration]
timer_setup(ptimer, pfunc, 0);
^~~~~~~~~~~ ether_setup


So I tried downloading a different revision (zip archive direct download link) which by the time of the original answer might be master as well. Then I was able to make the module and install following the steps provided by @chili555






share|improve this answer































    1














    A solution for the timer error.



    I manage to make it work for my lenovo E570 with ubuntu 16.04 and here are my steps:
    First, I upgrade my kernel version to 4.15.4 using this guide



    I believe any kernel version above 4.15.4 should work because I had to upgrade my kernel to 4.15.9 again. Note the driver needs to be reinstalled.



    Then, I followed the steps mentioned in @chili555 answers






    share|improve this answer























    • What do you mean by "installing the driver"?
      – pim
      Mar 13 '18 at 5:44










    • It means you need to sudo make install again. please let me know if it worked for you and what kernel version are you using. This method worked for me before, but recently I had to reinstall ubuntu several times and it stopped working for me.
      – Juichung_Kuo
      Mar 13 '18 at 21:58












    • The following thread includes an alternative driver to the 8821ce, link and it works for me again
      – Juichung_Kuo
      Mar 17 '18 at 21:06





















    1














    dkms build/install for rtl8821ce can be found here: https://github.com/tomaspinho/rtl8821ce



    When you use that approach you won't need to rebuild the module each time kernel is updated.



    I have just built it on Lenovo Idea 720s with kubuntu 18.04.





    Also I suggest you edit Makefile to change the log level from 4 (info) to 3 (warnings). Otherwise you will find your /var/log/syslog filling up at a crazy speed with useless info messages from the driver.



    So edit Makefile, to change:



    CONFIG_RTW_LOG_LEVEL = 4


    to:



    CONFIG_RTW_LOG_LEVEL = 3


    and then build and install the module as per instructions. If you already installed it, you need to uninstall it (using dkms-remove.sh) and then reinstall it again.



    Alternatively you can manually change the log level until next reboot with:



    echo 3 > /proc/net/rtl8821ce/log_level


    update: the maintainer changed the Makefile to reflect this suggestion, so if you make a fresh checkout/download it'll already have the right (quiet) setting.






    share|improve this answer






















      protected by Community Mar 17 '18 at 11:25



      Thank you for your interest in this question.
      Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).



      Would you like to answer one of these unanswered questions instead?














      5 Answers
      5






      active

      oldest

      votes








      5 Answers
      5






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      8














      First, I would suggest that these instructions are more likely to work with Ubuntu 17.10. If you are not currently running it now, I suggest that you re-install it.



      Click this link to download the driver file: https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/endlessm/linux/tree/master/drivers/net/wireless/rtl8821ce



      Unless you have specified otherwise in your browser, downloads go to the directory Downloads. Open a terminal and do:



      cd ~/Downloads
      unzip rtl8821ce.zip
      cd rtl8821ce
      nano Makefile


      Scroll down to line 152 and change the line that now reads:



      export TopDIR ?= $(srctree)/drivers/net/wireless/rtl8821ce


      To now read:



      export TopDIR ?= $ ~/Downloads/rtl8821ce


      Proofread carefully, twice, and save (Ctrl+o followed by Enter) and close (Ctrl+x) the text editor.



      Now do:



      make
      sudo make install
      sudo modprobe 8821ce


      Your wireless should now be working.



      EDIT: You have compiled the module for your currently running kernel version only. When Update Manager offers a later kernel version, known as linux-image, after the requested reboot, you must recompile:



      cd rtl8821ce
      make clean
      make
      sudo make install
      sudo modprobe 8821ce


      Please retain the file and these instructions for that time.






      share|improve this answer























      • This is what I found yesterday as well and it worked :) One thing I'm curious about is whether this will keep working across kernel updates, though.
        – RobinJ
        Dec 30 '17 at 10:32










      • Very good catch! Please see my edit above in a few moments.
        – chili555
        Dec 30 '17 at 15:18










      • after editing the file i tried to run make command , but it gives me an error. i run the "make" in the "rtl8821ce" directory , the error is /bin/sh: 1 cc:not found. Any idea . Is make a default utility comes with OS ?
        – DILEEP THOMAS
        Sep 18 '18 at 7:15










      • @DILEEPTHOMAS Please start your own new question.
        – chili555
        Sep 18 '18 at 12:56










      • For me edit the file wasnt necessary. Just download driver compile install and activate mod where enough. Thanks!!!
        – Diego Andrés Díaz Espinoza
        Dec 25 '18 at 17:01
















      8














      First, I would suggest that these instructions are more likely to work with Ubuntu 17.10. If you are not currently running it now, I suggest that you re-install it.



      Click this link to download the driver file: https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/endlessm/linux/tree/master/drivers/net/wireless/rtl8821ce



      Unless you have specified otherwise in your browser, downloads go to the directory Downloads. Open a terminal and do:



      cd ~/Downloads
      unzip rtl8821ce.zip
      cd rtl8821ce
      nano Makefile


      Scroll down to line 152 and change the line that now reads:



      export TopDIR ?= $(srctree)/drivers/net/wireless/rtl8821ce


      To now read:



      export TopDIR ?= $ ~/Downloads/rtl8821ce


      Proofread carefully, twice, and save (Ctrl+o followed by Enter) and close (Ctrl+x) the text editor.



      Now do:



      make
      sudo make install
      sudo modprobe 8821ce


      Your wireless should now be working.



      EDIT: You have compiled the module for your currently running kernel version only. When Update Manager offers a later kernel version, known as linux-image, after the requested reboot, you must recompile:



      cd rtl8821ce
      make clean
      make
      sudo make install
      sudo modprobe 8821ce


      Please retain the file and these instructions for that time.






      share|improve this answer























      • This is what I found yesterday as well and it worked :) One thing I'm curious about is whether this will keep working across kernel updates, though.
        – RobinJ
        Dec 30 '17 at 10:32










      • Very good catch! Please see my edit above in a few moments.
        – chili555
        Dec 30 '17 at 15:18










      • after editing the file i tried to run make command , but it gives me an error. i run the "make" in the "rtl8821ce" directory , the error is /bin/sh: 1 cc:not found. Any idea . Is make a default utility comes with OS ?
        – DILEEP THOMAS
        Sep 18 '18 at 7:15










      • @DILEEPTHOMAS Please start your own new question.
        – chili555
        Sep 18 '18 at 12:56










      • For me edit the file wasnt necessary. Just download driver compile install and activate mod where enough. Thanks!!!
        – Diego Andrés Díaz Espinoza
        Dec 25 '18 at 17:01














      8












      8








      8






      First, I would suggest that these instructions are more likely to work with Ubuntu 17.10. If you are not currently running it now, I suggest that you re-install it.



      Click this link to download the driver file: https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/endlessm/linux/tree/master/drivers/net/wireless/rtl8821ce



      Unless you have specified otherwise in your browser, downloads go to the directory Downloads. Open a terminal and do:



      cd ~/Downloads
      unzip rtl8821ce.zip
      cd rtl8821ce
      nano Makefile


      Scroll down to line 152 and change the line that now reads:



      export TopDIR ?= $(srctree)/drivers/net/wireless/rtl8821ce


      To now read:



      export TopDIR ?= $ ~/Downloads/rtl8821ce


      Proofread carefully, twice, and save (Ctrl+o followed by Enter) and close (Ctrl+x) the text editor.



      Now do:



      make
      sudo make install
      sudo modprobe 8821ce


      Your wireless should now be working.



      EDIT: You have compiled the module for your currently running kernel version only. When Update Manager offers a later kernel version, known as linux-image, after the requested reboot, you must recompile:



      cd rtl8821ce
      make clean
      make
      sudo make install
      sudo modprobe 8821ce


      Please retain the file and these instructions for that time.






      share|improve this answer














      First, I would suggest that these instructions are more likely to work with Ubuntu 17.10. If you are not currently running it now, I suggest that you re-install it.



      Click this link to download the driver file: https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/endlessm/linux/tree/master/drivers/net/wireless/rtl8821ce



      Unless you have specified otherwise in your browser, downloads go to the directory Downloads. Open a terminal and do:



      cd ~/Downloads
      unzip rtl8821ce.zip
      cd rtl8821ce
      nano Makefile


      Scroll down to line 152 and change the line that now reads:



      export TopDIR ?= $(srctree)/drivers/net/wireless/rtl8821ce


      To now read:



      export TopDIR ?= $ ~/Downloads/rtl8821ce


      Proofread carefully, twice, and save (Ctrl+o followed by Enter) and close (Ctrl+x) the text editor.



      Now do:



      make
      sudo make install
      sudo modprobe 8821ce


      Your wireless should now be working.



      EDIT: You have compiled the module for your currently running kernel version only. When Update Manager offers a later kernel version, known as linux-image, after the requested reboot, you must recompile:



      cd rtl8821ce
      make clean
      make
      sudo make install
      sudo modprobe 8821ce


      Please retain the file and these instructions for that time.







      share|improve this answer














      share|improve this answer



      share|improve this answer








      edited Dec 30 '17 at 15:22

























      answered Dec 29 '17 at 14:52









      chili555

      38k55177




      38k55177












      • This is what I found yesterday as well and it worked :) One thing I'm curious about is whether this will keep working across kernel updates, though.
        – RobinJ
        Dec 30 '17 at 10:32










      • Very good catch! Please see my edit above in a few moments.
        – chili555
        Dec 30 '17 at 15:18










      • after editing the file i tried to run make command , but it gives me an error. i run the "make" in the "rtl8821ce" directory , the error is /bin/sh: 1 cc:not found. Any idea . Is make a default utility comes with OS ?
        – DILEEP THOMAS
        Sep 18 '18 at 7:15










      • @DILEEPTHOMAS Please start your own new question.
        – chili555
        Sep 18 '18 at 12:56










      • For me edit the file wasnt necessary. Just download driver compile install and activate mod where enough. Thanks!!!
        – Diego Andrés Díaz Espinoza
        Dec 25 '18 at 17:01


















      • This is what I found yesterday as well and it worked :) One thing I'm curious about is whether this will keep working across kernel updates, though.
        – RobinJ
        Dec 30 '17 at 10:32










      • Very good catch! Please see my edit above in a few moments.
        – chili555
        Dec 30 '17 at 15:18










      • after editing the file i tried to run make command , but it gives me an error. i run the "make" in the "rtl8821ce" directory , the error is /bin/sh: 1 cc:not found. Any idea . Is make a default utility comes with OS ?
        – DILEEP THOMAS
        Sep 18 '18 at 7:15










      • @DILEEPTHOMAS Please start your own new question.
        – chili555
        Sep 18 '18 at 12:56










      • For me edit the file wasnt necessary. Just download driver compile install and activate mod where enough. Thanks!!!
        – Diego Andrés Díaz Espinoza
        Dec 25 '18 at 17:01
















      This is what I found yesterday as well and it worked :) One thing I'm curious about is whether this will keep working across kernel updates, though.
      – RobinJ
      Dec 30 '17 at 10:32




      This is what I found yesterday as well and it worked :) One thing I'm curious about is whether this will keep working across kernel updates, though.
      – RobinJ
      Dec 30 '17 at 10:32












      Very good catch! Please see my edit above in a few moments.
      – chili555
      Dec 30 '17 at 15:18




      Very good catch! Please see my edit above in a few moments.
      – chili555
      Dec 30 '17 at 15:18












      after editing the file i tried to run make command , but it gives me an error. i run the "make" in the "rtl8821ce" directory , the error is /bin/sh: 1 cc:not found. Any idea . Is make a default utility comes with OS ?
      – DILEEP THOMAS
      Sep 18 '18 at 7:15




      after editing the file i tried to run make command , but it gives me an error. i run the "make" in the "rtl8821ce" directory , the error is /bin/sh: 1 cc:not found. Any idea . Is make a default utility comes with OS ?
      – DILEEP THOMAS
      Sep 18 '18 at 7:15












      @DILEEPTHOMAS Please start your own new question.
      – chili555
      Sep 18 '18 at 12:56




      @DILEEPTHOMAS Please start your own new question.
      – chili555
      Sep 18 '18 at 12:56












      For me edit the file wasnt necessary. Just download driver compile install and activate mod where enough. Thanks!!!
      – Diego Andrés Díaz Espinoza
      Dec 25 '18 at 17:01




      For me edit the file wasnt necessary. Just download driver compile install and activate mod where enough. Thanks!!!
      – Diego Andrés Díaz Espinoza
      Dec 25 '18 at 17:01













      3














      This is a follow up to stason's answer who suggests using dkms.



      As far as I can tell, at the time of writing this, there is not yet a Wifi Driver for the Realtek RTL8821CE in the official Ubuntu Repositories.



      Over on github there is a repository with an RTL8821CE driver aimed at kernels 4.14 and above and specifically for Arch Linux with no support provided for other Linux Distros: https://github.com/tomaspinho/rtl8821ce



      It has, however, been reported to work just fine with Ubuntu 18.04.



      A temporary internet connection will be required (such as an ethernet cable, USB wifi dongle or connecting your phone with a usb cable and 'tethering' it to use your phone's Wifi)



      The solution is taken directly from post #4 by Praseodym (much praise to their wisdom!): https://ubuntuforums.org/showthread.php?t=2398917 and will install a number of packages for building the wifi driver module (git, dkms, build-essential & linux-headers) and clone the rtl8821ce git repository from tomaspinho (much praise also!).



      DKMS is used because it's "a system which will automatically recompile and install a kernel module when a new kernel gets installed or updated."





      Open up a terminal and type the following lines (You can cut and paste if you prefer):



      sudo apt-get install --reinstall git dkms build-essential linux-headers-$(uname -r)
      git clone https://github.com/tomaspinho/rtl8821ce
      cd rtl8821ce
      chmod +x dkms-install.sh
      chmod +x dkms-remove.sh
      sudo ./dkms-install.sh


      After this is completed successfully, you should reboot and find that your Wifi is working.



      You also want to make sure SecureBoot is Disabled in the BIOS settings or it won't let you load the unsigned self-complied kernel module.






      share|improve this answer























      • I can confirm the you don't need to disable SecureBoot. If you have SecureBoot enabled simply follow the prompts during the sudo ./dkms-install.sh and enter the same password which you will choose during the reboot.
        – Niel de Wet
        Dec 1 '18 at 12:26
















      3














      This is a follow up to stason's answer who suggests using dkms.



      As far as I can tell, at the time of writing this, there is not yet a Wifi Driver for the Realtek RTL8821CE in the official Ubuntu Repositories.



      Over on github there is a repository with an RTL8821CE driver aimed at kernels 4.14 and above and specifically for Arch Linux with no support provided for other Linux Distros: https://github.com/tomaspinho/rtl8821ce



      It has, however, been reported to work just fine with Ubuntu 18.04.



      A temporary internet connection will be required (such as an ethernet cable, USB wifi dongle or connecting your phone with a usb cable and 'tethering' it to use your phone's Wifi)



      The solution is taken directly from post #4 by Praseodym (much praise to their wisdom!): https://ubuntuforums.org/showthread.php?t=2398917 and will install a number of packages for building the wifi driver module (git, dkms, build-essential & linux-headers) and clone the rtl8821ce git repository from tomaspinho (much praise also!).



      DKMS is used because it's "a system which will automatically recompile and install a kernel module when a new kernel gets installed or updated."





      Open up a terminal and type the following lines (You can cut and paste if you prefer):



      sudo apt-get install --reinstall git dkms build-essential linux-headers-$(uname -r)
      git clone https://github.com/tomaspinho/rtl8821ce
      cd rtl8821ce
      chmod +x dkms-install.sh
      chmod +x dkms-remove.sh
      sudo ./dkms-install.sh


      After this is completed successfully, you should reboot and find that your Wifi is working.



      You also want to make sure SecureBoot is Disabled in the BIOS settings or it won't let you load the unsigned self-complied kernel module.






      share|improve this answer























      • I can confirm the you don't need to disable SecureBoot. If you have SecureBoot enabled simply follow the prompts during the sudo ./dkms-install.sh and enter the same password which you will choose during the reboot.
        – Niel de Wet
        Dec 1 '18 at 12:26














      3












      3








      3






      This is a follow up to stason's answer who suggests using dkms.



      As far as I can tell, at the time of writing this, there is not yet a Wifi Driver for the Realtek RTL8821CE in the official Ubuntu Repositories.



      Over on github there is a repository with an RTL8821CE driver aimed at kernels 4.14 and above and specifically for Arch Linux with no support provided for other Linux Distros: https://github.com/tomaspinho/rtl8821ce



      It has, however, been reported to work just fine with Ubuntu 18.04.



      A temporary internet connection will be required (such as an ethernet cable, USB wifi dongle or connecting your phone with a usb cable and 'tethering' it to use your phone's Wifi)



      The solution is taken directly from post #4 by Praseodym (much praise to their wisdom!): https://ubuntuforums.org/showthread.php?t=2398917 and will install a number of packages for building the wifi driver module (git, dkms, build-essential & linux-headers) and clone the rtl8821ce git repository from tomaspinho (much praise also!).



      DKMS is used because it's "a system which will automatically recompile and install a kernel module when a new kernel gets installed or updated."





      Open up a terminal and type the following lines (You can cut and paste if you prefer):



      sudo apt-get install --reinstall git dkms build-essential linux-headers-$(uname -r)
      git clone https://github.com/tomaspinho/rtl8821ce
      cd rtl8821ce
      chmod +x dkms-install.sh
      chmod +x dkms-remove.sh
      sudo ./dkms-install.sh


      After this is completed successfully, you should reboot and find that your Wifi is working.



      You also want to make sure SecureBoot is Disabled in the BIOS settings or it won't let you load the unsigned self-complied kernel module.






      share|improve this answer














      This is a follow up to stason's answer who suggests using dkms.



      As far as I can tell, at the time of writing this, there is not yet a Wifi Driver for the Realtek RTL8821CE in the official Ubuntu Repositories.



      Over on github there is a repository with an RTL8821CE driver aimed at kernels 4.14 and above and specifically for Arch Linux with no support provided for other Linux Distros: https://github.com/tomaspinho/rtl8821ce



      It has, however, been reported to work just fine with Ubuntu 18.04.



      A temporary internet connection will be required (such as an ethernet cable, USB wifi dongle or connecting your phone with a usb cable and 'tethering' it to use your phone's Wifi)



      The solution is taken directly from post #4 by Praseodym (much praise to their wisdom!): https://ubuntuforums.org/showthread.php?t=2398917 and will install a number of packages for building the wifi driver module (git, dkms, build-essential & linux-headers) and clone the rtl8821ce git repository from tomaspinho (much praise also!).



      DKMS is used because it's "a system which will automatically recompile and install a kernel module when a new kernel gets installed or updated."





      Open up a terminal and type the following lines (You can cut and paste if you prefer):



      sudo apt-get install --reinstall git dkms build-essential linux-headers-$(uname -r)
      git clone https://github.com/tomaspinho/rtl8821ce
      cd rtl8821ce
      chmod +x dkms-install.sh
      chmod +x dkms-remove.sh
      sudo ./dkms-install.sh


      After this is completed successfully, you should reboot and find that your Wifi is working.



      You also want to make sure SecureBoot is Disabled in the BIOS settings or it won't let you load the unsigned self-complied kernel module.







      share|improve this answer














      share|improve this answer



      share|improve this answer








      edited Sep 5 '18 at 9:21

























      answered Sep 2 '18 at 10:30









      pHeLiOn

      620316




      620316












      • I can confirm the you don't need to disable SecureBoot. If you have SecureBoot enabled simply follow the prompts during the sudo ./dkms-install.sh and enter the same password which you will choose during the reboot.
        – Niel de Wet
        Dec 1 '18 at 12:26


















      • I can confirm the you don't need to disable SecureBoot. If you have SecureBoot enabled simply follow the prompts during the sudo ./dkms-install.sh and enter the same password which you will choose during the reboot.
        – Niel de Wet
        Dec 1 '18 at 12:26
















      I can confirm the you don't need to disable SecureBoot. If you have SecureBoot enabled simply follow the prompts during the sudo ./dkms-install.sh and enter the same password which you will choose during the reboot.
      – Niel de Wet
      Dec 1 '18 at 12:26




      I can confirm the you don't need to disable SecureBoot. If you have SecureBoot enabled simply follow the prompts during the sudo ./dkms-install.sh and enter the same password which you will choose during the reboot.
      – Niel de Wet
      Dec 1 '18 at 12:26











      2














      Update 2018-02-27



      Please note the suggested driver is for Endless OS and therefore it might break at any point. If any body has an official driver for Ubuntu it will be better.



      Original Answer



      This is not a new answer, would be better a comment.



      So I tried to follow @chili555 answer but I kept getting errors while trying to make the module.



      Errors like:



      /rtl8821ce/include/osdep_service_linux.h:294:2: error: implicit declaration of function ‘timer_setup’; did you mean ‘ether_setup’?
      [-Werror=implicit-function-declaration]
      timer_setup(ptimer, pfunc, 0);
      ^~~~~~~~~~~ ether_setup


      So I tried downloading a different revision (zip archive direct download link) which by the time of the original answer might be master as well. Then I was able to make the module and install following the steps provided by @chili555






      share|improve this answer




























        2














        Update 2018-02-27



        Please note the suggested driver is for Endless OS and therefore it might break at any point. If any body has an official driver for Ubuntu it will be better.



        Original Answer



        This is not a new answer, would be better a comment.



        So I tried to follow @chili555 answer but I kept getting errors while trying to make the module.



        Errors like:



        /rtl8821ce/include/osdep_service_linux.h:294:2: error: implicit declaration of function ‘timer_setup’; did you mean ‘ether_setup’?
        [-Werror=implicit-function-declaration]
        timer_setup(ptimer, pfunc, 0);
        ^~~~~~~~~~~ ether_setup


        So I tried downloading a different revision (zip archive direct download link) which by the time of the original answer might be master as well. Then I was able to make the module and install following the steps provided by @chili555






        share|improve this answer


























          2












          2








          2






          Update 2018-02-27



          Please note the suggested driver is for Endless OS and therefore it might break at any point. If any body has an official driver for Ubuntu it will be better.



          Original Answer



          This is not a new answer, would be better a comment.



          So I tried to follow @chili555 answer but I kept getting errors while trying to make the module.



          Errors like:



          /rtl8821ce/include/osdep_service_linux.h:294:2: error: implicit declaration of function ‘timer_setup’; did you mean ‘ether_setup’?
          [-Werror=implicit-function-declaration]
          timer_setup(ptimer, pfunc, 0);
          ^~~~~~~~~~~ ether_setup


          So I tried downloading a different revision (zip archive direct download link) which by the time of the original answer might be master as well. Then I was able to make the module and install following the steps provided by @chili555






          share|improve this answer














          Update 2018-02-27



          Please note the suggested driver is for Endless OS and therefore it might break at any point. If any body has an official driver for Ubuntu it will be better.



          Original Answer



          This is not a new answer, would be better a comment.



          So I tried to follow @chili555 answer but I kept getting errors while trying to make the module.



          Errors like:



          /rtl8821ce/include/osdep_service_linux.h:294:2: error: implicit declaration of function ‘timer_setup’; did you mean ‘ether_setup’?
          [-Werror=implicit-function-declaration]
          timer_setup(ptimer, pfunc, 0);
          ^~~~~~~~~~~ ether_setup


          So I tried downloading a different revision (zip archive direct download link) which by the time of the original answer might be master as well. Then I was able to make the module and install following the steps provided by @chili555







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Mar 7 '18 at 10:07









          David Foerster

          27.8k1364110




          27.8k1364110










          answered Feb 5 '18 at 0:26









          ingkevin

          265




          265























              1














              A solution for the timer error.



              I manage to make it work for my lenovo E570 with ubuntu 16.04 and here are my steps:
              First, I upgrade my kernel version to 4.15.4 using this guide



              I believe any kernel version above 4.15.4 should work because I had to upgrade my kernel to 4.15.9 again. Note the driver needs to be reinstalled.



              Then, I followed the steps mentioned in @chili555 answers






              share|improve this answer























              • What do you mean by "installing the driver"?
                – pim
                Mar 13 '18 at 5:44










              • It means you need to sudo make install again. please let me know if it worked for you and what kernel version are you using. This method worked for me before, but recently I had to reinstall ubuntu several times and it stopped working for me.
                – Juichung_Kuo
                Mar 13 '18 at 21:58












              • The following thread includes an alternative driver to the 8821ce, link and it works for me again
                – Juichung_Kuo
                Mar 17 '18 at 21:06


















              1














              A solution for the timer error.



              I manage to make it work for my lenovo E570 with ubuntu 16.04 and here are my steps:
              First, I upgrade my kernel version to 4.15.4 using this guide



              I believe any kernel version above 4.15.4 should work because I had to upgrade my kernel to 4.15.9 again. Note the driver needs to be reinstalled.



              Then, I followed the steps mentioned in @chili555 answers






              share|improve this answer























              • What do you mean by "installing the driver"?
                – pim
                Mar 13 '18 at 5:44










              • It means you need to sudo make install again. please let me know if it worked for you and what kernel version are you using. This method worked for me before, but recently I had to reinstall ubuntu several times and it stopped working for me.
                – Juichung_Kuo
                Mar 13 '18 at 21:58












              • The following thread includes an alternative driver to the 8821ce, link and it works for me again
                – Juichung_Kuo
                Mar 17 '18 at 21:06
















              1












              1








              1






              A solution for the timer error.



              I manage to make it work for my lenovo E570 with ubuntu 16.04 and here are my steps:
              First, I upgrade my kernel version to 4.15.4 using this guide



              I believe any kernel version above 4.15.4 should work because I had to upgrade my kernel to 4.15.9 again. Note the driver needs to be reinstalled.



              Then, I followed the steps mentioned in @chili555 answers






              share|improve this answer














              A solution for the timer error.



              I manage to make it work for my lenovo E570 with ubuntu 16.04 and here are my steps:
              First, I upgrade my kernel version to 4.15.4 using this guide



              I believe any kernel version above 4.15.4 should work because I had to upgrade my kernel to 4.15.9 again. Note the driver needs to be reinstalled.



              Then, I followed the steps mentioned in @chili555 answers







              share|improve this answer














              share|improve this answer



              share|improve this answer








              edited Mar 13 '18 at 0:21

























              answered Mar 12 '18 at 23:10









              Juichung_Kuo

              112




              112












              • What do you mean by "installing the driver"?
                – pim
                Mar 13 '18 at 5:44










              • It means you need to sudo make install again. please let me know if it worked for you and what kernel version are you using. This method worked for me before, but recently I had to reinstall ubuntu several times and it stopped working for me.
                – Juichung_Kuo
                Mar 13 '18 at 21:58












              • The following thread includes an alternative driver to the 8821ce, link and it works for me again
                – Juichung_Kuo
                Mar 17 '18 at 21:06




















              • What do you mean by "installing the driver"?
                – pim
                Mar 13 '18 at 5:44










              • It means you need to sudo make install again. please let me know if it worked for you and what kernel version are you using. This method worked for me before, but recently I had to reinstall ubuntu several times and it stopped working for me.
                – Juichung_Kuo
                Mar 13 '18 at 21:58












              • The following thread includes an alternative driver to the 8821ce, link and it works for me again
                – Juichung_Kuo
                Mar 17 '18 at 21:06


















              What do you mean by "installing the driver"?
              – pim
              Mar 13 '18 at 5:44




              What do you mean by "installing the driver"?
              – pim
              Mar 13 '18 at 5:44












              It means you need to sudo make install again. please let me know if it worked for you and what kernel version are you using. This method worked for me before, but recently I had to reinstall ubuntu several times and it stopped working for me.
              – Juichung_Kuo
              Mar 13 '18 at 21:58






              It means you need to sudo make install again. please let me know if it worked for you and what kernel version are you using. This method worked for me before, but recently I had to reinstall ubuntu several times and it stopped working for me.
              – Juichung_Kuo
              Mar 13 '18 at 21:58














              The following thread includes an alternative driver to the 8821ce, link and it works for me again
              – Juichung_Kuo
              Mar 17 '18 at 21:06






              The following thread includes an alternative driver to the 8821ce, link and it works for me again
              – Juichung_Kuo
              Mar 17 '18 at 21:06













              1














              dkms build/install for rtl8821ce can be found here: https://github.com/tomaspinho/rtl8821ce



              When you use that approach you won't need to rebuild the module each time kernel is updated.



              I have just built it on Lenovo Idea 720s with kubuntu 18.04.





              Also I suggest you edit Makefile to change the log level from 4 (info) to 3 (warnings). Otherwise you will find your /var/log/syslog filling up at a crazy speed with useless info messages from the driver.



              So edit Makefile, to change:



              CONFIG_RTW_LOG_LEVEL = 4


              to:



              CONFIG_RTW_LOG_LEVEL = 3


              and then build and install the module as per instructions. If you already installed it, you need to uninstall it (using dkms-remove.sh) and then reinstall it again.



              Alternatively you can manually change the log level until next reboot with:



              echo 3 > /proc/net/rtl8821ce/log_level


              update: the maintainer changed the Makefile to reflect this suggestion, so if you make a fresh checkout/download it'll already have the right (quiet) setting.






              share|improve this answer




























                1














                dkms build/install for rtl8821ce can be found here: https://github.com/tomaspinho/rtl8821ce



                When you use that approach you won't need to rebuild the module each time kernel is updated.



                I have just built it on Lenovo Idea 720s with kubuntu 18.04.





                Also I suggest you edit Makefile to change the log level from 4 (info) to 3 (warnings). Otherwise you will find your /var/log/syslog filling up at a crazy speed with useless info messages from the driver.



                So edit Makefile, to change:



                CONFIG_RTW_LOG_LEVEL = 4


                to:



                CONFIG_RTW_LOG_LEVEL = 3


                and then build and install the module as per instructions. If you already installed it, you need to uninstall it (using dkms-remove.sh) and then reinstall it again.



                Alternatively you can manually change the log level until next reboot with:



                echo 3 > /proc/net/rtl8821ce/log_level


                update: the maintainer changed the Makefile to reflect this suggestion, so if you make a fresh checkout/download it'll already have the right (quiet) setting.






                share|improve this answer


























                  1












                  1








                  1






                  dkms build/install for rtl8821ce can be found here: https://github.com/tomaspinho/rtl8821ce



                  When you use that approach you won't need to rebuild the module each time kernel is updated.



                  I have just built it on Lenovo Idea 720s with kubuntu 18.04.





                  Also I suggest you edit Makefile to change the log level from 4 (info) to 3 (warnings). Otherwise you will find your /var/log/syslog filling up at a crazy speed with useless info messages from the driver.



                  So edit Makefile, to change:



                  CONFIG_RTW_LOG_LEVEL = 4


                  to:



                  CONFIG_RTW_LOG_LEVEL = 3


                  and then build and install the module as per instructions. If you already installed it, you need to uninstall it (using dkms-remove.sh) and then reinstall it again.



                  Alternatively you can manually change the log level until next reboot with:



                  echo 3 > /proc/net/rtl8821ce/log_level


                  update: the maintainer changed the Makefile to reflect this suggestion, so if you make a fresh checkout/download it'll already have the right (quiet) setting.






                  share|improve this answer














                  dkms build/install for rtl8821ce can be found here: https://github.com/tomaspinho/rtl8821ce



                  When you use that approach you won't need to rebuild the module each time kernel is updated.



                  I have just built it on Lenovo Idea 720s with kubuntu 18.04.





                  Also I suggest you edit Makefile to change the log level from 4 (info) to 3 (warnings). Otherwise you will find your /var/log/syslog filling up at a crazy speed with useless info messages from the driver.



                  So edit Makefile, to change:



                  CONFIG_RTW_LOG_LEVEL = 4


                  to:



                  CONFIG_RTW_LOG_LEVEL = 3


                  and then build and install the module as per instructions. If you already installed it, you need to uninstall it (using dkms-remove.sh) and then reinstall it again.



                  Alternatively you can manually change the log level until next reboot with:



                  echo 3 > /proc/net/rtl8821ce/log_level


                  update: the maintainer changed the Makefile to reflect this suggestion, so if you make a fresh checkout/download it'll already have the right (quiet) setting.







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Sep 17 '18 at 1:07

























                  answered Aug 22 '18 at 8:48









                  stason

                  1716




                  1716

















                      protected by Community Mar 17 '18 at 11:25



                      Thank you for your interest in this question.
                      Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).



                      Would you like to answer one of these unanswered questions instead?



                      Popular posts from this blog

                      Human spaceflight

                      Can not write log (Is /dev/pts mounted?) - openpty in Ubuntu-on-Windows?

                      張江高科駅