How do I install Wi-Fi drivers for Realtek RTL8723DE device in Ubuntu 16.04?
lspci -v | grep -i network
02:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device d723
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It only takes a minute to sign up.
Sign up to join this communityYou may use the driver hosted at Larry Finger's rtlwifi_new
git repository. You would have to disable secure boot from the the BIOS/EFI first. Also make sure you have linux-headers
for the respective kernel(s) and build-essential
package installed. Then follow the steps below (you need to be connected to the internet by some other mean).
Install git
and dkms
if they're not installed by running
sudo apt install git dkms
Clone the repository
git clone -b extended --single-branch https://github.com/lwfinger/rtlwifi_new.git
Run the following commands to install
sudo dkms add rtlwifi_new
sudo dkms install rtlwifi-new/0.6
Reboot.
This should also work with newer kernels (and hence on Ubuntu 18.04 too).
Note: If you get very weak signal try changing your antenna selection
sudo tee /etc/modprobe.d/rtl8723de.conf <<< "options rtl8723de ant_sel=2"
(or ant_sel=1
if 2 doesn't help).
(Source)
See this for Bluetooth: How to activate bluetooth device for RTL8723DE?
There is new information on this device! With a temporary working internet connection, open a terminal and do:
sudo apt update
sudo apt install build-essential dkms git
git clone https://github.com/jeremyb31/rtl8723de.git
sudo dkms add ./rtl8723de
sudo dkms build rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414
sudo dkms install rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414
Reboot and let us hear your report.
This won't work for Ubuntu 18.04 because of the new kernel incompatibility.
dkms install
is necessary too (which invokes build
if necessary).
Feb 8, 2018 at 14:40
Kernel preparation unnecessary for this kernel. Skipping... Building module: cleaning build area.... 'make' all KVER=4.15.3-041503-generic....(bad exit status: 2) ERROR (dkms apport): binary package for rtl8723de: 5.1.1.8_21285.20171026_COEX20170111-1414 not found Error! Bad return status for module build on kernel: 4.15.3-041503-generic (x86_64) Consult /var/lib/dkms/rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414/build/make.log for more information.
Feb 12, 2018 at 13:18
ERROR (dkms apport): binary package for rtl8723de: 5.1.1.8_21285.20171026_COEX20170111-1414 not found Error! Bad return status for module build on kernel: 4.15.0-20-generic (x86_64) Consult /var/lib/dkms/rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414/build/make.log for more information.
cat /var/lib/dkms/rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414/build/make.log
If you want to keep secure boot enabled, then the previously posted solutions probably will not work for you. Instead I kept secure boot enabled and did the following:
Create a set of keys for signing:
openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=Descriptive common name/"
Import the key. You'll be prompted for a password here, which you'll need to remember. Your BIOS should prompt you for the password after the reboot.
sudo mokutil --import MOK.der
Restart:
reboot
You should have been prompted by your BIOS for the password. Assuming that worked, then you'll want to test that your MOK was successfully enrolled.
mokutil --test-key MOK.der
Now that your MOK has been enrolled. You'll need to install the drivers for you wifi.
git clone https://github.com/lwfinger/rtlwifi_new.git
cd rtlwifi_new
git checkout extended
sudo make install
You're drivers are available for adding to your kernel, but you need to sign them first before adding them because you have secure boot enabled. So use the keys you generated earlier to sign your drivers.
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n rtlwifi)
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n rtl_pci)
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n btcoexist)
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n rtl8723-common)
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n phydm_mod)
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n rtl8723de)
Finally, add the rtl8723de
drivers to the kernel in this order
sudo modprobe -r rtlwifi
sudo modprobe rtlwifi
sudo modprobe -r rtl_pci
sudo modprobe rtl_pci
sudo modprobe -r btcoexist
sudo modprobe btcoexist
sudo modprobe -r rtl8723-common
sudo modprobe rtl8723-common
sudo modprobe -r phydm_mod
sudo modprobe phydm_mod
sudo modprobe -r rtl8723de
sudo modprobe rtl8723de
On a side note: for the final step you might be able to get away with just writing:
sudo modprobe -r rtl8723de
sudo modprobe rtl8723de
modprobe
knows which drivers rtl8723de
depends on and should therefore be able to add everything that rtl8723de
depends on along with rtl8723de
. However, I didn't add my drivers this way and thus, can't guarantee this option will work.
Install:
sudo apt update
sudo apt install build-essential dkms git
git clone https://github.com/smlinux/rtl8723de.git -b current
sudo dkms add ./rtl8723de
sudo dkms install rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414
sudo depmod -a
sudo reboot
Uninstall:
sudo rmmod -f 8723de
sudo dkms uninstall rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414
sudo dkms remove rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414 --all
sudo depmod -a
sudo reboot
dkms install
. complete log: pastebin.com/bbhtmw2d. how do i fix this?
Apr 3, 2021 at 4:57
For kernels 4.19+ drivers for RTL8822BE, RTL8822CE, RTL8821CE, and RTL8723DE are located in rtw88
branch of Larry Finger's git repo.
Install them by running
sudo apt update
sudo apt install git dkms
git clone https://github.com/lwfinger/rtw88.git
sudo dkms add ./rtw88
sudo dkms install rtlwifi-new/0.6
lspci -v | grep -i network
copy the screen output and add it to your question.lspci -knn | grep Net -A3
terminal command instead.