CW304 Operation timed out

I have been trying to setup the notduino board with the CW_lite capture board but I keep running into issues

Here is the code:

%run “…/…/…/jupyter/Setup_Scripts/Setup_Notduino.ipynb”

import chipwhisperer as cw
avr = scope.scopetype.dev.avr
avr.find() # [Errno 110] Operation timed out
print(avr.readSignature())
print(f"{avr.readFuse('low')}-{avr.readFuse('high')}-{avr.readFuse('extended')}")

Here is the error output:

WARNING:ChipWhisperer NAEUSB:Your firmware is outdated - latest is 0.30. Suggested to update firmware, as you may experience errors
See https://chipwhisperer.readthedocs.io/en/latest/api.html#firmware-update

---------------------------------------------------------------------------
USBTimeoutError                           Traceback (most recent call last)
<ipython-input-4-5d2aa5b40c7c> in <module>
      8 prog.scope = scope
      9 prog.open()
---> 10 prog.find()
     11 prog.writeFuse("low", 0b11100000)

~/work/projects/chipwhisperer/software/chipwhisperer/capture/api/programmers.py in func_wrapper(self, *args, **kwargs)
     69             self.scope.io.nrst = 'high_z'
     70         try:
---> 71             val = func(self, *args, **kwargs)
     72         finally:
     73             target_logger.debug('Restoring pdic, pdid, and nrst pin configuration')

~/work/projects/chipwhisperer/software/chipwhisperer/capture/api/programmers.py in find(self)
    151     def find(self):
    152         avr = self.scope.scopetype.dev.avr
--> 153         sig, chip = avr.find(self.slow_clock)
    154         if chip is None:
    155             self.log("AVR: Detected unknown device with signature=%2x %2x %2x" % (sig[0], sig[1], sig[2]))

~/work/projects/chipwhisperer/software/chipwhisperer/hardware/naeusb/programmer_avr.py in find(self, slow_delay)
    234 
    235         # Read signature
--> 236         self.enableISP(True, slow_delay)
    237         sig = self.readSignature()
    238 

~/work/projects/chipwhisperer/software/chipwhisperer/hardware/naeusb/programmer_avr.py in enableISP(self, status, slow_clock)
    375                 self._chip.cmdexedelay = 25
    376             self._avrDoWrite(self.ISP_CMD_ENTER_PROGMODE_ISP, [self._chip.timeout, self._chip.stabdelay, self._chip.cmdexedelay, self._chip.synchloops,
--> 377                                                                self._chip.bytedelay, self._chip.pollvalue, self._chip.pollindex, 0xAC, 0x53, 0, 0])
    378         else:
    379             try:

~/work/projects/chipwhisperer/software/chipwhisperer/hardware/naeusb/programmer_avr.py in _avrDoWrite(self, cmd, data, checkStatus)
    336         # Check status
    337         if checkStatus:
--> 338             status = self._avrDoRead(cmd=0x0020, dlen=2)
    339             if status[1] != 0x00:
    340                 status_txt = "0x%02x"%status[1]

~/work/projects/chipwhisperer/software/chipwhisperer/hardware/naeusb/programmer_avr.py in _avrDoRead(self, cmd, dlen)
    349         """
    350         # windex selects interface, set to 0
--> 351         return self._usb.readCtrl(self.CMD_AVR_PROGRAM, cmd, dlen)
    352 
    353     # Low-level functions

~/work/projects/chipwhisperer/software/chipwhisperer/hardware/naeusb/naeusb.py in readCtrl(self, cmd, value, dlen)
    794         """
    795         # Vendor-specific, IN, interface control transfer
--> 796         return self.usbseralizer.readCtrl(cmd, value, dlen)
    797 
    798     def cmdReadMem(self, addr, dlen):

~/work/projects/chipwhisperer/software/chipwhisperer/hardware/naeusb/naeusb.py in readCtrl(self, cmd, value, dlen)
    189         cmdpacket = [0xC1, cmd, value, 0, dlen]
    190         cmdpacket = self.make_cmd(self.READ_CTRL, cmdpacket)
--> 191         return self.process_rx(self.txrx(tx=cmdpacket))
    192 
    193 

~/work/projects/chipwhisperer/software/chipwhisperer/hardware/naeusb/naeusb.py in txrx(self, tx)
    297 
    298             if cmd == self.READ_CTRL:
--> 299                 response = self.usbdev().ctrl_transfer(payload[0], payload[1], payload[2], payload[3], payload[4], timeout=self._timeout)
    300                 naeusb_logger.debug("READ_CTRL: bmRequestType: {:02X}, \
    301                     bRequest: {:02X}, wValue: {:04X}, wIndex: {:04X}, data_len: {:04X}, response: {}".format(payload[0], payload[1], \

~/.pyenv/versions/3.7.7/envs/cw/lib/python3.7/site-packages/pyusb-1.1.1-py3.7.egg/usb/core.py in ctrl_transfer(self, bmRequestType, bRequest, wValue, wIndex, data_or_wLength, timeout)
   1077                                     wIndex,
   1078                                     buff,
-> 1079                                     self.__get_timeout(timeout))
   1080 
   1081         if isinstance(data_or_wLength, array.array) \

~/.pyenv/versions/3.7.7/envs/cw/lib/python3.7/site-packages/pyusb-1.1.1-py3.7.egg/usb/backend/libusb1.py in ctrl_transfer(self, dev_handle, bmRequestType, bRequest, wValue, wIndex, data, timeout)
    899                                         cast(addr, POINTER(c_ubyte)),
    900                                         length,
--> 901                                         timeout))
    902 
    903         return ret

~/.pyenv/versions/3.7.7/envs/cw/lib/python3.7/site-packages/pyusb-1.1.1-py3.7.egg/usb/backend/libusb1.py in _check(ret)
    600             raise NotImplementedError(_strerror(ret))
    601         elif ret == LIBUSB_ERROR_TIMEOUT:
--> 602             raise USBTimeoutError(_strerror(ret), ret, _libusb_errno[ret])
    603         else:
    604             raise USBError(_strerror(ret), ret, _libusb_errno[ret])

USBTimeoutError: [Errno 110] Operation timed out

I tried the code recommended in Troubleshooting:

import chipwhisperer as cw
scope = cw.scope()
scope.default_setup()
scope.io.tio1 = "serial_tx"
scope.io.tio2 = "serial_rx"

prog = cw.programmers.AVRProgrammer(slow_clock=True)
prog.scope = scope
prog.open()
prog.find()
prog.writeFuse("low", 0b11100000)

However, I end up with the same error message.
Thanks.

Hi,

Sorry for the late response on this. Can you make sure JP8 is jumpered and that JP2 has the marked pins jumpered?

Alex

Hello,

Unfortunately, I still have the problem above. I tried the code in the Troubleshooting but the same error pops again. I made sure of the jumpers as was suggested but the error is still the same.


Your help is really appreciated