Fix USB suspend for Fraucheky.
[gnuk/neug.git] / NEWS
1 NeuG NEWS - User visible changes
2
3
4 * Major changes in NeuG 1.0.6
5
6   Released 2017-10-11, by NIIBE Yutaka
7
8 ** Port to GNU/Linux emulation
9 We can "run" NeuG stand-alone device on GNU/Linux by emulation through
10 USBIP.
11
12 ** Upgrade of Fraucheky
13 We use Fraucheky 0.4, which can work well with GNU/Linux emulation.
14
15 ** Upgrade of Chopstx
16 We use Chopstx 1.5, which supports Blue Pill and the emulation on
17 GNU/Linux.
18
19
20 * Major changes in NeuG 1.0.5
21
22   Released 2016-10-17, by NIIBE Yutaka
23
24 ** Upgrade of Chopstx
25 We use Chopstx 1.2, which supports FST-01G.
26
27
28 * Major changes in NeuG 1.0.4
29
30   Released 2015-09-18, by NIIBE Yutaka
31
32 ** Upgrade of Chopstx
33 We use Chopstx 0.10, which supports Nitrokey-Start.
34
35 ** USB reset handling
36 Now, USB reset lets NeuG device restart correctly.
37
38
39 * Major changes in NeuG 1.0.3
40
41   Released 2015-08-03, by NIIBE Yutaka
42
43 ** Fraucheky can be manually invoked
44 Even if Fraucheky is disabled at start by moving files to DROPHERE,
45 a user can invoke Fraucheky to see documents, now.
46
47 ** Upgrade of Chopstx
48 We use Chopstx 0.08, which supports ST-Dongle and STM32 Nucleo F103.
49
50 ** Upgrade of Fraucheky
51 We use Fraucheky 0.3, which can work well with FreeBSD.
52
53
54 * Major changes in NeuG 1.0.2
55
56   Released 2015-07-18, by NIIBE Yutaka
57
58 ** Upgrade of firmware enhancement
59 The process is protected by password.
60
61 ** Upgrade of Chopstx
62 We use Chopstx 0.07, which supports STM32 Primer2, CQ STARM.
63
64
65 * Major changes in NeuG 1.0.1
66
67   Released 2015-01-29, by NIIBE Yutaka
68
69 ** Upgrade of Chopstx
70 We use Chopstx 0.04.
71
72 ** Upgrade of Fraucheky
73 We use Fraucheky 0.1.
74
75 ** Compile options
76 We use -O3 (with no -Os) for neug.o and sha256.o.
77
78
79 * Major changes in NeuG 1.0
80
81   Released 2013-11-11, by NIIBE Yutaka
82
83 ** Upgrade of Chopstx
84 Now, we use Chopstx 0.03.
85
86 ** Stabilize the upgrade process
87 For firmware upgrade, it has been unstable somehow and it has been
88 recommended not to access its stream (/dev/ttyACM0) before running
89 neug_upgrade.py.  This bug was fixed in 1.0, and it's more stable.
90
91 ** Add support of Fraucheky
92 Fraucheky is a GPL container which makes sure to deliver GPL to users.
93
94
95 * Major changes in NeuG 0.11
96
97   Released 2013-08-22, by NIIBE Yutaka
98
99 ** Replacement of kernel (thread library)
100 Instead of ChibiOS/RT, we now use Chopstx.
101
102 ** Improved performance
103 The output of random numbers got faster than the previous
104 implementation by 30% or so.
105
106 ** Unsupported targets
107 CQ_STARM, STBEE, STBEE Mini, and STM32_PRIMER2 are not
108 supported in this release, but porting should be easy.
109
110
111 * Major changes in NeuG 0.06
112
113   Released 2013-03-15, by NIIBE Yutaka
114
115 ** Support for relocatable reGNUal
116 For firmware upgrade, we can use newer reGNUal (>= 1.0.4).
117
118
119 * Major changes in NeuG 0.05
120
121   Released 2013-02-07, by NIIBE Yutaka
122
123 ** Improvement on SHA256 calculation
124 The output of random numbers got faster than the previous
125 implementation by 2% or so.
126
127
128 * Major changes in NeuG 0.04
129
130   Released 2012-10-30, by NIIBE Yutaka
131
132 ** Update of ChibiOS/RT
133 ChibiOS/RT is updated to newer 2.4.3.
134
135 ** Improved performance
136 Improvement on generation speed, even when it's _not_ connected to USB
137 2.0 Hub.
138
139 ** Health tests run for NEUG_MODE_RAW
140 Health tests run when NEUG_MODE_RAW (CRC32 filter output).
141
142 ** More runtime info: tool/neug_check.py 
143 Now, we can observe max counts of repeat count test, adaptive
144 propotion test 64, and adaptive propotion test 4096.
145
146
147 * Major changes in NeuG 0.03
148
149   Released 2012-10-09, by NIIBE Yutaka
150
151 ** Change RNG constuct.
152 We replace all basic components again, to conform NIST SP 800-90B.
153 Now, we use two analog inputs use in addition to Vref and Temperature
154 Sensor.  We take advantage of another A/D convertor, ADC2.
155
156 In former versions, we use LSBs of inputs.  From this version, we use
157 all bits, and put them to CRC32 calculation unit.  That's because we
158 can get more entropy when using full bits.
159
160 The central component, the conditioning component, is the one with
161 SHA-256, to conform NIST SP 80-90B.
162
163 ** New ADC (A/D convertor) driver
164 Now, we use our own ADC driver, so that we can use ADC2 and we can
165 control ADC for our particular usage (such that put it to CRC32
166 calculation unit).
167
168 ** Selection of output
169 Using "stty" command, we can now select one of three outputs: final
170 output (conditioned), CRC32 filtered raw data before conditioning, and
171 raw input data of ADC.
172
173 ** USB strings for revision detail, configure options, and system service.
174 USB strings now have more information.  There are revision detail
175 string, configure options string, system service version string, as
176 well as vendor string and product string.  These strings could be
177 examined to check NeuG device.
178
179 ** New mandatory option '--vidpid' for configure
180 You must specify USB vendor ID and product ID for Gnuk.
181 The file NEUG_USB_DEVICE_ID lists valid USB device IDs.
182
183 ** Health tests
184 Health tests are implemented to conform NIST SP 800-90B.  There are
185 three tests, repetition count test, adaptive proportion test 64,
186 and adaptive proportion test 4096.
187
188 ** System service blocks at the beginning of flash ROM.
189 Once flash ROM is protected, first 4-KiB cannot be modified.  Gnuk use
190 this area for "system service".  NeuG has compatible system service
191 block as Gnuk.  Note that this area will not be able to be modified by
192 firmware upgrade (or by any method).
193
194 ** New tool: neug_upgrade.py
195 The tool neug_upgrade.py is to send reGNUal to NeuG device.  Then, we
196 put new NeuG binary (or any binary, say, Gnuk) into the device with
197 reGNUal.
198
199 ** New tool: neug_check.py
200 The tool neug_check.py is to check the device condition.  You can see
201 error counters of NeuG device with this tool.
202
203
204 * Major changes in NeuG 0.02
205
206   Released 2012-08-30, by NIIBE Yutaka
207
208 ** Change RNG constuct.
209 We replace all basic components.  Now, we use WELL 512a structure
210 for Physical-based RNG.
211
212 ** New USB stack.
213 Now, we use our own USB stack (taken from Gnuk).
214
215
216 * Major changes in NeuG 0.01
217
218   Released 2011-11-14, by NIIBE Yutaka
219
220 ** Support more boards
221 NeuG now supports FST-01, STM8S DISCOVERY, CQ-STARM and STBee, too.
222
223 ** Change RNG construct.
224 Basic technology is basically same (CRC-16, TinyMT), but we add
225 FNV32 hash as an output function, and give a seed to TinyMT from
226 Physical-based RNG.
227
228 ** Add Test results.
229 Under test-results directory, we put results of RNG test by rng-tools,
230 NIST STS 2.1.1, and Dieharder 3.31.1.
231
232
233 * Major changes in NeuG 0.00
234
235   Released 2011-07-14, by NIIBE Yutaka
236
237 ** This is initial release.
238
239 Local Variables:
240 mode: outline
241 End: