HuskyPlus not updating

Hello,
Im a new to the glitching.

i recently received the new chipWhisperer HuskyPlus.
I have used the husky before with the labs and got that working.
Now with the new HuskyPlus it gets stuck after running the Connect to hardware notebook.

I got the latest update from the git repo.

after running:

import chipwhisperer as cw
scope = cw.scope() #cw.scoJavascript Error: IPython is not definedpe() (commited the cw.scojavascript line out because it caused an sytacs error.)

but the cw.scope also failed with this error:

(ChipWhisperer NAEUSB WARNING|File naeusb.py:821) Your firmware (1.0) is outdated - latest is 1.5 See Updating Firmware — ChipWhisperer 5.7.0 documentation for more information
(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:398) ChipWhisperer error state detected. Resetting and retrying connection…


OSError Traceback (most recent call last)
File ~/chipwhisperer/software/chipwhisperer/init.py:396, in scope(scope_type, name, sn, idProduct, bitstream, force, prog_speed, **kwargs)
395 try:
→ 396 rtn.con(**kwargs)
397 except IOError:

File ~/chipwhisperer/software/chipwhisperer/capture/scopes/OpenADC.py:658, in OpenADC.con(self, sn, idProduct, bitstream, force, prog_speed, **kwargs)
656 self.scopetype = OpenADCInterface_NAEUSBChip()
→ 658 self.scopetype.con(sn, idProduct, bitstream, force, prog_speed, **kwargs)
659 self.sc = OpenADCInterface(self.scopetype.ser, self.scopetype.registers) # important to instantiate this before other FPGA components, since this does an FPGA reset

File ~/chipwhisperer/software/chipwhisperer/capture/scopes/openadc_interface/naeusbchip.py:84, in OpenADCInterface_NAEUSBChip.con(self, sn, idProduct, bitstream, force, prog_speed, registers, **kwargs)
83 if not self.fpga.isFPGAProgrammed():
—> 84 self.fpga.FPGAProgram(self.getFWConfig().loader.fpga_bitstream(), prog_speed=prog_speed)
85 else:

File ~/chipwhisperer/software/chipwhisperer/hardware/naeusb/fpga.py:128, in FPGA.FPGAProgram(self, bitstream, exceptOnDoneFailure, prog_speed, starting_offset, prog_mode)
127 target_logger.error(“FPGA programming failed. Typically either bad bitstream or prog speed too high (current {})”.format(prog_speed))
→ 128 raise IOError(“FPGA Done pin failed to go high, bad bitstream?”, bitstream)
130 self._programmed = True

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)
Cell In[2], line 2
1 import chipwhisperer as cw
----> 2 scope = cw.scope()#cw.scoJavascript Error: IPython is not definedpe()

File ~/chipwhisperer/software/chipwhisperer/init.py:399, in scope(scope_type, name, sn, idProduct, bitstream, force, prog_speed, **kwargs)
397 except IOError:
398 scope_logger.error(“ChipWhisperer error state detected. Resetting and retrying connection…”)
→ 399 rtn._getNAEUSB().reset()
400 time.sleep(2)
401 rtn = scope_type()

File ~/chipwhisperer/software/chipwhisperer/hardware/naeusb/naeusb.py:1157, in NAEUSB.reset(self)
1154 def reset(self):
1155 “”" Reset the SAM3U. Requires firmware 0.30 or later
1156 “”"
→ 1157 if self.check_feature(“RESET”, True):
1158 self.sendCtrl(0x22, 0x10)

File ~/chipwhisperer/software/chipwhisperer/hardware/naeusb/naeusb.py:1164, in NAEUSB.check_feature(self, feature, raise_exception)
1163 def check_feature(self, feature, raise_exception=False) → bool:
→ 1164 prod_id = self.usbtx.device.getProductID()
1165 fw_ver_list = self.readFwVersion()
1166 fw_ver_str = ‘{}.{}.{}’.format(fw_ver_list[0], fw_ver_list[1], fw_ver_list[2])

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

could someone point me in the right direction to fix this?

also will there be a update soon with instructions for the HuskyPlus?

UPDATE:
after compiling the chipwhisper bin the error is:

raise OSError("Could not find bootloader serial port, please see https://chipwhisperer.readthedocs.io/en/latest/firmware.html")

OSError: Could not find bootloader serial port, please see Updating Firmware — ChipWhisperer 5.7.0 documentation
make: *** [naeusb/makefile.cw:454: program] Error 1

Oh sorry, I’ll get chipwhisperer updated so that it actually works with the Husky Plus. In the meantime, you can connect by grabbing this bitstream:

scope = cw.scope(bitstream="/path/to/cwhusky_top.bit")

and it should work fine.

You can ignore the warning about the firmware being outdated, the version checking is updated manually and I haven’t put the new firmware version into chipwhisperer yet.

Alex

Thank you for your reply.

im not sure what happend to the HuskyPro but now it does not boot up correct.
led status = glitch and captureing are on.
f i run:
scope = cw.scope(bitstream=“/path/to/cwhusky_top.bit”)

results in:

OSError Traceback (most recent call last)
Cell In[5], line 1
----> 1 scope = cw.scope(bitstream=“…/cwhusky_top.bit”)

File ~/chipwhisperer/software/chipwhisperer/init.py:393, in scope(scope_type, name, sn, idProduct, bitstream, force, prog_speed, **kwargs)
390 raise ValueError
392 if scope_type is None:
→ 393 scope_type = get_cw_type(**kwargs)
394 rtn : scopes.ScopeTypes = scope_type()
395 try:

File ~/chipwhisperer/software/chipwhisperer/common/utils/util.py:578, in get_cw_type(sn, idProduct, hw_location, **kwargs)
575 possible_ids = [0xace0, 0xace2, 0xace3, 0xace5, 0xace6]
577 cwusb = NAEUSB_Backend()
→ 578 device = cwusb.find(serial_number=sn, idProduct=possible_ids, hw_location=hw_location)
579 name = device.getProduct()
580 cwusb.usb_ctx.close()

File ~/chipwhisperer/software/chipwhisperer/hardware/naeusb/naeusb.py:411, in NAEUSB_Backend.find(self, serial_number, idProduct, hw_location)
409 dev_list = self.get_possible_devices(idProduct, attempt_access=(not hw_location))
410 if len(dev_list) == 0:
→ 411 raise OSError(“Could not find ChipWhisperer. Is it connected?”)
413 # if more than one CW, we require a serial number
414 if hw_location:

OSError: Could not find ChipWhisperer. Is it connected?

if i look at the result of dmesg:
[779745.450024] cdc_acm 3-7:1.0: ttyACM0: USB ACM device
[779843.785889] usb 3-7: USB disconnect, device number 36
[779851.075776] usb 3-7: new high-speed USB device number 37 using xhci_hcd
[779851.202628] usb 3-7: New USB device found, idVendor=03eb, idProduct=6124, bcdDevice= 1.10
[779851.202642] usb 3-7: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[779851.206170] cdc_acm 3-7:1.0: ttyACM0: USB ACM device

hope you can help

You’re probably just in bootloader mode. If you grab the latest develop commit, you can run the following and it should get you back up and running. You shouldn’t need to specify the bitstream any longer as well:

import chipwhisperer as cw
cw.program_sam_firmware(hardware_type="cwhuskyplus")