Connection error after ChipWhisperer firmware upgrade

After I upgraded the ChipWhisperer firmware using ‘ChipWhisperer Firmware.ipynb’, I cannot connect anymore.

“error:chipwhisperer scope:chipwhisperer error state detected. resetting and retrying connection”

Thus, I tried to remove hardware drivers and reinstall, however, it was impossible.

Now, I got the following errors.

How can I solve this problem?

=== full error message ===

NoBackendError Traceback (most recent call last)
in
1 import chipwhisperer as cw
----> 2 scope = cw.scope()

~\anaconda3\lib\site-packages\chipwhisperer_init_.py in scope(scope_type, sn)
227 from chipwhisperer.common.utils.util import get_cw_type
228 if scope_type is None:
–> 229 scope_type = get_cw_type(sn)
230 scope = scope_type()
231 try:

~\anaconda3\lib\site-packages\chipwhisperer\common\utils\util.py in get_cw_type(sn)
498
499 cwusb = NAEUSB()
–> 500 possible_sn = cwusb.get_possible_devices(idProduct=possible_ids)
501 name = “”
502 if len(possible_sn) == 0:

~\anaconda3\lib\site-packages\chipwhisperer\hardware\naeusb\naeusb.py in get_possible_devices(self, idProduct)
667
668 def get_possible_devices(self, idProduct):
–> 669 return self.usbseralizer.get_possible_devices(idProduct)
670
671 def get_cdc_settings(self):

~\anaconda3\lib\site-packages\chipwhisperer\hardware\naeusb\naeusb.py in get_possible_devices(self, idProduct)
135 “”“Get a list of connected USB devices.”""
136 cmdpacket = self.make_cmd(self.GET_POSSIBLE_DEVICES, idProduct)
–> 137 return self.process_rx(self.txrx(tx=cmdpacket))
138
139 def process_rx(self, inp):

~\anaconda3\lib\site-packages\chipwhisperer\hardware\naeusb\naeusb.py in txrx(self, tx)
324 #naeusb_logger.debug(“CMD_WRITE_MEM_SAM3U: addr: {}”) #skip this one for now
325 elif cmd == self.GET_POSSIBLE_DEVICES:
–> 326 response = self.get_possible_devices(payload)
327 elif cmd == self.OPEN:
328 response = self.open(serial_number=payload)

~\anaconda3\lib\site-packages\chipwhisperer\hardware\naeusb\naeusb.py in get_possible_devices(self, idProduct, dictonly, backend)
444 for id in idProduct:
445 if id:
–> 446 dev = list(usb.core.find(idProduct=id, **my_kwargs))
447 else:
448 dev = list(usb.core.find(**my_kwargs))

~\anaconda3\lib\site-packages\usb\core.py in find(find_all, backend, custom_match, **args)
1307 break
1308 else:
-> 1309 raise NoBackendError(‘No backend available’)
1310
1311 if find_all:

NoBackendError: No backend available

Hi,

I had the same problem.
Can you check what device is connected in the device manager?
You may have the cw in bootloader mode know.
You need to flash the firmware manually.

I did use the following commands:

> import chipwhisperer as cw
> programmer = cw.SAMFWLoader(scope=None)
> programmer.program(<port>, hardware_type='cw1200')

For the <port> I did use the COM-Port seen in the device manager like this:

import chipwhisperer as cw
programmer = cw.SAMFWLoader(scope=None)
programmer.program('COM1', hardware_type='cw1200')

hope this helps.

Edit:
There is also a windows executable you could use:

https://github.com/newaetech/chipwhisperer/releases/download/5.4/firmware_updater.exe

usage is as follows:

firmware_updater.exe <COM_PORT> <HARDWARE_TYPE>

firmware_updater.exe COM4 cw1200

-e

Hi,

Can you post the full error message?

Alex

Thanks for answering. When I connected another PC, there was nothing wrong. Thus, I think it is not a firmware update issue and the hardware driver seems to have been installed incorrectly.

I attached the full error message to the post.

Whoops, completely missed that part.

It seems to just be an issue with anaconda. Please see https://github.com/newaetech/chipwhisperer/issues/348

Alex