Error connecting to ChipWhisperer

Hello,

I’m trying to get my ChipWhisperer running on a MacBook with the M1 processor, and am getting the error below when attempting to run Setup_Generic.ipynb. Has anyone run into this issue before? I’d really appreciate some help. “No backend available” seems to be the primary error.

Traceback (most recent call last):
File “”, line 3, in
if not scope.connectStatus:
NameError: name ‘scope’ is not defined

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/Users/me/miniforge3/envs/tf24/lib/python3.8/site-packages/chipwhisperer/hardware/naeusb/naeusb.py”, line 314, in txrx
response = self.get_possible_devices(payload)
File “/Users/me/miniforge3/envs/tf24/lib/python3.8/site-packages/chipwhisperer/hardware/naeusb/naeusb.py”, line 433, in get_possible_devices
dev = list(usb.core.find(idProduct=id, **my_kwargs))
File “/Users/me/miniforge3/envs/tf24/lib/python3.8/site-packages/usb/core.py”, line 1299, in find
raise NoBackendError(‘No backend available’)
usb.core.NoBackendError: No backend available

PyUSB requires libusb0 or libusb1 as a backend. I’m not sure what compatibility is on Mac for either of these libraries. You may just need to install one manually. libusb0 hasn’t been developed for a while at this point, so I’d check libusb1 first.

Alex

Hi Alex,

I tried installing both libusb and libusb1 via pip and unfortunately still got the same error. I looked to see what I had on my old Mac and found that neither of them were in my site-packages for that env strangely (which the ChipWhisperer worked in). libusb was installed via brew on that laptop though, so I did that on my new one as well, but yet again hit the same error. Is there something else it could be, or maybe it’s a path issue?

You won’t be able to install libusb via pip as it’s written in C, not Python (https://libusb.info/ is the library, source is https://github.com/libusb/libusb). I know it supports all the major x86 platforms, but I’m not sure if it runs on the M1. If may be that you need to compile libusb yourself, or it may not support the M1 at all.

Alex

Okay, thank you Alex. I emailed the libusb dev team about the issue to see if it supports the M1. Hopefully I’ll hear back soon.

Hi JSE,
did you find a solution for your problem? I am using CW on ubuntu in utm on my m1 Mac but it can not my board connected.

Hi,

Try taking a look through this issue on github: Can't import libusb on MacBook M1 · Issue #381 · newaetech/chipwhisperer · GitHub. Basically, libusb1 should work on M1, but you have to be careful of where you get it from, as the x86 version of libusb won’t work with python and vice versa

Alex