3

I have a Lenovo 320 laptop with rtl8821ce wifi adapter. I was using Ubuntu 19.04 and the adapter worked after following these steps.

I upgraded to 19.10 and the wifi is not working now.

The output of lshw -C network is as follows

*-network                 
       description: Ethernet interface
       product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:02:00.0
       logical name: enp2s0
       version: 10
       serial: 8c:16:45:45:5c:35
       capacity: 1Gbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=r8169 firmware=rtl8168g-3_0.0.1 04/23/13 latency=0 link=no multicast=yes port=MII
       resources: irq:16 ioport:4000(size=256) memory:a2104000-a2104fff memory:a2100000-a2103fff
  *-network UNCLAIMED
       description: Network controller
       product: RTL8821CE 802.11ac PCIe Wireless Network Adapter
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:03:00.0
       version: 00
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress cap_list
       configuration: latency=0
       resources: ioport:3000(size=256) memory:a2000000-a200ffff
  *-network
       description: Ethernet interface
       physical id: 3
       logical name: bnep0
       serial: b0:fc:36:38:c0:d0
       capabilities: ethernet physical
       configuration: broadcast=yes ip=192.168.44.52 multicast=yes

This post had the same problem as me -including installing the driver from additional drivers- but following the accepted answer didn't work for me.

Is there anything else I can do?

$ lspci -nnk | grep 0280 -A3
03:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8821CE 802.11ac PCIe Wireless Network Adapter [10ec:c821]
    Subsystem: Lenovo RTL8821CE 802.11ac PCIe Wireless Network Adapter [17aa:c024]
    Kernel modules: wl, 8821ce, rtl8821ce
