I run a TP42 with 2.6.14.2
One of the pci device is
0000:00:1e.0 0604: 8086:2448 (rev 81)
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=02, subordinate=08, sec-latency=64
I/O behind bridge: 00004000-00008fff
Memory behind bridge: c0200000-cfffffff
Prefetchable memory behind bridge: e8000000-efffffff
discover sees it as a hw_random device
# grep 80862448 /lib/discover/pci.lst
80862448 bridge i810_rng 82801 Mobile PCI Bridge
and tries to load i810_rng module when support is really in hw_random:
# cat drivers/char/hw_random.c
[...]
static struct pci_device_id rng_pci_tbl[] = {
{ 0x1022, 0x7443, PCI_ANY_ID, PCI_ANY_ID, 0, 0, rng_hw_amd },
{ 0x1022, 0x746b, PCI_ANY_ID, PCI_ANY_ID, 0, 0, rng_hw_amd },
{ 0x8086, 0x2418, PCI_ANY_ID, PCI_ANY_ID, 0, 0, rng_hw_intel },
{ 0x8086, 0x2428, PCI_ANY_ID, PCI_ANY_ID, 0, 0, rng_hw_intel },
{ 0x8086, 0x2448, PCI_ANY_ID, PCI_ANY_ID, 0, 0, rng_hw_intel },
{ 0x8086, 0x244e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, rng_hw_intel },
{ 0x8086, 0x245e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, rng_hw_intel },
{ 0, }, /* terminate list */
};
device isn't detected though:
# modprobe hw_random
FATAL: Error inserting hw_random (/lib/modules/2.6.14.2n/kernel/drivers/char/hw_random.ko): No such device
hw_random: RNG not detected
Why wouldn't module detect the device ?
OTOH, pci.lst also lists device 80862430 as another RNG
# grep 80862430 /lib/discover/pci.lst
80862430 bridge i810_rng 82801AB PCI Bridge
but it's not listed in rng_pci_tbl[]
Does
--- drivers/char/hw_random.c.orig 2005-12-22 19:36:00.000000000 +0100
+++ drivers/char/hw_random.c 2005-12-22 19:36:16.000000000 +0100
@@ -155,6 +155,7 @@
{ 0x8086, 0x2418, PCI_ANY_ID, PCI_ANY_ID, 0, 0, rng_hw_intel },
{ 0x8086, 0x2428, PCI_ANY_ID, PCI_ANY_ID, 0, 0, rng_hw_intel },
+ { 0x8086, 0x2430, PCI_ANY_ID, PCI_ANY_ID, 0, 0, rng_hw_intel },
{ 0x8086, 0x2448, PCI_ANY_ID, PCI_ANY_ID, 0, 0, rng_hw_intel },
{ 0x8086, 0x244e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, rng_hw_intel },
{ 0x8086, 0x245e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, rng_hw_intel },
seem reasonable ?
Please CC me on reply
--
Eric VAN BUGGENHAUT
[email protected]
Hi Eric,
Jeff and Matt (Cc'ed) should hopefully be able to answer your questions.
cu
Adrian
On Mon, Jan 02, 2006 at 01:08:57AM +0100, Eric Van Buggenhaut wrote:
> I run a TP42 with 2.6.14.2
>
> One of the pci device is
>
> 0000:00:1e.0 0604: 8086:2448 (rev 81)
> Flags: bus master, fast devsel, latency 0
> Bus: primary=00, secondary=02, subordinate=08, sec-latency=64
> I/O behind bridge: 00004000-00008fff
> Memory behind bridge: c0200000-cfffffff
> Prefetchable memory behind bridge: e8000000-efffffff
>
>
> discover sees it as a hw_random device
>
> # grep 80862448 /lib/discover/pci.lst
> 80862448 bridge i810_rng 82801 Mobile PCI Bridge
>
>
> and tries to load i810_rng module when support is really in hw_random:
>
> # cat drivers/char/hw_random.c
> [...]
> static struct pci_device_id rng_pci_tbl[] = {
> { 0x1022, 0x7443, PCI_ANY_ID, PCI_ANY_ID, 0, 0, rng_hw_amd },
> { 0x1022, 0x746b, PCI_ANY_ID, PCI_ANY_ID, 0, 0, rng_hw_amd },
>
> { 0x8086, 0x2418, PCI_ANY_ID, PCI_ANY_ID, 0, 0, rng_hw_intel },
> { 0x8086, 0x2428, PCI_ANY_ID, PCI_ANY_ID, 0, 0, rng_hw_intel },
> { 0x8086, 0x2448, PCI_ANY_ID, PCI_ANY_ID, 0, 0, rng_hw_intel },
> { 0x8086, 0x244e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, rng_hw_intel },
> { 0x8086, 0x245e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, rng_hw_intel },
>
> { 0, }, /* terminate list */
> };
>
>
> device isn't detected though:
>
> # modprobe hw_random
> FATAL: Error inserting hw_random (/lib/modules/2.6.14.2n/kernel/drivers/char/hw_random.ko): No such device
>
> hw_random: RNG not detected
>
> Why wouldn't module detect the device ?
>
>
> OTOH, pci.lst also lists device 80862430 as another RNG
>
> # grep 80862430 /lib/discover/pci.lst
> 80862430 bridge i810_rng 82801AB PCI Bridge
>
> but it's not listed in rng_pci_tbl[]
>
> Does
>
> --- drivers/char/hw_random.c.orig 2005-12-22 19:36:00.000000000 +0100
> +++ drivers/char/hw_random.c 2005-12-22 19:36:16.000000000 +0100
> @@ -155,6 +155,7 @@
>
> { 0x8086, 0x2418, PCI_ANY_ID, PCI_ANY_ID, 0, 0, rng_hw_intel },
> { 0x8086, 0x2428, PCI_ANY_ID, PCI_ANY_ID, 0, 0, rng_hw_intel },
> + { 0x8086, 0x2430, PCI_ANY_ID, PCI_ANY_ID, 0, 0, rng_hw_intel },
> { 0x8086, 0x2448, PCI_ANY_ID, PCI_ANY_ID, 0, 0, rng_hw_intel },
> { 0x8086, 0x244e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, rng_hw_intel },
> { 0x8086, 0x245e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, rng_hw_intel },
>
> seem reasonable ?
>
> Please CC me on reply
>
> --
> Eric VAN BUGGENHAUT
> [email protected]