+[[!meta title="ChaosKey"]]
# ChaosKey
This is a hardware True Random Number Generator that attaches via USB.
+The Linux Kernel, starting with version 4.1, includes source for this
+driver. It should be built by default in your distribution. If your
+using Linux + KVM to host other Linux instances, read the
+[VirtualMachine](VirtualMachine.html) page to see how you can configure the guests to share
+the host entropy source.
+
## Version 1.0 ##
-1.0 is the first production version of ChaosKey. The first run of 1000
-units is expected sometime around August, 2016.
+ChaosKey is now out of production. They work great, but it took several years
+to sell our first production run, and shipping them from the US to other
+countries one at a time ended up dominating the net cost to most users. We might
+make more some day, but no promises!
<a href="v1.0/chaoskey-bare.jpg"><img src="v1.0/chaoskey-bare-thumb.jpg"></a>
<a href="v1.0/chaoskey-boxed.jpg"><img src="v1.0/chaoskey-boxed-thumb.jpg"></a>
+### Reflashing Firmware ###
+
+To reflash the system firmware on ChaosKey, you first need to get the
+device into 'bootloader mode'. To do this, you must power-up ChaosKey
+with a jumper between GND and the Boot Loader Select pin.
+
+Open up ChaosKey by prying the case apart. There's no glue or screws,
+so a thin tool or fingernail should suffice to split the case into two
+pieces. Once you've opened it up, you'll find the inside that looks
+much like this:
+
+<img src="chaoskey-connector.svg">
+
+Connect a wire between the two red holes in the debug connector and
+then plug it in to your computer. It will appear as a USB modem device
+called AltosFlash with USB ID fffe:000a.
+
+Use the 'ao-usbload' program, which is part of the
+[AltOS repository](https://altusmetrum.org/AltOS/)
+and is packaged for Debian in the 'altos' package:
+
+ $ ao-usbload chaoskey-v1.0-*.elf
+
### Version 1.0 Hardware ###
* [STM32F042](http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1574/LN1823?icmp=stm32f0x2-line_pron_pr_jan2014&sc=stm32f0x2-pr) System-on-Chip
[AltOS Git Repository](http://git.gag.com/?p=fw/altos;a=summary)
+[ChaosKey Firmware version 1.6.7](v1.0/chaoskey-v1.0-1.6.7.elf)
+
+[ChaosKey Boot Loader version 1.6.7](v1.0/chaoskey-v1.0-altos-flash-1.6.7.elf)
+
Hardware designs using [gEDA](http://www.geda-project.org/) are
available here:
[ChaosKey Hardware Design Files](http://git.gag.com/?p=hw/chaoskey;a=summary)
+
## Version 0.3 ##
This one uses the better noise source coupled with an op amp that