CWNano scope connection doesn't work

Hello,

I’ve recently bought a CWNano to be used for my master thesis on Side Channel.
I have a problem in connecting it:

after:
import chipwhisperer as cw
scope = cw.scope(cw.scopes.CWNano)

The result is:
Traceback (most recent call last):
File “c:\users\user\chipwhisperer5_64\chipwhisperer\software\chipwhisperer\hardware\naeusb\naeusb.py”, line 314, in txrx
response = self.get_possible_devices(payload)
File “c:\users\user\chipwhisperer5_64\chipwhisperer\software\chipwhisperer\hardware\naeusb\naeusb.py”, line 448, in get_possible_devices
devlist = [{‘sn’: d.serial_number, ‘product’: d.product, ‘pid’: d.idProduct, ‘vid’: d.idVendor} for d in devlist]
File “c:\users\user\chipwhisperer5_64\chipwhisperer\software\chipwhisperer\hardware\naeusb\naeusb.py”, line 448, in
devlist = [{‘sn’: d.serial_number, ‘product’: d.product, ‘pid’: d.idProduct, ‘vid’: d.idVendor} for d in devlist]
File “C:\Users\user\ChipWhisperer5_64\WPy64-3740\python-3.7.4.amd64\lib\site-packages\usb\core.py”, line 852, in serial_number
self._serial_number = util.get_string(self, self.iSerialNumber)
File “C:\Users\user\ChipWhisperer5_64\WPy64-3740\python-3.7.4.amd64\lib\site-packages\usb\util.py”, line 311, in get_string
langids = dev.langids
File “C:\Users\user\ChipWhisperer5_64\WPy64-3740\python-3.7.4.amd64\lib\site-packages\usb\core.py”, line 839, in langids
self._langids = util.get_langids(self)
File “C:\Users\user\ChipWhisperer5_64\WPy64-3740\python-3.7.4.amd64\lib\site-packages\usb\util.py”, line 270, in get_langids
0
File “C:\Users\user\ChipWhisperer5_64\WPy64-3740\python-3.7.4.amd64\lib\site-packages\usb\control.py”, line 175, in get_descriptor
data_or_wLength = desc_size)
File “C:\Users\user\ChipWhisperer5_64\WPy64-3740\python-3.7.4.amd64\lib\site-packages\usb\core.py”, line 1059, in ctrl_transfer
self._ctx.managed_open()
File “C:\Users\user\ChipWhisperer5_64\WPy64-3740\python-3.7.4.amd64\lib\site-packages\usb\core.py”, line 113, in wrapper
return f(self, *args, **kwargs)
File “C:\Users\user\ChipWhisperer5_64\WPy64-3740\python-3.7.4.amd64\lib\site-packages\usb\core.py”, line 131, in managed_open
self.handle = self.backend.open_device(self.dev)
File “C:\Users\user\ChipWhisperer5_64\WPy64-3740\python-3.7.4.amd64\lib\site-packages\usb\backend\libusb1.py”, line 804, in open_device
return _DeviceHandle(dev)
File “C:\Users\user\ChipWhisperer5_64\WPy64-3740\python-3.7.4.amd64\lib\site-packages\usb\backend\libusb1.py”, line 652, in init
_check(_lib.libusb_open(self.devid, byref(self.handle)))
File “C:\Users\user\ChipWhisperer5_64\WPy64-3740\python-3.7.4.amd64\lib\site-packages\usb\backend\libusb1.py”, line 600, in _check
raise NotImplementedError(_strerror(ret))
NotImplementedError: Operation not supported or unimplemented on this platform

NotImplementedError Traceback (most recent call last)
in
1 import chipwhisperer as cw
----> 2 scope = cw.scope(cw.scopes.CWNano)

c:\users\user\chipwhisperer5_64\chipwhisperer\software\chipwhisperer_init_.py in scope(scope_type, sn)
228 scope_type = get_cw_type(sn)
229 scope = scope_type()
–> 230 scope.con(sn)
231 return scope
232

c:\users\user\chipwhisperer5_64\chipwhisperer\software\chipwhisperer\capture\scopes\base.py in con(self, sn)
56
57 def con(self, sn=None):
—> 58 if self._con(sn):
59 self.connectStatus = True
60

c:\users\user\chipwhisperer5_64\chipwhisperer\software\chipwhisperer\capture\scopes\cwnano.py in _con(self, sn)
609 def _con(self, sn=None):
610 try:
–> 611 possible_sn = self._cwusb.get_possible_devices(idProduct=[0xACE0])
612 serial_numbers = []
613 if len(possible_sn) > 1:

c:\users\user\chipwhisperer5_64\chipwhisperer\software\chipwhisperer\hardware\naeusb\naeusb.py in get_possible_devices(self, idProduct)
606
607 def get_possible_devices(self, idProduct):
–> 608 return self.usbseralizer.get_possible_devices(idProduct)
609
610 def con(self, idProduct=[0xACE2], connect_to_first=False, serial_number=None):

c:\users\user\chipwhisperer5_64\chipwhisperer\software\chipwhisperer\hardware\naeusb\naeusb.py in get_possible_devices(self, idProduct)
132 “”“Get a list of connected USB devices.”""
133 cmdpacket = self.make_cmd(self.GET_POSSIBLE_DEVICES, idProduct)
–> 134 return self.process_rx(self.txrx(tx=cmdpacket))
135
136 def process_rx(self, inp):

c:\users\user\chipwhisperer5_64\chipwhisperer\software\chipwhisperer\hardware\naeusb\naeusb.py in process_rx(self, inp)
152
153 if resp == self.ERROR:
–> 154 raise payload
155
156 return payload

NotImplementedError: Operation not supported or unimplemented on this platform

I’ve already used a ChipWhisperer-Lite XMEGA succesfully so my environment is OK and I’ve already run the ChipWhisperer GIT Update in order to have it up to date.

Any suggestion on how to go on?

Thank you in advance and best regards
Maurizio

I’ve found a problem in the device driver installation:

I haven’t find a way to fix the driver issue…
:pensive:

Try to reinstall the whole stuff (Chipwhisperer.v5.4.0.Setup.64-bit.exe) but the behavior is always the same: no compatible drivers has been found…

Solved, after a GIT UPDATE:

found in “ChipWhisperer5_64\chipwhisperer\hardware”
the file “newae_windowsusb_drivers.zip”

Unzipped in local dir and reinstalling driver from “Driver manager” selecting “ChipWhisperer5_64\chipwhisperer\hardware\newae_windowsusb_drivers\usb_drivers”

It worked Finally!!!
:partying_face:

Could you say what version of drivers you ended up with - I am seeing similar problems but even after a GIT update, Windows is telling me that the drivers are the most recent already. This is the version I have reported (which seems quite old :slight_smile:
image

Hi,

It should be a Universal Serial Bus device. If that’s the drop-down it appears under in Device Manager, you’ve got the right driver.

The driver itself is just a generic USB driver (WINUSB in this case)

Alex

Hi,

It should be the NewAE driver like

To obtain it try to update the driver choosing the one present into "…ChipWhisperer5_64\chipwhisperer\hardware\newae_windowsusb_drivers.zip”.

You should unzip it somewhere.

I don’t remember if I had to remove the driver before to reinstall it or just an UPDATE was enough.
Please note that when you select UPDATE you must select search the driver in my computer and than select the right folder.

Hope it helps

Best regards

Hi,

That’s the old driver, libusb0, which we will no longer support beginning with the next chipwhisperer release. I recommend using the WinUSB driver.

Alex