FPGA done error

Hi,
When I try to connect the Chipwhisperer lite arm I get always a FPGA done error. I have try with firmware and Chipwhisperer 5.6.1 and 5.5.0 (windows version) with the same error, any ideas:

import chipwhisperer as cw
scope = cw.scope()

(ChipWhisperer Target ERROR|File fpga.py:104) FPGA programming failed. Typically either bad bitstream or prog speed too high (current 10000000)
(ChipWhisperer Scope ERROR|File init.py:339) ChipWhisperer error state detected. Resetting and retrying connection…

OSError Traceback (most recent call last)
c:\dev\chipwhisperer5_64\cw\home\portable\chipwhisperer\software\chipwhisperer_init_.py in scope(scope_type, name, sn, idProduct, bitstream, force, prog_speed, **kwargs)
336 try:
→ 337 rtn.con(**kwargs)
338 except IOError:

c:\dev\chipwhisperer5_64\cw\home\portable\chipwhisperer\software\chipwhisperer\capture\scopes\OpenADC.py in con(self, sn, idProduct, bitstream, force, prog_speed, **kwargs)
511
→ 512 self.scopetype.con(sn, idProduct, bitstream, force, prog_speed, **kwargs)
513 self.sc = OpenADCInterface(self.scopetype.ser) # important to instantiate this before other FPGA components, since this does an FPGA reset

c:\dev\chipwhisperer5_64\cw\home\portable\chipwhisperer\software\chipwhisperer\capture\scopes\openadc_interface\naeusbchip.py in con(self, sn, idProduct, bitstream, force, prog_speed, **kwargs)
78 if not self.fpga.isFPGAProgrammed():
—> 79 self.fpga.FPGAProgram(self.getFWConfig().loader.fpga_bitstream(), prog_speed=prog_speed)
80 else:

c:\dev\chipwhisperer5_64\cw\home\portable\chipwhisperer\software\chipwhisperer\hardware\naeusb\fpga.py in FPGAProgram(self, bitstream, exceptOnDoneFailure, prog_speed, starting_offset)
104 target_logger.error(“FPGA programming failed. Typically either bad bitstream or prog speed too high (current {})”.format(prog_speed))
→ 105 raise IOError(“FPGA Done pin failed to go high, bad bitstream?”, bitstream)
106

OSError: [Errno FPGA Done pin failed to go high, bad bitstream?] <zipfile.ZipExtFile [closed]>

During handling of the above exception, another exception occurred:

AttributeError Traceback (most recent call last)
C:\Users\serge.monnerat\AppData\Local\Temp\ipykernel_23200\1654912759.py in
1 import chipwhisperer as cw
----> 2 scope = cw.scope()

c:\dev\chipwhisperer5_64\cw\home\portable\chipwhisperer\software\chipwhisperer_init_.py in scope(scope_type, name, sn, idProduct, bitstream, force, prog_speed, **kwargs)
338 except IOError:
339 scope_logger.error(“ChipWhisperer error state detected. Resetting and retrying connection…”)
→ 340 rtn._getNAEUSB().reset()
341 time.sleep(2)
342 rtn = scope_type()

c:\dev\chipwhisperer5_64\cw\home\portable\chipwhisperer\software\chipwhisperer\hardware\naeusb\naeusb.py in reset(self)
984 “”" Reset the SAM3U. Requires firmware 0.30 or later
985 “”"
→ 986 if self.check_feature(“RESET”, True):
987 self.sendCtrl(0x22, 0x10)
988

c:\dev\chipwhisperer5_64\cw\home\portable\chipwhisperer\software\chipwhisperer\hardware\naeusb\naeusb.py in check_feature(self, feature, raise_exception)
991
992 def check_feature(self, feature, raise_exception=False) → bool:
→ 993 prod_id = self.usbtx.device.getProductID()
994 fw_ver_list = self.readFwVersion()
995 fw_ver_str = ‘{}.{}.{}’.format(fw_ver_list[0], fw_ver_list[1], fw_ver_list[2])

AttributeError: ‘NoneType’ object has no attribute ‘getProductID’

Have you ever been able to successfully connect to your CW? If so what has changed now?
You can try different USB ports; you can also add a prog_speed=xxx argument to the cw.scope() call; try something lower than 10e6.

Hi.

I came over that issue too on a macbook 15” of 2016.

The board doesn’t have enough power or stable voltage to deal with.

Try a shorter USB wire and/or connect the board to an externally powered USB hub.

This will hopefully solve the issue.