Hi I just got myself a ChipWhisperer but have unfortunately not been able to set it up. I have tried setting it up on two different linux distributions and get the same error mesage(linux and ubuntu).
This is the message i get ??
USBErrorBusy Traceback (most recent call last)
Input In [6], in <module>
1 import chipwhisperer as cw
----> 2 scope = cw.scope()
File ~/SCA/chipwhisperer/software/chipwhisperer/__init__.py:338, in scope(scope_type, name, sn, idProduct, bitstream, force, prog_speed, **kwargs)
336 rtn : scopes.ScopeTypes = scope_type()
337 try:
--> 338 rtn.con(**kwargs)
339 except IOError:
340 scope_logger.error("ChipWhisperer error state detected. Resetting and retrying connection...")
File ~/SCA/chipwhisperer/software/chipwhisperer/capture/scopes/cwnano.py:628, in CWNano.con(self, sn, **kwargs)
626 if "idProduct" in kwargs:
627 del kwargs['idProduct']
--> 628 found_id = self._cwusb.con(idProduct=[0xACE0], serial_number=sn, **kwargs)
629 except (IOError, ValueError) as e:
630 raise Warning("Could not connect to cwnano. It may have been disconnected,\
631 is in an error state, or is being used by another tool.") from e
File ~/SCA/chipwhisperer/software/chipwhisperer/hardware/naeusb/naeusb.py:665, in NAEUSB.con(self, idProduct, connect_to_first, serial_number, hw_location, **kwargs)
660 def con(self, idProduct : Tuple[int]=(0xACE2,), connect_to_first : bool=False,
661 serial_number : Optional[str]=None, hw_location : Optional[Tuple[int, int]]=None, **kwargs) -> int:
662 """
663 Connect to device using default VID/PID
664 """
--> 665 self.usbtx.open(idProduct=idProduct, serial_number=serial_number, connect_to_first=True, hw_location=hw_location)
668 self.snum=self.usbtx.sn
669 fwver = self.readFwVersion()
File ~/SCA/chipwhisperer/software/chipwhisperer/hardware/naeusb/naeusb.py:376, in NAEUSB_Backend.open(self, serial_number, idProduct, connect_to_first, hw_location)
373 self._usbdev = self.handle
375 # claim bulk interface, may not be necessary?
--> 376 self.handle.claimInterface(0)
378 self.sn = self.handle.getSerialNumber()
379 self.pid = self.device.getProductID()
File ~/.local/lib/python3.10/site-packages/usb1/__init__.py:1146, in USBDeviceHandle.claimInterface(self, interface)
1136 def claimInterface(self, interface):
1137 """
1138 Claim (= get exclusive access to) given interface number. Required to
1139 receive/send data.
(...)
1144 # handle.releaseInterface(0) gets automatically called
1145 """
-> 1146 mayRaiseUSBError(
1147 libusb1.libusb_claim_interface(self.__handle, interface),
1148 )
1149 return _ReleaseInterface(self, interface)
File ~/.local/lib/python3.10/site-packages/usb1/__init__.py:127, in mayRaiseUSBError(value, __raiseUSBError)
121 def mayRaiseUSBError(
122 value,
123 # Avoid globals lookup on call to work during interpreter shutdown.
124 __raiseUSBError=raiseUSBError,
125 ):
126 if value < 0:
--> 127 __raiseUSBError(value)
128 return value
File ~/.local/lib/python3.10/site-packages/usb1/__init__.py:119, in raiseUSBError(value, __STATUS_TO_EXCEPTION_DICT, __USBError)
113 def raiseUSBError(
114 value,
115 # Avoid globals lookup on call to work during interpreter shutdown.
116 __STATUS_TO_EXCEPTION_DICT=STATUS_TO_EXCEPTION_DICT,
117 __USBError=USBError,
118 ): # pylint: disable=dangerous-default-value
--> 119 raise __STATUS_TO_EXCEPTION_DICT.get(value, __USBError)(value)
USBErrorBusy: LIBUSB_ERROR_BUSY [-6]