CW-Husky in an unexpected state & cw.scope() fails

Hi there,

I used my Husky to complete the FAULT101 labs, up until which I had no issues with my setup. Then I disconnected my CW313 target from the Husky and used the 20pin connector to power my custom board. Since then, my Husky has no other lights glowing except Status, that blinks every second or so.

I tried checking whether I am able to connect to the scope() but I get this error:

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

cw.list_devices() shows my Husky as a connected device:

[{'name': 'ChipWhisperer-Husky', 'sn': '502032204c5846303230373137313038', 'hw_loc': (1, 37)}]

but I am unable to get power from the 20pin connector anymore & can no longer power my target board.

I am very confused as to what has caused this state.

So far I have tried:

  1. Entering the bootloader state by pressing the RESET pin on my Husky and reprogramming my SAM3U using cw.program_sam_firmware(hardware_type='cwhusky'), which brought it to the same state it is now.
  2. I also tried directly programming the Husky bitstream using cw.scope(bitstream="/software/chipwhisperer/hardware/firmware/cwhusky/bitstream.bit”, prog_speed=10e4)and while that keeps the Status LED constantly on instead of blinking, after 2-3 mins, the run errors out with the same error as above (with only the program speed seeming lower).
  3. As a final attempt, I tried: cw.scope(sn=“502032204c5846303230373137313038”) also to no avail.

The complete stack trace looks like this for any of the cw.scope() calls:

(ChipWhisperer Target ERROR|File fpga.py:127) FPGA programming failed. Typically either bad bitstream or prog speed too high (current 10000000)
(ChipWhisperer Scope ERROR|File init.py:402) ChipWhisperer error state detected. Resetting and retrying connection…
Traceback (most recent call last):
File “/home/user/workspace/chipwhisperer/software/chipwhisperer/init.py”, line 400, in scope
rtn.con(**kwargs)
File “/home/user/workspace/chipwhisperer/software/chipwhisperer/capture/scopes/OpenADC.py”, line 690, in con
self.scopetype.con(sn, idProduct, bitstream, force, prog_speed, **kwargs)
File “/home/user/workspace/chipwhisperer/software/chipwhisperer/capture/scopes/openadc_interface/naeusbchip.py”, line 84, in con
self.fpga.FPGAProgram(self.getFWConfig().loader.fpga_bitstream(), prog_speed=prog_speed)
File “/home/user/workspace/chipwhisperer/software/chipwhisperer/hardware/naeusb/fpga.py”, line 128, in FPGAProgram
raise IOError(“FPGA Done pin failed to go high, bad bitstream?”, bitstream)
OSError: [Errno FPGA Done pin failed to go high, bad bitstream?] <zipfile.ZipExtFile [closed]>



During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “”, line 1, in 
File “/home/user/workspace/chipwhisperer/software/chipwhisperer/init.py”, line 403, in scope
rtn._getNAEUSB().reset()
File “/home/user/workspace/chipwhisperer/software/chipwhisperer/hardware/naeusb/naeusb.py”, line 1161, in reset
if self.check_feature(“RESET”, True):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/user/workspace/chipwhisperer/software/chipwhisperer/hardware/naeusb/naeusb.py”, line 1168, in check_feature
prod_id = self.usbtx.device.getProductID()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: ‘NoneType’ object has no attribute ‘getProductID’ 

I have exhausted all possible ideas, so any pointers would be super useful. Thanks in advance!

It sounds like your custom target board shorted something; have you determined whether this is the issue?

From your description, we know that the SAM3U processor is still functional, but the FPGA is either damaged or not powered properly. Do you have 3V on the 20-pin connector 3.3V pins and on the USERIO V+ pins?

HI there, thank you for the quick reply. I have tested that my custom board is operational and everything on it works when connected to an external battery, but when connected to the Husky, it does not power on.

I think you are right in that on the Husky, I am not getting 3.3V on either the 20pin connector not the USERIO pins (they both are either 0V or a value close to 0V when observed by an oscilloscope), is there any way to recover my Husky from this state? :frowning:

Thanks again for assisting me with my issue!

What voltage does your custom board operate at? Husky I/Os are 3.3V only. For targets that operate at different voltages, you need to use something like our CW506.

If you are connecting your custom board to Husky using the 20-pin connector, carefully re-check that all the pins are correctly assigned.

A repair or replacement is likely required; email support@newae.com with a reference to this thread and answers to the above questions.

1 Like

Thanks a lot! I have sent an email to them, hopefully I can get this sorted as I was super excited to work with the Husky on my custom board.