This is a simple demonstration of two things, pulling random entropy out of a hardware smart card, and feeding that data into the Linux kernel pool using an ioctl call. Makes it possible for any Linux system to have a real hardware random number generator
I've discovered (and someone who emailed me has confirmed) that cardrand no longer matches the APIs provided by OpenSC. In addition they seem to have stopped shipping headers for the functions it was using, which means compiling it is a bit more complicated than it used to be; those headers are no longer found on the system when OpenSC is installed.
I'll look at the changes when I get a chance and see if I can get it to compile, but I don't know what to do about distributing it, maybe a static binary will work for most cases to save people the trouble.