为Realtek Semiconductor RTL8723DE设备[10ec:d723]安装Wi-Fi驱动程序。

如何在Ubuntu 16.04上安装Realtek RTL8723DE设备的Wi-Fi驱动程序?
lspci -v | grep -i network
02:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device d723

我们需要更多的硬件信息来帮助您,您能否查看这个问题,然后编辑您的问题并添加这些信息。 - J. Starnes
1Wi-Fi通常会自动安装。使用<Ctrl>+<Alt>+T打开终端,然后输入lspci -v | grep -i network,复制屏幕输出并将其添加到您的问题中。 - WinEunuuchs2Unix
heidy@heidy-HP-Laptop-15-bs0xx:〜$ lspci -v | grep -i 网络 02:00.0 网络控制器:瑞昱半导体股份有限公司 设备 d723 heidy@heidy-HP-Laptop-15-bs0xx:〜$ - heidi silva
2所请求的命令未能正确识别WiFi设备。请[编辑]您的问题,并添加lspci -knn | grep Net -A3终端命令的输出。 - user692175
这些是提供的信息,但我仍然无法访问无线网络。heidy@heidy-HP-Laptop-15-bs0xx:$ sudo lsmod | grep r81 [sudo] 输入密码: r8169 81920 0 mii 16384 1 r8169 heidy@heidy-HP-Laptop-15-bs0xx:$ lspci -v | grep -i network 02:00.0 网络控制器:Realtek Semiconductor Co., Ltd. 设备 d723 heidy@heidy-HP-Laptop-15-bs0xx:~$ - heidi silva
在这里,你所说的“没有图标”是什么意思?请修改你的问题,并包括nmcli d status的输出结果。 - dobey
3蓝牙设备也可以被激活。请参考https://askubuntu.com/questions/1033968/how-to-activate-bluetooth-device-for-rtl8723de - Pilot6
5个回答

您可以使用Larry Finger的rtlwifi_new驱动程序git存储库。您首先需要从BIOS/EFI中禁用安全启动。还请确保已安装了相应内核的linux-headersbuild-essential软件包。然后按照以下步骤操作(您需要通过其他方式连接到互联网)。
  1. 如果尚未安装,请运行以下命令安装gitdkms

    sudo apt install git dkms
    
  2. 克隆存储库

    git clone -b extended --single-branch https://github.com/lwfinger/rtlwifi_new.git
    
  3. 运行以下命令进行安装

    sudo dkms add rtlwifi_new
    sudo dkms install rtlwifi-new/0.6
    
  4. 重新启动。

这也适用于较新的内核(因此也适用于Ubuntu 18.04)。

注意:如果信号非常弱,请尝试更改天线选择。

sudo tee /etc/modprobe.d/rtl8723de.conf <<< "options rtl8723de ant_sel=2"

(如果第2个方法无效),则返回ant_sel=1
来源
查看这个蓝牙问题:如何激活RTL8723DE蓝牙设备?

1这对我有用。我使用的笔记本电脑是惠普BS180TX。Ubuntu版本为18.04 LTS。内核版本为4.15.0-20-generic。 - arshad
2DKMS安装是首选。我建议只保留DKMS方式或者进行解释。新手运行所有命令会遇到困难。 - Pilot6
它将接口挂载在/sys/class/net下,ip link show命令可以列出无线接口,但是当我执行ip link set interface up命令时却无效,不知道为什么。有什么想法吗? - Error
无线模块的状态无法呈现。可以帮忙吗? - Error
1这对我有用。我的笔记本型号是15q-ds0009TU - Vishal Zanzrukia
这对我没用,但是这个有用。 - olfek
@pomsky 这些命令对我也适用吗?这是我的以太网 - 产品:RTL8111/8168/8411 PCI Express千兆以太网控制器,我有一台戴尔Vostro 3800。 - gansub
1在19.10版本上工作,内核为5-3-0*,使用的是HP 14q-cs0025TU。 - Zanna
无法工作的18.04.3全新安装内核5.0.0-23-generic HP 15 db0xxx,设备[10ec:d723]关闭安全启动,无法进行make操作。没有gcc,无法安装gcc,无法调用DKMS,无法使用工作的局域网安装dkms。对我来说,提出一个新问题没有意义,但如果有人要求或者没有评论找到我,我会这样做。我真的很困惑。dkms依赖于dpkg-dev - 将不会被安装。 - xtrchessreal
现在工作的HP Notebook - 15-db0015dx与上面的评论相同。重新安装了18.04.3版本,并在安装期间和之后通过有线局域网连接进行了更新,然后按照上述步骤进行操作。不过,我小心地先安装了dkms,然后是git,只是为了确保不再出现之前的包错误问题。可能有必要连接有线局域网以避免出现类似我之前遇到的问题。很高兴这个问题已经解决了-感谢您提供的所有信息。 - xtrchessreal
https://github.com/lwfinger/rtlwifi_new.git 给我返回了一个 HTTP 404:未找到错误页面。 - Dániel Kis