$ sudo dkms status
bcmwl, 6.30.223.271+bdcom, 5.3.0-22-generic, x86_64: installed
rtl8821ce, 5.2.5.2.1.30816.20190425, 5.3.0-22-generic, x86_64: installed
$ sudo modprobe rtl8821ce && dmesg | grep rtl
modprobe: ERROR: could not insert 'rtl8821ce': Device or resource busy
Zanna
  • 70,465
  • Please edit your question to show the result of these terminal commands: lspci -nnk | grep 0280 -A3 and also: sudo dkms status and finally: sudo modprobe rtl8821ce && dmesg | grep rtl Welcome to Ask Ubuntu. – chili555 Nov 13 '19 at 14:31
  • May we also see: lsmod | grep 8821 and: dmesg | grep rtl – chili555 Nov 13 '19 at 16:46
  • Is there any chance that you may have installed two different 8821ce drivers at the same time? One manual install, or one Additional Drivers install, and one dkms install? Note: Kernel modules: wl, 8821ce, rtl8821ce – heynnema Nov 13 '19 at 21:27
  • @heynnema yeah, addtional drivers was installed first, then i installed the driver manually from https://packages.ubuntu.com/eoan/all/rtl8821ce-dkms/download. didn't work. i set additional drivers to 'Don't use the device' and installed the deb manually again, still nothing works ,and additional drivers is set again to first option, apparently the two are the same thing. – ahmed galal Nov 17 '19 at 08:45
  • Lets remove the extra dkms driver... sudo ./dkms-remove.sh from the original source folder, or sudo dkms remove rtl8821ce/5.2.5.2.1.30816.20190425 -k all then dkms status should not show the driver, then show me lspci -nnk | grep 0280 -A3 again. Then check Additional Drivers again. – heynnema Nov 17 '19 at 13:43
  • Any reason to have the bcmwl dkms driver installed? – heynnema Nov 17 '19 at 14:55
  • Edit your question and show me cat /etc/network/interfaces and cat /etc/netplan/*.yaml. – heynnema Nov 17 '19 at 14:57
  • Edit your question and show me modinfo 8821ce | grep filename – heynnema Nov 17 '19 at 15:02
  • I've got a lead on a new 8821ce driver that works. We first need to remove all double-installed drivers. – heynnema Nov 17 '19 at 20:10

2 Answers2

0

From the comments...

$ dkms status
bcmwl, 6.30.223.271+bdcom, 5.3.0-22-generic, x86_64: installed
rtl8821ce, 5.2.5.2.1.30816.20190425, 5.3.0-22-generic, x86_64: installed

Uninstall your current dkms driver (https://github.com/tomaspinho/rtl8821ce)...

cd rtl8821ce          # old source folder
sudo ./dkms-remove.sh # uninstall old dkms driver
dkms status

Now we make sure that duplicate 8821ce drivers have been removed...

sudo lspci -nnk | grep 0280 -A3 | grep modules

If you need a different driver, try this one... https://github.com/shubham151/rtl8821ce. (git clone https://github.com/shubham151/rtl8821ce.git). Don't follow the ReadMe there for how to install it, rather, follow the same procedure that you did before, so that you get the dkms install.

git clone https://github.com/shubham151/rtl8821ce.git # git clone new driver
cd rtl8821ce             # new source folder
chmod +x dkms-install.sh # make executable
chmod +x dkms-remove.sh  # make executable
sudo ./dkms-install.sh   # install new dkms driver

Update #1:

  • uninstalled bcmwl dkms module
  • uninstalled rtl8821ce dkms module
  • reinstalled rtl8821ce from .deb file
heynnema
  • 70,711
  • i ran sudo ./dkms-remove.sh -actually i did that before multiple times!- the result is About to run dkms removal steps... Error! There are no instances of module: rtl8821ce v5.2.5_1.26055.20180108.1 located in the DKMS tree. Finished running dkms removal steps. – ahmed galal Nov 18 '19 at 08:01
  • but dkms status still returns bcmwl, 6.30.223.271+bdcom, 5.3.0-22-generic, x86_64: installed rtl8821ce, 5.2.5.2.1.30816.20190425, 5.3.0-22-generic, x86_64: installed – ahmed galal Nov 18 '19 at 08:02
  • and sudo lspci -nnk | grep 0280 -A3 | grep modules returned Kernel modules: wl, 8821ce, rtl8 – ahmed galal Nov 18 '19 at 08:03
  • i ran sudo dkms remove rtl8821ce/5.2.5.2.1.30816.20190425 --all and now dkms status returns bcmwl, 6.30.223.271+bdcom, 5.3.0-22-generic, x86_64: installed – ahmed galal Nov 18 '19 at 08:41
  • tried to install the driver deb again and restart, still nothing. so i uninstalled it. – ahmed galal Nov 18 '19 at 08:42
  • sudo lspci -nnk | grep 0280 -A3 | grep modules now returns Kernel modules: wl, 8821ce – ahmed galal Nov 18 '19 at 08:43
  • @ahmedgalal Good job! Now we have to find the other 8821ce module. sudo locate -b 8821ce. Also, why do you need the bcmwl dkms module? Do you have a broadcom comm device on your system? – heynnema Nov 18 '19 at 12:26
  • i removed the broadcom module using sudo dkms remove bcmwl/6.30.223.271+bdcom --all , then installed the driver deb again , and it is now working !! apparently the broadcom device was the one that added this 8821ce modules, because after removing it running sudo lspci -nnk | grep 0280 -A3 | grep modules was returning nothing. Thanks a lot !! – ahmed galal Nov 19 '19 at 11:30
  • and i probably added the broadcom driver by mistake while searching for solutions. – ahmed galal Nov 19 '19 at 11:34
  • @ahmedgalal does dkms status now show rtl8821ce, 5.2.5.2.1.30816.20190425, 5.3.0-22-generic, x86_64: installed again? – heynnema Nov 19 '19 at 14:37
  • basically yes, just a minor difference in versions: rtl8821ce, 5.2.5.2.1.30816.20190425, 5.3.0-23-generic, x86_64: installed – ahmed galal Nov 21 '19 at 10:42
  • @ahmedgalal that looks like the same version that I was asking about. Glad it's working now. – heynnema Nov 21 '19 at 15:46
0

For recent ubuntu 20.04 LTS this should do the trick:

apt install rtl8821ce-dkms
Michael
  • 121