USBError: [Errno 75] Overflow

Hi,

I already searched this forum and could not find this exact error, which is why I’m asking now for help.
Everything went great on one PC here at my University but when I connected the CW-Lite to another PC also running the same Linux Ubuntu distro natively this error came up when trying to send any data over USB. This is also the case when using the Generic_Setup notebook:

INFO: Found ChipWhisperer😍


USBError Traceback (most recent call last)
/scratch-local/jens/cw/chipwhisperer/jupyter/Setup_Scripts/Setup_Generic.ipynb in
1 import time
2 time.sleep(0.05)
----> 3 scope.default_setup()
4 def reset_target(scope):
5 if PLATFORM == “CW303” or PLATFORM == “CWLITEXMEGA”:

/scratch-local/jens/cw/chipwhisperer/software/chipwhisperer/capture/scopes/OpenADC.py in default_setup(self)
165
166 self.clock.adc_src = “clkgen_x4”
→ 167 self.io.cdc_settings = 0
168
169 count = 0

/scratch-local/jens/cw/chipwhisperer/software/chipwhisperer/common/utils/util.py in setattr(self, name, value)
349
350 def setattr(self, name, value):
→ 351 if hasattr(self, ‘_new_attributes_disabled’) and self._new_attributes_disabled and not hasattr(self, name): # would this create a new attribute?
352 raise AttributeError(“Attempt to set unknown attribute in %s”%self.class, name)
353 super(DisableNewAttr, self).setattr(name, value)

/scratch-local/jens/cw/chipwhisperer/software/chipwhisperer/capture/scopes/cwhardware/ChipWhispererExtra.py in cdc_settings(self)
210 if ver < ‘0.30’:
211 return None
→ 212 return self.cwe.oa.serial.get_cdc_settings()
213
214 @cdc_settings.setter

/scratch-local/jens/cw/chipwhisperer/software/chipwhisperer/hardware/naeusb/naeusb.py in get_cdc_settings(self)
674
675 def get_cdc_settings(self):
→ 676 return self.usbtx.readCtrl(self.CMD_CDC_SETTINGS_EN, dlen=2)
677
678 def set_cdc_settings(self, port=[1, 1]):

/scratch-local/jens/cw/chipwhisperer/software/chipwhisperer/hardware/naeusb/naeusb.py in readCtrl(self, cmd, value, dlen)
501 “”"
502 # Vendor-specific, IN, interface control transfer
→ 503 return self.usbdev().ctrl_transfer(0xC1, cmd, value, 0, dlen, timeout=self._timeout)
504
505 def cmdReadMem(self, addr, dlen):

