c64087f725d39026e33661e76824a404acfa5771
[gnuk/neug.git] / vendor / flying-stone-technology / INDEX_EN.HTM
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4 <head><title>How to use this device</title>
5 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
6 </head>
7
8 <body>
9 <h1>How to use this device</h1>
10 <h2>Introduction</h2>
11 <p>NeuG, the true random nunber generator, is installed on this device.</p>
12 <p>Now, you are accessing this file.
13    It means that the device is running as USB memory
14    (USB Mass Storage Class device).</p>
15 <p>By your action of "eject"-ing USB memory on your desktop, the device
16    will become a different USB device, starting NeuG.
17    Your action may be one of following actions:
18    <ul>
19      <li>In your shell command line, type <tt>eject /dev/sda</tt>(change <tt>sda</tt> to match your environment).</li>
20      <li>By GUI file manager, eject the disk named "Fraucheky".</li>
21    </ul>
22 </p>
23 <p>If you want to let start NeuG from the beginning
24    when you plug in the device, please follow the instruction below titled: 
25    "Let start NeuG from the beginning".</p>
26
27 <h2>Let start NeuG from the beginning</h2>
28 <ol>
29   <li>Save INDEX.HTM, README and COPYING files onto your PC.</li>
30   <li>Write something to the folder "DROPHERE".  For example,
31       drag&amp;drop README to DROPHERE.</li>
32   <li>By doing this, from next time, it will start NeuG from the beginning
33       (instead of USB memory).</li>
34 </ol>
35
36 <h2>How to use NeuG</h2>
37 <p>NeuG runs as USB CDC/ACM 
38   (Communication Device Class / Abstract Control Model) device.</p>
39 <p>The USB CDC/ACM (Communication Device Class / Abstract Control Model)
40    is used primarily for modems.
41    If you are using some control program for your modems,
42    you need to configure it, so that it won't interfere NeuG device.
43    If you are not using modems with such a control program, simply,
44    you may remove modem management package from your system
45    to avoid interference.  For example, remove the package "modemmanager",
46    when you are using Debian GNU/Linux.</p>
47 <p>No special driver is required on GNU/Linux.
48    You can just access /dev/ttyACM? (e.g., /dev/ttyACM0)
49    to get random byte stream.</p>
50
51 <h3>Configuration of tty line discipline</h3>
52 <p>Don't forget to configure tty line disciple to get correct data.
53 Between the device and application, there is "tty line discipline"
54 which might interpret and translate the stream (newline, eof, etc.).
55 This functionality should be disabled.</p>
56 <p>Using stty command, please configure the line discipline
57 with no echo and raw mode.</p>
58 <blockquote>
59   <pre>
60   $ stty -F /dev/ttyACM0 -echo raw -parenb
61   </pre>
62 </blockquote>
63
64 <p>You can select filter by parity settings.</p>
65   <ul>
66     <li>Even parity (parenb -parodd) means: Raw ADC sample data</li>
67     <blockquote>
68       <pre>
69   $ stty -F /dev/ttyACM0 parenb -parodd
70       </pre>
71     </blockquote>
72     <li>Odd parity (parenb parodd) means: Only CRC32 filter</li>
73     <blockquote>
74       <pre>
75   $ stty -F /dev/ttyACM0 parenb parodd
76       </pre>
77     </blockquote>
78     <li>No parity (-parenb): CRC32 filter + SHA256 filter</li>
79     <blockquote>
80       <pre>
81   $ stty -F /dev/ttyACM0 -parenb
82       </pre>
83     </blockquote>
84   </ul>
85
86 <h3>Example command to get random output</h3>
87 <p>For example, you can get random bytes of 1MiB to the file "output"
88    by typing:</p>
89 <blockquote>
90   <pre>
91   $ dd bs=1024 if=/dev/ttyACM0 iflag=fullblock count=1024 of=output
92   </pre>
93 </blockquote>
94
95 <h3>Use the NeuG device with rng-tools</h3>
96 <p>Usually, you would like to use NeuG device under control of rng-tools,
97 to feed entropy to /dev/random, the random device in kernel.</p>
98
99 <p>Please see <a href="http://www.gniibe.org/FST-01/q_and_a/neug-standalone-device.html">Debian usage</a> for detail.</p>
100
101 <h2>README, GNU GPL and Corresponding Source code</h2>
102 <p>In this product, it contains copyrighted software that is licensed under
103    the GPLv3.  Please see README for the explanation of the software and see
104    GNU GPLv3 for terms and conditions.</p>
105 <p>You may obtain the complete Corresponding Source code from git repositories.
106    In the Gnuk repository, we have sub-repository named "neug", which 
107    contains the source code of NeuG.
108    NeuG uses external source code of Chopstx for RTOS, and Fraucheky for
109    GPL container.  Those code are availabe in the Chopstx repository.</p>
110 <p>In the git repositories, we have release tags.
111    You may examine the release tag of the product by the command,
112    tool/neug_check.py which is available in the NeuG repository.</p>
113 </p>
114 <ul>
115   <li><a href=README>README</a></li>
116   <li><a href=COPYING>GNU GPLv3</a></li>
117   <li><a href="https://anonscm.debian.org/cgit/gnuk/gnuk/">Gnuk Repository</a></li>
118   <li><a href="https://anonscm.debian.org/cgit/gnuk/chopstx/">Chopstx Repository</a></li>
119 </ul>
120
121 <h2>Links</h2>
122 <ul>
123   <li><a href="http://www.gniibe.org/category/fst-01.html">
124       FST-01 support pages</a></li>
125   <li><a href="https://lists.alioth.debian.org/mailman/listinfo/gnuk-users">
126       Mailing list: Gnuk Users</a></li>
127   <li><a href="http://www.gnu.org/gnu/manifesto.ja.html">
128       GNU Manifesto (Japanese Translation)</a></li>
129 </ul>
130
131 <h2>Concluding remarks</h2>
132 <p>I wish you enjoy your freedom on computing with NeuG.
133    Thank you for your cooperation.</p>
134
135 </body>
136 </html>