Linux 驱动模块查询20241213

Linux 驱动模块查询

  1. 在有的情况下,我们需要查询和确认驱动版本的信息,这个文档分了两个情况来分析,一个是系统已经加载的驱动版本,一个是系统没加载,但是kernel自带的驱动。
    这里以V10 SP3 4.19.90-52.42.v2207.ky10.aarch64 为例子说明。
  2. 已经加载了的驱动查询
    1. 使用 lsmod 查询系统加载的模块信息
    该命令会输出系统当前已加载的模块列表,列表如下:
    一共三列输出:Module Size Used by
    Module: 列出了当前加载的模块名称。

Size: 显示加载的模块占用的内存大小(以字节为单位)。
Used by: 这列显示了使用该模块的其他模块或设备的数量。如果有多个模块使用该模块,会以逗号分隔列出它们的名称。


2.根据lsmod的显示的Module名称可以用modinfo 查询模块的驱动版本信息
modinfo <module_name>
这里查询modinfo virtio_gpu
输出如图:

3.要查询当前的硬件驱动版本信息,需要获取硬件的名称,获得硬件的驱动版本名称再来查询,比如要获取raid 卡驱动的版本信息,可以先lspci -k 获取阵列卡名称,根据阵列卡的厂商信息,可以知道阵列卡的驱动名称,比如boradcom的名称一般是megaraid,micrsmi的阵列卡是smatrpqi


  1. 没加载的驱动信息查询
    1.系统内核自带的驱动位于/lib/modules/$(uname -r)/kernel/drivers/其中uname -r是当前的系统内核版本信息。
    驱动版本名称一般是带ko或者ko.xz结尾
    find /lib/modules/$(uname -r)//kernel/drivers -type f -name "*.ko.*"
    可以列出当前系统内核自带的所有驱动名称,如果要列出其他版本的内核,就要看/lib/modules是否有需要的版本内核信息。
    2.查询内核自带的驱动版本信息
    这里以smartpqi的驱动为例子
    先grep 找到具体的驱动名称和位置,再用modinfo 指定文件来查询


  1. 总结
    通过这样的办法,可以确认当前系统内核是否默认支持客户要求的硬件驱动。

查询到的驱动版本信息,然后去查询硬件厂商的驱动说明,看这个版本是否已经支持。

posted @ 2025-01-21 11:22  xiaolongli  阅读(45)  评论(0)    收藏  举报