/scratch-local/jens/local_install/anaconda3/lib/python3.8/site-packages/usb/core.py in ctrl_transfer(self, bmRequestType, bRequest, wValue, wIndex, data_or_wLength, timeout)
1070 self._ctx.managed_claim_interface(self, interface_number)
1071
→ 1072 ret = self._ctx.backend.ctrl_transfer(
1073 self._ctx.handle,
1074 bmRequestType,

/scratch-local/jens/local_install/anaconda3/lib/python3.8/site-packages/usb/backend/libusb1.py in ctrl_transfer(self, dev_handle, bmRequestType, bRequest, wValue, wIndex, data, timeout)
891 length *= data.itemsize
892
→ 893 ret = _check(self.lib.libusb_control_transfer(
894 dev_handle.handle,
895 bmRequestType,

/scratch-local/jens/local_install/anaconda3/lib/python3.8/site-packages/usb/backend/libusb1.py in _check(ret)
602 raise USBTimeoutError(_strerror(ret), ret, _libusb_errno[ret])
603 else:
→ 604 raise USBError(_strerror(ret), ret, _libusb_errno[ret])
605
606 return ret

USBError: [Errno 75] Overflow


USBError Traceback (most recent call last)
in
1 PLATFORM=“NOTHING”
----> 2 get_ipython().run_line_magic(‘run’, ‘Setup_Scripts/Setup_Generic.ipynb’)

/scratch-local/jens/local_install/anaconda3/lib/python3.8/site-packages/IPython/core/interactiveshell.py in run_line_magic(self, magic_name, line, _stack_depth)
2325 kwargs[‘local_ns’] = self.get_local_scope(stack_depth)
2326 with self.builtin_trap:
→ 2327 result = fn(*args, **kwargs)
2328 return result
2329

in run(self, parameter_s, runner, file_finder)

/scratch-local/jens/local_install/anaconda3/lib/python3.8/site-packages/IPython/core/magic.py in (f, *a, **k)
185 # but it’s overkill for just that one bit of state.
186 def magic_deco(arg):
→ 187 call = lambda f, *a, **k: f(*a, **k)
188
189 if callable(arg):

/scratch-local/jens/local_install/anaconda3/lib/python3.8/site-packages/IPython/core/magics/execution.py in run(self, parameter_s, runner, file_finder)
722 with preserve_keys(self.shell.user_ns, ‘file’):
723 self.shell.user_ns[‘file’] = filename
→ 724 self.shell.safe_execfile_ipy(filename, raise_exceptions=True)
725 return
726

/scratch-local/jens/local_install/anaconda3/lib/python3.8/site-packages/IPython/core/interactiveshell.py in safe_execfile_ipy(self, fname, shell_futures, raise_exceptions)
2812 result = self.run_cell(cell, silent=True, shell_futures=shell_futures)
2813 if raise_exceptions:
→ 2814 result.raise_error()
2815 elif not result.success:
2816 break

/scratch-local/jens/local_install/anaconda3/lib/python3.8/site-packages/IPython/core/interactiveshell.py in raise_error(self)
329 raise self.error_before_exec
330 if self.error_in_exec is not None:
→ 331 raise self.error_in_exec
332
333 def repr(self):

[... skipping hidden 1 frame]

in
1 import time
2 time.sleep(0.05)
----> 3 scope.default_setup()
4 def reset_target(scope):
5 if PLATFORM == “CW303” or PLATFORM == “CWLITEXMEGA”:

/scratch-local/jens/cw/chipwhisperer/software/chipwhisperer/capture/scopes/OpenADC.py in default_setup(self)
165
166 self.clock.adc_src = “clkgen_x4”
→ 167 self.io.cdc_settings = 0
168
169 count = 0

/scratch-local/jens/cw/chipwhisperer/software/chipwhisperer/common/utils/util.py in setattr(self, name, value)
349
350 def setattr(self, name, value):
→ 351 if hasattr(self, ‘_new_attributes_disabled’) and self._new_attributes_disabled and not hasattr(self, name): # would this create a new attribute?
352 raise AttributeError(“Attempt to set unknown attribute in %s”%self.class, name)
353 super(DisableNewAttr, self).setattr(name, value)

/scratch-local/jens/cw/chipwhisperer/software/chipwhisperer/capture/scopes/cwhardware/ChipWhispererExtra.py in cdc_settings(self)
210 if ver < ‘0.30’:
211 return None
→ 212 return self.cwe.oa.serial.get_cdc_settings()
213
214 @cdc_settings.setter

/scratch-local/jens/cw/chipwhisperer/software/chipwhisperer/hardware/naeusb/naeusb.py in get_cdc_settings(self)
674
675 def get_cdc_settings(self):
→ 676 return self.usbtx.readCtrl(self.CMD_CDC_SETTINGS_EN, dlen=2)
677
678 def set_cdc_settings(self, port=[1, 1]):

/scratch-local/jens/cw/chipwhisperer/software/chipwhisperer/hardware/naeusb/naeusb.py in readCtrl(self, cmd, value, dlen)
501 “”"
502 # Vendor-specific, IN, interface control transfer
→ 503 return self.usbdev().ctrl_transfer(0xC1, cmd, value, 0, dlen, timeout=self._timeout)
504
505 def cmdReadMem(self, addr, dlen):

/scratch-local/jens/local_install/anaconda3/lib/python3.8/site-packages/usb/core.py in ctrl_transfer(self, bmRequestType, bRequest, wValue, wIndex, data_or_wLength, timeout)
1070 self._ctx.managed_claim_interface(self, interface_number)
1071
→ 1072 ret = self._ctx.backend.ctrl_transfer(
1073 self._ctx.handle,
1074 bmRequestType,

/scratch-local/jens/local_install/anaconda3/lib/python3.8/site-packages/usb/backend/libusb1.py in ctrl_transfer(self, dev_handle, bmRequestType, bRequest, wValue, wIndex, data, timeout)
891 length *= data.itemsize
892
→ 893 ret = _check(self.lib.libusb_control_transfer(
894 dev_handle.handle,
895 bmRequestType,

/scratch-local/jens/local_install/anaconda3/lib/python3.8/site-packages/usb/backend/libusb1.py in _check(ret)
602 raise USBTimeoutError(_strerror(ret), ret, _libusb_errno[ret])
603 else:
→ 604 raise USBError(_strerror(ret), ret, _libusb_errno[ret])
605
606 return ret

USBError: [Errno 75] Overflow

The udev/rules are also in place and I have no idea currently why this error is comming up. Can anyone help me here? I’m not sure what I am doing different than on the other PC…
Thank you very much in advance.

Hi,

What firmware version (scope.fw_version) and ChipWhisperer version (cw.version) are you on?

scope.fw_version = {‘major’: 0, ‘minor’: 50, ‘debug’: 0}
cw.version = 5.5.0

I believe firmware version 0.50.0 is from an unreleased version. Try switching to ChipWhisperer 5.6.0 (Black Hat release on Github) or reprogramming the firmware on your current version.

Alex

1 Like

Hi Alex,
thank you very much for your quick help. That solved it! Apparently I downloaded this version on my other computer at some point. It works now again flawlessly.