Re: [PATCH v7 0/3] hwrng: add hwrng support for Rockchip RK3568

Chen-Yu Tsai
2024-07-16T15:19:37Z

On Tue, Jul 16, 2024 at 10:13 PM Diederik de Haas <didi.debian@cknow.org> wrote:
>
> On Tuesday, 16 July 2024 15:59:40 CEST Diederik de Haas wrote:
> > For shits and giggles, I tried it on my PineTab2 too (also rk3566):
> >
> > ===========================================================
> > root@pinetab2:~# uname -a
> > Linux pinetab2 6.10+unreleased-arm64 #1 SMP Debian 6.10-1~cknow (2024-04-24)
> > aarch64 GNU/Linux
> >
> > root@pinetab2:~# dd if=/dev/hwrng bs=100000 count=1 > /dev/null
> > 1+0 records in
> > 1+0 records out
> > 100000 bytes (100 kB, 98 KiB) copied, 5,69533 s, 17,6 kB/s
> >
> > root@plebian-pinetab2:~# cat /dev/hwrng | rngtest -c 1000
> > rngtest 5
> > Copyright (c) 2004 by Henrique de Moraes Holschuh
> > This is free software; see the source for copying conditions.
> > There is NO warranty; not even for MERCHANTABILITY or
> > FITNESS FOR A PARTICULAR PURPOSE.
> >
> > rngtest: starting FIPS tests...
> > rngtest: bits received from input: 20000032
> > rngtest: FIPS 140-2 successes: 730
> > rngtest: FIPS 140-2 failures: 270
> > rngtest: FIPS 140-2(2001-10-10) Monobit: 266
> > rngtest: FIPS 140-2(2001-10-10) Poker: 23
> > rngtest: FIPS 140-2(2001-10-10) Runs: 9
> > rngtest: FIPS 140-2(2001-10-10) Long run: 0
> > rngtest: FIPS 140-2(2001-10-10) Continuous run: 0
> > rngtest: input channel speed: (min=2.615; avg=137.889;
> > max=9765625.000)Kibits/s rngtest: FIPS tests speed: (min=24.643;
> > avg=34.518; max=68.364)Mibits/s rngtest: Program run time: 149674336
> > microseconds
> > ===========================================================
> >
> > That's looking quite a lot better ... and I have no idea why.
> >
> > The Q64-A is used as headless server and the PineTab2 is not,
> > but I connected to both over SSH and they were freshly booted
> > into, thus I haven't actually/normally used the PT2 since boot.
>
> I did freshly install rng-tools5 package before running the test, so
> I rebooted again to make sure that wasn't a factor:
>
> ===========================================================
> root@pinetab2:~# cat /dev/hwrng | rngtest -c 1000
> rngtest 5
> ...
>
> rngtest: starting FIPS tests...
> rngtest: bits received from input: 20000032
> rngtest: FIPS 140-2 successes: 704
> rngtest: FIPS 140-2 failures: 296
> rngtest: FIPS 140-2(2001-10-10) Monobit: 293
> rngtest: FIPS 140-2(2001-10-10) Poker: 32
> rngtest: FIPS 140-2(2001-10-10) Runs: 10
> rngtest: FIPS 140-2(2001-10-10) Long run: 0
> rngtest: FIPS 140-2(2001-10-10) Continuous run: 0
> rngtest: input channel speed: (min=2.612; avg=137.833; max=9765625.000)Kibits/s
> rngtest: FIPS tests speed: (min=24.391; avg=34.416; max=68.364)Mibits/s
> rngtest: Program run time: 149736205 microseconds
> ===========================================================
>
> So that 704/296 vs 730/270 in the previous run on the PT2.
>
> In case it helps:
> ===========================================================
> root@quartz64a:~# grep . /sys/devices/virtual/misc/hw_random/rng_*
> /sys/devices/virtual/misc/hw_random/rng_available:rockchip-rng
> /sys/devices/virtual/misc/hw_random/rng_current:rockchip-rng
> /sys/devices/virtual/misc/hw_random/rng_quality:900
> /sys/devices/virtual/misc/hw_random/rng_selected:0
>
> root@pinetab2:~# grep . /sys/devices/virtual/misc/hw_random/rng_*
> /sys/devices/virtual/misc/hw_random/rng_available:rockchip-rng
> /sys/devices/virtual/misc/hw_random/rng_current:rockchip-rng
> /sys/devices/virtual/misc/hw_random/rng_quality:900
> /sys/devices/virtual/misc/hw_random/rng_selected:0
> ===========================================================

On my Rock 3A:

wens@rock-3a:~$ sudo cat /dev/hwrng | rngtest -c 1000
rngtest 5
Copyright (c) 2004 by Henrique de Moraes Holschuh
This is free software; see the source for copying conditions. There
is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

rngtest: starting FIPS tests...
rngtest: bits received from input: 20000032
rngtest: FIPS 140-2 successes: 992
rngtest: FIPS 140-2 failures: 8
rngtest: FIPS 140-2(2001-10-10) Monobit: 7
rngtest: FIPS 140-2(2001-10-10) Poker: 0
rngtest: FIPS 140-2(2001-10-10) Runs: 0
rngtest: FIPS 140-2(2001-10-10) Long run: 1
rngtest: FIPS 140-2(2001-10-10) Continuous run: 0
rngtest: input channel speed: (min=2.658; avg=140.067; max=9765625.000)Kibits/s
rngtest: FIPS tests speed: (min=26.751; avg=34.901; max=65.320)Mibits/s
rngtest: Program run time: 147367594 microseconds

wens@rock-3a:~$ uname -a
Linux rock-3a 6.10.0-rc7-next-20240712-12899-g7df602fe7c8b #9 SMP Mon
Jul 15 00:39:32 CST 2024 aarch64 GNU/Linux

ChenYu