modprobe amd-rng失败,没有这样的设备

当试图将hw_random安装到2.6内核时,modprobe在CentOS 5.7和Fedora 15上都会返回一个FATAL错误“No such device”。两者分别使用最新的内核。

.ko文件存在,config-包含CONFIG_RTC = y和CONFIG_CRYPTO_RNG = m

这两个服务器都是x86_64 AMD处理器。

唯一的谷歌结果是非常古老的,经常引用内核模块'hw_random'(已被replace为处理器特定的模块,并没有提供太多的帮助。

有没有人能够安装hw_random? 我在安装模块时错过了一个步骤吗?

编辑:

Fedora 15

/lib/modules/2.6.40.6-0.fc15.x86_64/kernel/drivers/char/hw_random/amd-rng.ko

# uname -r

2.6.40.6-0.fc15.x86_64

# modprobe -v amd-rng

insmod /lib/modules/2.6.40.6-0.fc15.x86_64/kernel/drivers/char/hw_random/amd-rng.ko

致命错误:插入amd_rng错误(/lib/modules/2.6.40.6-0.fc15.x86_64/kernel/drivers/char/hw_random/amd-rng.ko):没有这样的设备

CentOS 5.7

/lib/modules/2.6.18-274.7.1.el5/kernel/drivers/char/hw_random/amd-rng.ko

# uname -r

2.6.18-274.7.1.el5

# modprobe -v amd-rng

insmod /lib/modules/2.6.18-274.7.1.el5/kernel/drivers/char/hw_random/amd-rng.ko

致命错误:插入amd_rng(/lib/modules/2.6.18-274.7.1.el5/kernel/drivers/char/hw_random/amd-rng.ko)时出错:没有这样的设备

“没有这样的设备”,就像“你的电脑缺less所需的硬件设备”。

查看PCI_VDEVICE(AMD,…)的Linux源代码amd-rng.c以查看PCI供应商和设备编号。

作为一个例子,amd-rng.c可能包含:

 /* * Data for PCI driver interface * * This data only exists for exporting the supported * PCI ids via MODULE_DEVICE_TABLE. We do not actually * register a pci_driver, because someone else might one day * want to register another driver on the same PCI id. */ static const struct pci_device_id pci_tbl[] = { { PCI_VDEVICE(AMD, 0x7443), 0, }, { PCI_VDEVICE(AMD, 0x746b), 0, }, { 0, }, /* terminate list */ }; 

这些转化为:

 vendor: 1022 ("Advanced Micro Devices [AMD]"), device: 7443 ("AMD-768 [Opus] ACPI") vendor: 1022 ("Advanced Micro Devices [AMD]"), device: 746b ("AMD-8111 ACPI") 

使用lscpi -vnn将显示你所拥有的PCI设备。 您需要查看1022:74431022:746b