You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Debian 12中DKMS安装的ast模块未加载,仍使用内置旧驱动

Debian 12下DKMS安装AST驱动后新模块无法加载问题

问题详情

1. 驱动安装过程无报错

执行dpkg -i ast-drm-deb12.deb全程无异常,输出如下:

root@debian:/home/sw/Linux_DRM_1.14.1_4/DKMS# dpkg -i ast-drm-deb12.deb
(Reading database ... 169202 files and directories currently installed.)
Preparing to unpack ast-drm-deb12.deb ...
Module ast-1.14.1 for kernel 6.1.0-9-amd64 (x86_64).
Before uninstall, this module version was ACTIVE on this kernel.

ast.ko:
 - Uninstallation
   - Module was not found within /lib/modules/6.1.0-9-amd64/
 - Original module
   - No original module was found for this module on this kernel.
   - Use the dkms install command to reinstall any previous module version.
depmod...
Deleting module ast-1.14.1 completely from the DKMS tree.
Unpacking ast-dkms (1.14.1) over (1.14.1) ...
Setting up ast-dkms (1.14.1) ...
Loading new ast-1.14.1 DKMS files...
Building for 6.1.0-9-amd64
Building for architecture x86_64
Building initial module for 6.1.0-9-amd64
Done.

ast.ko:
Running module version sanity check.
 - Original module
 - Installation
   - Installing to /lib/modules/6.1.0-9-amd64/updates/dkms/
depmod...

2. 重启后仍加载内置旧版本驱动

系统重启后,dmesg显示仍使用内核内置的0.1.0版本AST驱动:

root@debian:/etc# dmesg | grep ast
[    3.852665] ast 0000:08:00.0: [drm] P2A bridge disabled, using default configuration
[    3.852666] ast 0000:08:00.0: [drm] AST 2600 detected
[    3.852678] ast 0000:08:00.0: [drm] Using analog VGA
[    3.852679] ast 0000:08:00.0: [drm] dram MCLK=396 Mhz type=1 bus_width=16
[    3.852932] [drm] Initialized ast 0.1.0 20120228 for 0000:08:00.0 on minor 0

3. DKMS状态显示驱动已成功安装

root@debian:/var/log# dkms status
ast/1.14.1, 6.1.0-9-amd64, x86_64: installed

4. modinfo可查询到更新后的模块信息

root@debian:/usr/src# modinfo ast
filename:       /lib/modules/6.1.0-9-amd64/updates/dkms/ast.ko
version:        1.14.1
license:        GPL and additional rights
description:    AST
author:         Dave Airlie
firmware:       ast_dp501_fw.bin
srcversion:     41CEE48BDC2FE51E9754203
alias:          pci:v00001A03d00002010sv*sd*bc03sc*i*
alias:          pci:v00001A03d00002000sv*sd*bc03sc*i*
depends:        drm_kms_helper,drm,drm_vram_helper,i2c-algo-bit,drm_ttm_helper
retpoline:      Y
name:           ast
vermagic:       6.1.0-9-amd64 SMP preempt mod_unload modversions
sig_id:         PKCS#7
signer:         DKMS module signing key
sig_key:        67:37:CD:0D:22:4C:F8:7F:21:EB:BF:E2:0B:12:04:73:A8:57:0C:69
sig_hashalgo:   sha256
signature:      05:3F:F4:D6:25:94:EC:DD:A3:B2:22:6C:90:73:F3:96:F9:14:56:BC:
                71:C0:48:49:09:0D:04:3F:E8:05:9F:50:03:31:1A:C9:75:2F:41:07:
                B4:99:C7:9D:31:28:ED:1A:68:03:BB:8E:48:51:6B:72:61:EB:31:2B:
                02:6A:F6:C2:64:6F:CF:36:AD:76:2E:93:D5:C6:2E:59:F2:A9:09:3B:
                35:DA:EC:B3:69:61:77:93:6E:74:E6:FC:06:FB:77:CF:87:F9:B3:46:
                72:B7:9E:9E:59:26:01:F4:AC:A0:ED:29:6A:37:D5:BB:E3:25:A5:5A:
                CE:89:72:CA:1E:D2:61:50:B5:33:DB:15:6A:3E:E5:5D:6A:B5:A0:6E:
                A5:F5:4F:C1:96:5E:FC:E6:FC:1E:58:BC:71:FC:51:30:70:3F:9B:98:
                0C:7E:89:64:A0:6B:6C:11:71:64:64:89:16:16:EF:EF:5F:10:8E:25:
                5D:AF:0C:70:A5:F0:7C:C7:E1:EB:86:A4:CE:FF:DA:0D:13:C3:86:AB:
                21:11:C3:1D:76:DC:79:33:54:75:D3:61:7A:F2:D0:9E:1D:FB:52:68:
                53:C3:14:2F:BB:D7:3A:D6:8F:63:2E:27:5F:50:67:7F:5F:DB:CB:D6:
                87:AC:B0:70:22:F0:D1:B3:4A:19:97:9E:A3:DF:94:E8
parm:           modeset:Disable/Enable modesetting (int)

5. DKMS配置文件内容

当前dkms.conf配置如下:

MAKE="BUILD_KERNEL=${kernelver} make -C src/ KERNELDIR=/lib/modules/${kernelver}/build"
CLEAN="make -C src/ clean"
BUILT_MODULE_NAME=ast
BUILT_MODULE_LOCATION=src/
DEST_MODULE_LOCATION="/updates"
PACKAGE_NAME=ast-dkms
PACKAGE_VERSION=1.14.1
AUTOINSTALL=yes

解决方法

1. 阻止内核内置模块加载

内核内置的AST模块优先级高于DKMS安装的模块,需通过黑名单禁用:

  • 创建黑名单文件:
    echo "blacklist ast" > /etc/modprobe.d/blacklist-ast.conf
    
  • 更新initramfs,让黑名单生效:
    update-initramfs -u -k all
    

2. 验证模块加载情况

重启系统后执行以下命令验证:

  • 检查黑名单是否生效:
    dmesg | grep -i blacklist
    
    输出中应包含ast被拉黑的记录。
  • 查看驱动版本:
    dmesg | grep ast
    
    此时应显示初始化的是1.14.1版本的AST驱动。

3. 手动加载测试(可选)

若重启后仍未加载,可手动加载DKMS模块:

modprobe ast

再次查看dmesg | grep ast确认版本。

4. 确认depmod优先级

Debian系统中,/lib/modules/<kernel-ver>/updates/目录下的模块优先级高于内核默认模块目录,安装过程中depmod已执行,若仍有问题可手动重新生成依赖:

depmod -a 6.1.0-9-amd64

内容的提问来源于stack exchange,提问作者JHT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 11:37:37