Hi
I have a problem with the errors and warnings that appear:
- “ERROR:ChipWhisperer Target:Target did not ack”
- “Warning: Device failed to ack”
I use software:
I tried ChipWhisperer 5.5.2 versions: Windows Installer and Virtual Machine (VirtualBox). The error shows up in both.
I use hardware from the Level 2 Starter Kit (SCAPACK-L2):
- CW308 UFO Board
- ChipWhisperer-Lite (Model: CW1173)
- STM32F board (sticker F303) - STM32F303RDT6
The USB cable is directly connected to the PC. I tried several USB cables, different USB inputs (3.2, 2.0).
The error appears when executing the code in Jupyter Notebook, e.g .:
- SOLN_Lab 3_1 - Large Hamming Weight Swings
- SOLN_Lab 3_3 - DPA on Firmware Implementation of AES
+--------------------------------------------------------
+ Built for platform CW308T: STM32F3 Target with:
+ CRYPTO_TARGET = TINYAES128C
+ CRYPTO_OPTIONS = AES128C
+--------------------------------------------------------
Detected unknown STM32F ID: 0x446
Extended erase (0x44), this can take ten seconds or more
Attempting to program 6383 bytes at 0x8000000
STM32F Programming flash...
STM32F Reading flash...
ERROR:ChipWhisperer Target:Target did not ack
Verified flash OK, 6383 bytes
---------------------------------------------------------------------------
Warning Traceback (most recent call last)
~/work/projects/chipwhisperer/jupyter/courses/sca101/Lab 3_3 - DPA on Firmware Implementation of AES (HARDWARE).ipynb in <module>
9 key, text = ktp.next()
10
---> 11 target.set_key(key)
12
13 N = 2500
~/work/projects/chipwhisperer/software/chipwhisperer/capture/targets/SimpleSerial.py in set_key(self, key, ack, timeout)
533 if ack:
534 if self.simpleserial_wait_ack(timeout) is None:
--> 535 raise Warning("Device failed to ack")
536 else:
537 target_logger.debug("Key unchanged, skipping send")
Warning: Device failed to ack
---------------------------------------------------------------------------
Warning Traceback (most recent call last)
<ipython-input-2-3902592a4978> in <module>
1 if VERSION == 'HARDWARE':
----> 2 get_ipython().run_line_magic('run', '"Lab 3_3 - DPA on Firmware Implementation of AES (HARDWARE).ipynb"')
3 elif VERSION == 'SIMULATED':
4 get_ipython().run_line_magic('run', '"Lab 3_3 - DPA on Firmware Implementation of AES (SIMULATED).ipynb"')
~/.pyenv/versions/3.7.7/envs/cw/lib/python3.7/site-packages/IPython/core/interactiveshell.py in run_line_magic(self, magic_name, line, _stack_depth)
2342 kwargs['local_ns'] = self.get_local_scope(stack_depth)
2343 with self.builtin_trap:
-> 2344 result = fn(*args, **kwargs)
2345 return result
2346
~/.pyenv/versions/3.7.7/envs/cw/lib/python3.7/site-packages/decorator.py in fun(*args, **kw)
230 if not kwsyntax:
231 args, kw = fix(args, kw, sig)
--> 232 return caller(func, *(extras + args), **kw)
233 fun.__name__ = func.__name__
234 fun.__doc__ = func.__doc__
~/.pyenv/versions/3.7.7/envs/cw/lib/python3.7/site-packages/IPython/core/magic.py in <lambda>(f, *a, **k)
185 # but it's overkill for just that one bit of state.
186 def magic_deco(arg):
--> 187 call = lambda f, *a, **k: f(*a, **k)
188
189 if callable(arg):
~/.pyenv/versions/3.7.7/envs/cw/lib/python3.7/site-packages/IPython/core/magics/execution.py in run(self, parameter_s, runner, file_finder)
722 with preserve_keys(self.shell.user_ns, '__file__'):
723 self.shell.user_ns['__file__'] = filename
--> 724 self.shell.safe_execfile_ipy(filename, raise_exceptions=True)
725 return
726
~/.pyenv/versions/3.7.7/envs/cw/lib/python3.7/site-packages/IPython/core/interactiveshell.py in safe_execfile_ipy(self, fname, shell_futures, raise_exceptions)
2829 result = self.run_cell(cell, silent=True, shell_futures=shell_futures)
2830 if raise_exceptions:
-> 2831 result.raise_error()
2832 elif not result.success:
2833 break
~/.pyenv/versions/3.7.7/envs/cw/lib/python3.7/site-packages/IPython/core/interactiveshell.py in raise_error(self)
329 raise self.error_before_exec
330 if self.error_in_exec is not None:
--> 331 raise self.error_in_exec
332
333 def __repr__(self):
[... skipping hidden 1 frame]
<ipython-input-2-cd2a822a193f> in <module>
9 key, text = ktp.next()
10
---> 11 target.set_key(key)
12
13 N = 2500
~/work/projects/chipwhisperer/software/chipwhisperer/capture/targets/SimpleSerial.py in set_key(self, key, ack, timeout)
533 if ack:
534 if self.simpleserial_wait_ack(timeout) is None:
--> 535 raise Warning("Device failed to ack")
536 else:
537 target_logger.debug("Key unchanged, skipping send")
Warning: Device failed to ack