Strange - as far as trace acquisition goes, this lab is the same as lab 4-2, which I assume you were able to run successfully? Double-check that everything is connected properly, and confirm that you’re still able to run the previous labs successfully?
In fact, 4_1 does not work. At the stage where i am supposed to display power using BokehJS i get an error.
This is the code i ran:
"
from bokeh.plotting import figure, show
from bokeh.io import output_notebook
from bokeh.palettes import brewer
As for 4_3, I see the issue: I’ll guess that you’re calling this in your notebook: %run "Lab 4_3 - ChipWhisperer Analyzer CPA Attack (HARDWARE).ipynb"
You may have noticed we have two versions of our SimpleSerial protocol, which is what’s used to communicate with the target. The HARDWARE notebook defines SS_VER='SS_VER_2_1' and compiles and programs the firmware for that version. Then the MAIN notebook recompiles and reprograms without defining SS_VER, so it defaults to 1_1, yet on the Python side the target is still assumed to be using the 2_1 version. This is why you run into the SimpleSerial errors when you try to capture traces.
The fix is simple: after calling the HARDWARE notebook, simply skip over the next few cells that are repeating what the HARDWARE noteobook already did, until you get to the cell that says “We can access Analyzer via chipwhisperer.analyzer:”
I did try to use the hardware version, but i got into another issue there. In one of the lines it calls “proj = cw.open_project(“Lab 4_3”)” Which results in an error “File /home/user/chipwhisperer/jupyter/courses/sca101/Lab 4_3.cwp does not exist or is not a file”. Thererfore i had to copy all functions to the main version of the program.