Re: [Intel][RNG] PCI IDs commented out for 82801I (ICH9 Mobile and non-mobile)?

From: BjÃrn Mork
Date: Wed Mar 20 2013 - 17:03:56 EST


Shawn Starr <shawn.starr@xxxxxxxxxx> writes:

> Hello folks,
>
> I was looking at why I can't load the Intel RNG driver (or why it doesn't load automatically) and
> it just so happens I have both the mobile and non-mobile ICH9 chipset. Looking at the driver I noticed:
>
> /* BAM, CAM, DBM, FBM, GxM
> { PCI_DEVICE(0x8086, 0x2448) }, */
>
> /* BA, CA, DB, Ex, 6300, Fx, 631x/632x, Gx
> { PCI_DEVICE(0x8086, 0x244e) }, */
>
> IDs from both machines:
>
> 00:1e.0 PCI bridge [0604]: Intel Corporation 82801 Mobile PCI Bridge [8086:2448] (rev 93)
> 00:1e.0 PCI bridge [0604]: Intel Corporation 82801 PCI Bridge [8086:244e] (rev 92)
>
> I saw a thread from 2006 explaining the 50% chance there's no RNG (but these days all modern chipsets should have an RNG) and I know
> this chipset I have does have an RNG so I'd like to use the HW random generator vs software.
>
> Do we need to revisit this? Even if I try to force it to load it still fails:
>
> # modprobe intel_rng no_fwh_detect=-1 or =1
> modprobe: ERROR: could not insert 'intel_rng': No such device

The module verifies that you have one of the PCI devices in that table,
so you need to modify it to get the driver to load:

static int __init mod_init(void)
{
int err = -ENODEV;
int i;
struct pci_dev *dev = NULL;
void __iomem *mem = mem;
u8 hw_status;
struct intel_rng_hw *intel_rng_hw;

for (i = 0; !dev && pci_tbl[i].vendor; ++i)
dev = pci_get_device(pci_tbl[i].vendor, pci_tbl[i].device,
NULL);

if (!dev)
goto out; /* Device not found. */



BjÃrn
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/