CW newbie here going through the tutorials (new CW5 Virtualbox VM on OSX, CW1200 pro hardware kit, XMEGA target, tutorial order as suggested in “!!Suggested_Completion_Order!!.ipynb”). Currently doing PA_SPA_1-Timing_Analysis_with_Power_for_Password_Bypass.ipynb using bleeding edge chipwhisper github commit 331a55a40d83d668777ba2c0e14a623e12649d0e.
First issue when executing:
import chipwhisperer as cw scope = cw.scope() target = cw.target(scope)
ERROR:root:Value -91.91176470588235 out of limits ((0, 1000000.0)) in parameter "Baud"
Later when getting a trace via serial:
trace = scope.getLastTrace() num_char = target.ser.inWaiting() print(target.ser.read(num_char, 10))
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
So I found SAM3U Serial buffers OVERRUN and was able to change “Helper_Scripts/Setup_Target_Generic.ipynb” to use “scope.clock.adc_src = “clkgen_x1”\n”, which definitely made the serial read more reliable. However, the data loss still occurs. The data loss is pretty bad, because later on when brute-forcing the password with traces it does not allow to conduct the attack and it will fail (although sometimes it works for one character).
My question: Switch to native client instead of CW5? Or can you recommend a github commit that should be a little more stable? Or is there a simple configuration option I can pass to the scope object?