{eval=Array;=+count(Array);}
在系统上执行 depmod -a 命令后,会在 /lib/modules/`uname -r`/ 目录下创建 modules.*map 文件,如何能确认硬件所需要的驱动模块是什么,就需要通过硬件的ID,来查看 /lib/modules/`uname -r`/modules.pcimap 中定义的模块名称,下面讲解下 modules.pcimap 文件构造。
/lib/modules/`uname -r`/modules.pcimap 文件说明:1、在文件的第一行有个注释,分别介绍每列的含义:
[html] view plain copy2、其中 ID 是使用8个十六进制的数字表示,即前面的 0x 符号就表示 十六进制,而 lspci 只能得到 4位 十六进制数,所以,只要 lspci 的4位数能够和 modules.pcimap 中 ID 的后 4位 相同即可。例如:在执行 lspci -n 时得到的信息是 10ec:8139 ,那么在 modules.pcimap 中,相同的信息就是 0x000010ec 0x00008139 ,就可以确定该硬件所需驱动是 8139cp 模块;
3、如果 次生产商ID 和 次设备ID 都是 0xffffffff 的话,就表示该模块能够支持所有 生产商ID 和 设备ID 相同的设备,例如:
说明:8139cp 模块能够支持 生产商ID 为0x000010ec 设备ID 为 0x00008139 的所有设备;
但是,如果 生产商ID 是 0xffffffff 时,那么支持的设备就有特定情况,例如:
说明:8139too 模块能够支持 设备ID 是 0x00008139、次生产商ID 是 0x000013d1 、次设备ID 是 0x0000ab06 的所有设备;
4、同一个模块能够支持多个设备。
注意事项:在 modules.pcimap 文件中,会存在一些 生产商ID:设备ID 相同,但它们所对应的驱动模块却不相同的情况,例如:
此时,优先顺序应该遵循下面的原则:1、查找 生产商ID:设备ID 和 次生产商ID:次设备ID 相同的 专用模块;2、查找 设备ID 和 次生产商ID:次设备ID 相同的 通用模块;3、查找 设备ID 建议的 驱动模块;4、查找 生产商ID:设备ID 标准的 驱动模块。
因为工作需要,公司超哥写了个排序的命令:
0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答