Skip to content

a kernel module to use geiger counter interrupts for entropy

Notifications You must be signed in to change notification settings

jackcarrozzo/radseed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

radseed - a kernel module to use geiger counter interrupts for entropy
Jack Carrozzo <jack@crepinc.com>

This module handles interrupts from a parallel port, keeping basic stats and 
calling add_interrupt_randomness() on events.

For compatibility, the following filesystem stubs are presented:

- Number of events recorded: (wraps at unsigned long max)
		/proc/radevents
		/sys/kernel/radseed/events

- Time of last recorded event: (in system jiffies)
		/proc/radlast
		/sys/kernel/radseed/last

- Event trigger for testing: 
		/sys/kernel/radseed/trigger

Your geiger counter should present a TTL-compatible strobe to pin 10 (ACK) 
of the parallel port at each event. However, the trigger can be used to 
test functionality of monitoring scripts and so forth:

root@kdev0 ~ # cat /sys/kernel/radseed/events 
0
root@kdev0 ~ # cat /sys/kernel/radseed/trigger 
1
root@kdev0 ~ # cat /sys/kernel/radseed/trigger 
1
root@kdev0 ~ # cat /sys/kernel/radseed/trigger 
1
root@kdev0 ~ # cat /sys/kernel/radseed/trigger 
1
root@kdev0 ~ # cat /sys/kernel/radseed/events 
4
root@kdev0 ~ # cat /sys/kernel/radseed/last 
16316569

This is tested to work with the 3.10.x and 3.13.x vanilla trees. The code is 
by no means robust or complete, but simply an experiement to see if this is 
worthwhile. I aim to finish a USB interface to my geiger counters and 
implement that here as well. If you find this useful, let me know!

About

a kernel module to use geiger counter interrupts for entropy

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published