OSError: Unable to communicate with found ChipWhisperer. Check that another process isn't connected to it and that you have permission to communicate with it

Hello, I am using a CW305 Target and CW-Lite Capture Board. Whenever I try to run cw.scope(), I receive an “OSError: Unable to communicate with found ChipWhisperer. Check that another process isn’t connected to it and that you have permission to communicate with it.”

I am running on a RedHat system and have followed the instructions described at https://chipwhisperer.readthedocs.io/en/latest/prerequisites.html#prerequisites-linux on adding the appropriate rules.d entry and user group permissions to dialout as follows:

sudo printf “SUBSYSTEM==“usb”, ATTRS{idVendor}==“2b3e”, ATTRS{idProduct}==“ace[0-9]|c[3-6][0-9][0-9]”, TAG+=“uaccess”” >> /etc/udev/rules.d/50-newae.rules
sudo udevadm control --reload-rules
sudo usermod -a -G dialout $USER

As further insight, the ChipWhisperer has a blinking blue light when it is plugged in.
I have also tried restarting the entire system, replugging in my the ChipWhisperer, and only having the ChipWhisperer plugged in without the CW305 target to no avail with the same error.

This is the same error as was encountered by another as described in Scope = cw.scope() command is not running with CW305, which was resolved by re-downloading drivers. However, that user was running on a Windows machine, whereas the instructions state that “The driver for Linux is built in; however, you need to allow your user account to access the peripheral.”, which I have done as described above.

Any insight as to what could be causing this issue and potential resolutions would be very appreciated. Thank you.

Hi,

Can you post the output of lsusb -v and cat /etc/udev/rules.d/50-newae.rules?

Alex

Hi Alex,

lsusb -v:

Bus 003 Device 006: ID 2b3e:c305
Couldn’t open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x2b3e
idProduct 0xc305
bcdDevice 1.00
iManufacturer 1
iProduct 2
iSerial 3
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0

Bus 003 Device 012: ID 2b3e:ace2
Couldn’t open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x2b3e
idProduct 0xace2
bcdDevice 1.00
iManufacturer 1
iProduct 2
iSerial 3
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0

There were a lot of entries as the result of lsusb -v since there are many devices on the system, so I have just pasted the entries containing ID 2b3e. Please let me know if this is insufficient, and I can provide the entire output in a file.

cat /etc/udev/rules.d/50-newae.rules:

## NewAE .rules file to enable ChipWhisperer to easily take control
#
# To use this file
# 1) Unplug all NewAE hardware
# 2) Copy to /etc/udev/rules.d/
# 3) Reset the udev system:
# $ sudo udevadm control --reload-rules
# 4) Log in/out again for changes to take effect
# 5) Connect hardware
#
# Match all CW devices
SUBSYSTEM==“usb”, ATTRS{idVendor}==“2b3e”, ATTRS{idProduct}==“ace[0-9]|c[3-6][0-9][0-9]”, TAG+=“uaccess”

From lsusb, it seems there is some issue in opening the devices.
Here is some additional information from dmesg yielded from plugging in the devices in case it is of relevance:

[ 3.673832] usb 3-4.1: new high-speed USB device number 6 using xhci_hcd
[ 3.759520] usb 3-4.1: New USB device found, idVendor=2b3e, idProduct=c305, bcdDevice= 1.00
[ 3.759525] usb 3-4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3.759529] usb 3-4.1: Product: ChipWhisperer CW305
[ 3.759533] usb 3-4.1: Manufacturer: NewAE Technology Inc.
[ 3.759537] usb 3-4.1: SerialNumber: 50203120355448513130353237313031
[ 3.831832] usb 3-3.2: new high-speed USB device number 7 using xhci_hcd

[ 4.831891] usb 3-4.4: new high-speed USB device number 12 using xhci_hcd
[ 4.918595] usb 3-4.4: New USB device found, idVendor=2b3e, idProduct=ace2, bcdDevice= 1.00
[ 4.918602] usb 3-4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4.918606] usb 3-4.4: Product: ChipWhisperer Lite
[ 4.918610] usb 3-4.4: Manufacturer: NewAE Technology Inc.
[ 4.918614] usb 3-4.4: SerialNumber: 50203220313038543330313237323030
[ 5.455879] usb 3-3.3.4: new high-speed USB device number 13 using xhci_hcd

Thank you for the prompt follow up.

Hi,

Can you try using this file instead and adding yourself to the plugdev group? https://raw.githubusercontent.com/newaetech/chipwhisperer/cw305_ecc_in_progress/hardware/99-newae.rules

Once that’s done, reload the udev rules and log out + log back in

Alex

Hi Alex,

It seems like that worked! Now I am getting a ChipWhisperer found with an out of date firmware warning, which I am currently working on rectifying.

The “Couldn’t open device, some information will be missing” error in lsusb -v is also gone.

lsusb -v:

Bus 003 Device 015: ID 2b3e:c305
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x2b3e
idProduct 0xc305
bcdDevice 1.00
iManufacturer 1 NewAE Technology Inc.
iProduct 2 ChipWhisperer CW305
iSerial 3 50203120355448513130353237313031
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 33
bNumDeviceCaps 1
** UNRECOGNIZED: 1c 10 05 00 df 60 dd d8 89 45 c7 4c 9c d2 65 9d 9e 64 8a 9f 00 00 03 06 9e 00 01 00
Device Status: 0x0000
(Bus Powered)

Bus 003 Device 014: ID 2b3e:ace2
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x2b3e
idProduct 0xace2
bcdDevice 1.00
iManufacturer 1 NewAE Technology Inc.
iProduct 2 ChipWhisperer Lite
iSerial 3 50203220313038543330313237323030
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 33
bNumDeviceCaps 1
** UNRECOGNIZED: 1c 10 05 00 df 60 dd d8 89 45 c7 4c 9c d2 65 9d 9e 64 8a 9f 00 00 03 06 9e 00 01 00
Device Status: 0x0000
(Bus Powered)

Thank you for your help and prompt follow-up! It is much appreciated.

- Mustafa