这个设备有新的信息!通过一个临时的工作互联网连接,打开终端并执行以下操作:

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

重启并让我们听听你的报告。
对于Ubuntu 18.04来说,这不起作用,因为新内核不兼容。

我认为dkms install也是必要的(如果需要,会调用build)。 - David Foerster
4当我尝试执行最后一个命令时,显示如下内容:`内核准备对此内核不必要。 跳过...构建模块: 清理构建区域... 'make' all KVER=4.15.3-041503-generic....(出现错误的退出状态:2) 错误(dkms apport):未找到 rtl8723de 的二进制包:5.1.1.8_21285.20171026_COEX20170111-1414 错误! 在内核 4.15.3-041503-generic (x86_64) 上构建模块的返回状态不正确 请查看 /var/lib/dkms/rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414/build/make.log 获取更多信息。 - Jay Patel
@JayPatel 我建议你开一个新问题,并包含以下结果:dkms status。 - chili555
当我尝试执行第五个命令时,出现了错误。 “错误(dkms apport):未找到rtl8723de的二进制包:5.1.1.8_21285.20171026_COEX20170111-1414 错误!内核版本为4.15.0-20-generic(x86_64)的模块构建返回状态不佳。 请参阅/var/lib/dkms/rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414/build/make.log以获取更多信息。” - arshad
@arshad 建议您开始一个新的问题,并包括以下结果:cat /var/lib/dkms/rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414/build/make.log - chili555
@chili555 这是我的网卡 - 产品:RTL8111/8168/8411 PCI Express 千兆以太网控制器。同样的命令对我也适用吗? - gansub
@gansub 这是以太网,不是无线的。 - chili555

如果您想保持安全启动功能开启,那么之前发布的解决方案可能不适用于您。相反,我保持了安全启动功能的开启,并进行了以下操作:
创建一组用于签名的密钥:
openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=Descriptive common name/"

导入密钥。您将在此处被要求输入密码,这是您需要记住的密码。重新启动后,您的BIOS应该会提示您输入密码。

sudo mokutil --import MOK.der

重新启动:
reboot

你应该已经在BIOS中被要求输入密码了。假设这一步成功了,那么你需要测试一下你的MOK是否成功注册。
mokutil --test-key MOK.der

现在您的MOK已经注册成功。您需要安装无线网卡的驱动程序。
git clone https://github.com/lwfinger/rtlwifi_new.git
cd rtlwifi_new
git checkout extended
sudo make install

您的驱动程序可以添加到内核中,但在添加之前需要先对其进行签名,因为您启用了安全启动功能。请使用之前生成的密钥来对驱动程序进行签名。
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)

最后,按照以下顺序将rtl8723de驱动程序添加到内核中。
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

顺便说一句:对于最后一步,你可能只需要写下以下内容即可:
sudo modprobe -r rtl8723de
sudo modprobe rtl8723de

modprobe 知道 rtl8723de 依赖的驱动程序,因此应该能够添加 rtl8723de 以及其所依赖的一切。然而,我没有以这种方式添加我的驱动程序,因此无法保证这个选项会起作用。


来源:123

嗨@johnnyodonnell,我正在帮助一位学生解决这张特定的卡片问题,我必须感谢你。经过几天的研究,唯一能够在使用安全启动时提供帮助的就是你的回答。给你加1分,感谢你花费了大量时间和精力,因为我们按照你的步骤进行操作,没有遇到任何问题,而且解决了整个无线网络的问题。谢谢你,朋友。 - Luis Alvarado
1@LuisAlvarado 哇 - 真是太棒了!很高兴听到它对你有用! - johnnyodonnell

适用于Linux内核5及更高版本的Realtek RTL8723DE模块

安装方法:

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

卸载:
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

我在Debian 10.9上使用的内核版本是5.10.0,但我无法执行dkms install命令。完整的日志请参考:https://pastebin.com/bbhtmw2d。请问如何解决这个问题? - Naveen Reddy Marthala

对于内核版本4.19+的RTL8822BE、RTL8822CE、RTL8821CE和RTL8723DE驱动程序,它们位于Larry Finger的git仓库的rtw88分支中。
通过运行以下命令进行安装:
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