Назад | Перейти на главную страницу

modprobe amd-rng не работает, такого устройства нет

При попытке установить hw_random в ядро ​​2.6 modprobe возвращает ФАТАЛЬНУЮ ошибку «Нет такого устройства» как в CentOS 5.7, так и в Fedora 15. Оба используют последнее ядро ​​соответственно.

Файл .ko существует, а config- содержит CONFIG_RTC = y и CONFIG_CRYPTO_RNG = m

Оба сервера - это процессоры AMD x86_64.

Единственные результаты в Google очень старые, часто ссылаются на модуль ядра hw_random (который был заменен модулями, специфичными для процессора, и не предлагает особой помощи.

Кто-нибудь смог установить 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

FATAL: ошибка при вставке 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

FATAL: ошибка при вставке amd_rng (/lib/modules/2.6.18-274.7.1.el5/kernel/drivers/char/hw_random/amd-rng.ko): такого устройства нет

«Нет такого устройства», например «на вашем компьютере нет необходимого оборудования».

Посмотрите исходный код Linux на amd-rng.c для PCI_VDEVICE (AMD, ...), чтобы увидеть поставщика 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:7443 или 1022:746b.