[Cerowrt-devel] pcengines apu2c4 hardware random number generation

Josh Datko jbdatko at gmail.com
Mon May 9 11:10:22 EDT 2016

On Fri, 2016-05-06 at 13:19 -0700, Dave Taht wrote:
> On Thu, May 5, 2016 at 9:10 AM, Josh Datko <jbdatko at gmail.com> wrote:
>> I forget how fast those chips were (?)

The get_random command, from the perspective of the Atmel chip, takes
on average, 11ms to return 32bytes of random numbers, with a max of
50ms (from the ATSHA204A datasheet). 

Practically however, you have to account for the kernel processing,
100khz I2C send and return up the stack.

> Meh. If there is a decent gpio header on j.random x86 board, I'd just
> as soon use that.

Yeah, I hear you. What I do is I split my video cable and hijack the
i2c and power lines from that (typically used to read the EDID from the
monitor) so I can develop on my workstation.

You board didn't seem to have a video connection, otherwise I'd suggest
that. I made a VGA2I2C board that you can get on OSHPark if you want to
solder on some N-channel mosfets and some 0603 resistors.

Otherwise, the drivers all use either the kernel's i2c subsytem or in
userspace, the ioctl. So, afaik, there'd have to be an i2c-bitbang
hardware abstract layer used to use random GPIO pins. 

More information about the Cerowrt-devel mailing list