我买了一台安装了 ubuntu 18.10 的 DELL Vosro 3583。我立即升级到了 19.10。升级过程很顺利,一切都运行正常,直到我发现仍在使用的内核是旧的 4.15 内核 (vmlinuz-4.15.0-1073-oem)。
然后我使用以下方法手动升级了内核
->sudo apt-get upgrade linux-kernel-generic linux-headers-generic
在执行此操作时我发现有一个错误:
Error! The dkms.conf for this module includes a BUILD_EXCLUSIVE directive which does not match this kernel/arch. This indicates that it should not be built.
Error! The dkms.conf for this module includes a BUILD_EXCLUSIVE directive which does not match this kernel/arch. This indicates that it should not be built.
我重新启动了,一切似乎都运行正常。该盒子现在运行的是内核 5.3。
我搜索了一下,发现我可以使用以下命令列出 dkms 模块:
->dkms status
oem-ethernet-r8169-aspm-support-bionic, 3, 4.15.0-1073-oem, x86_64: installed
oem-wifi-qualcomm-ath10k-lp1803647-4.15, 2.0, 4.15.0-1073-oem, x86_64: installed
我有一个问题:如何将这些模块更新到新的 19.10 模块?
lspci
给出以下内容:
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
03:00.0 Network controller: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter (rev 31)
谢谢
编辑:对 heynnema 的回应:
是的,升级后 wifi 工作正常。反正我不使用以太网端口。
添加请求的输出。我查看了 dkms.conf 文件并看到了“BUILD_EXCLUSIVE_KERNEL="^4.15.*"”行。但是我预计升级到 19.10 后目录本身应该升级为类似于“oem-wifi-qualcomm-ath10k-lp1803647-5.3-xx”的内容,而不是“/oem-wifi-qualcomm-ath10k-lp1803647-4.15-xx”。
$ sudo lshw -C 网络
*-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: 15
serial: 98:e7:43:0f:8d:28
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical
configuration: broadcast=yes driver=r8169 latency=0 multicast=yes
resources: irq:16 ioport:3000(size=256) memory:c1304000-c1304fff memory:c1300000-c1303fff
*-network
description: Wireless interface
product: QCA9377 802.11ac Wireless Network Adapter
vendor: Qualcomm Atheros
physical id: 0
bus info: pci@0000:03:00.0
logical name: wlp3s0
version: 31
serial: 40:23:43:44:aa:61
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=ath10k_pci driverversion=5.3.0-40-generic firmware=WLAN.TF.2.1-00021-QCARMSWP-1 ip=192.168.1.47 latency=0 link=yes multicast=yes wireless=IEEE 802.11
resources: irq:131 memory:c1000000-c11fffff
$ cat /usr/src/oem-wifi-qualcomm-ath10k-lp1803647-4.15-2.0/dkms.conf
PACKAGE_NAME="oem-wifi-qualcomm-ath10k-lp1803647-4.15"
PACKAGE_VERSION="2.0"
MAKE="'make' -C ./ KVER=$kernelver"
CLEAN="'make' -C ./ clean"
AUTOINSTALL="yes"
REMAKE_INITRD="yes"
BUILD_EXCLUSIVE_KERNEL="^4.15.*"
BUILT_MODULE_NAME[0]="ath"
BUILT_MODULE_LOCATION[0]="./"
DEST_MODULE_LOCATION[0]="/updates"
BUILT_MODULE_NAME[1]="ath10k_core"
BUILT_MODULE_LOCATION[1]="ath10k/"
DEST_MODULE_LOCATION[1]="/updates"
BUILT_MODULE_NAME[2]="ath10k_pci"
BUILT_MODULE_LOCATION[2]="ath10k/"
DEST_MODULE_LOCATION[2]="/updates"
BUILT_MODULE_NAME[3]="ath10k_sdio"
BUILT_MODULE_LOCATION[3]="ath10k/"
DEST_MODULE_LOCATION[3]="/updates"
BUILT_MODULE_NAME[4]="ath10k_usb"
BUILT_MODULE_LOCATION[4]="ath10k/"
DEST_MODULE_LOCATION[4]="/updates"
$ cat /usr/src/oem-ethernet-r8169-aspm-support-bionic-3/dkms.conf
PACKAGE_NAME="oem-ethernet-r8169-aspm-support-bionic"
PACKAGE_VERSION="3"
MAKE="'make' -C ./ KVER=$kernelver"
CLEAN="'make' -C ./ clean"
AUTOINSTALL="yes"
REMAKE_INITRD="yes"
BUILD_EXCLUSIVE_KERNEL="^4.15.*"
BUILT_MODULE_NAME[0]="r8169"
BUILT_MODULE_LOCATION[0]="./"
DEST_MODULE_LOCATION[0]="/updates"
答案1
随着 Ubuntu 从 18.10 升级到 19.10,许多戴尔 OEM 软件被淘汰。其中包括内核和一些 dkms 网络软件。
手动将内核 4.15 升级到 5.3 解决了一些问题,并且允许网络设备无需旧的 dkms 模块即可运行。
因此,可以删除旧的 OEM dkms 驱动程序。
sudo dkms remove oem-ethernet-r8169-aspm-support-bionic/3 --all
sudo dkms remove oem-wifi-qualcomm-ath10k-lp1803647-4.15/2.0 --all
dkms status
# 不应返回任何内容
稍后,如果以太网端口被使用并且出现问题,可以尝试使用不同的 dkms 驱动程序:
sudo apt-get update
sudo apt-get install r8168-dkms