无法在 ubuntu 16.04 内核 4.15 上安装 Realtek RTL8723de

无法在 ubuntu 16.04 内核 4.15 上安装 Realtek RTL8723de

我这样做了:

$ uname -r
4.15.0-041500-通用
$ git clonehttps://github.com/jeremyb31/rtl8723de.git 克隆到‘rtl8723de’... 远程:计数对象:536,完成。 远程:总计 536(增量 0),重用 0(增量 0),包重用 536 接收对象:100%(536/536),2.41 MiB | 356.00 KiB/s,完成。 解决增量:100%(195/195),完成。 检查连接...完成。
$ sudo dkms 添加./rtl8723de 创建符号链接 /var/lib/dkms/rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414/source -> /usr/src/rtl8723de-5.1.1.8_21285.20171026_COEX20170111-1414 DKMS:添加完成。
$ sudo dkms 安装 rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414 此内核不需要内核准备。跳过... 建筑模块: 清理建筑区域.... ‘make’ all KVER=4.15.0-041500-generic....(错误退出状态:2) 错误(dkms apport):未找到 rtl8723de 的二进制包:5.1.1.8_21285.20171026_COEX20170111-1414 错误!内核模块构建的返回状态错误:4.15.0-041500-generic (x86_64) 有关更多信息,请参阅 /var/lib/dkms/rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414/build/make.log。
我怀疑是因为内核 4.15,但我想看看你认为是什么,我整天都在为此苦苦挣扎,
谢谢
编辑:
make.log
$ cat make.log
适用于内核 4.15.0-041500-generic (x86_64) 的 rtl8723de-5.1.1.8_21285.20171026_COEX20170111-1414 的 DKMS make.log
2018 年 3 月 30 日 14:47:00 PET
使 ARCH = x86_64 CROSS_COMPILE = -C /lib/modules/4.15.0-041500-generic/build M = / var / lib / dkms / rtl8723de / 5.1.1.8_21285.20171026_COEX20170111-1414 / build模块
make[1]: 进入目录 '/usr/src/linux-headers-4.15.0-041500-generic'
  CC [M] /var/lib/dkms/rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414/build/core/rtw_cmd.o
在 /var/lib/dkms/rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414/build/include/osdep_service.h:42:0 包含的文件中,
                 来自/var/lib/dkms/rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414/build/include/drv_types.h:32,
                 来自 /var/lib/dkms/rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414/build/core/rtw_cmd.c:22:
/var/lib/dkms/rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414/build/include/osdep_service_linux.h: 在函数“_init_timer”中:
/var/lib/dkms/rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414/build/include/osdep_service_linux.h:287:8: 错误:'_timer {aka struct timer_list}' 没有名为'data'的成员
  ptimer->数据 = (无符号长整型)cntx;
        ^
/var/lib/dkms/rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414/build/include/osdep_service_linux.h:288:2: 错误:函数“init_timer”的隐式声明 [-Werror=implicit-function-declaration]
  初始化计时器(ptimer);
  ^
cc1:一些警告被视为错误
scripts/Makefile.build:316:目标‘/var/lib/dkms/rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414/build/core/rtw_cmd.o’的配方失败
使[2]:* [/var/lib/dkms/rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414/build/core/rtw_cmd.o] 错误 1
Makefile:1514: 目标配方'模块/var/lib/dkms/rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414/build' 失败
制作[1]:*[模块/var/lib/dkms/rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414/build] 错误 2
make[1]:离开目录‘/usr/src/linux-headers-4.15.0-041500-generic’
Makefile:1884:目标“模块”的配方失败
make:*** [模块] 错误 2

答案1

对于通过 Google 找到此页面的人来说,无需降级内核,而是使用官方驱动程序。请参阅HP 论坛上的这个帖子GitHub 存储库中的说明

git clone https://github.com/lwfinger/rtlwifi_new.git
cd rtlwifi_new
make
sudo make install

REBOOT

这就是我在 HP 14-bp071nd(带有 rtl8723de 和内核 4.15)上修复此错误的方法。

答案2

我已经解决了这个问题,结论是它在内核4.15上不起作用所以我降级到4.14,结果是:

$ sudo dkms 安装 rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414
此内核不需要内核准备。跳过... 建筑模块: 清理建筑区域.... ‘制作’所有 KVER=4.14.0-041400-通用................. 清理构建区域....
DKMS:构建完成。
rtl8723de.ko: 运行模块版本健全性检查。
好消息!rtl8723de.ko 的模块版本 v5.1.1.8_21285.20171026 与内核 4.14.0-041400-generic 中已经找到的内容完全匹配。 DKMS 不会取代该模块。 您可以通过指定--force来覆盖。depmod
........
DKMS:安装完成。

相关内容