Win7 Installation and VMWare Image fails to find USB Device

Hi colin, and Greetings to the rest of the CW Team !

First of all thank you to you all for creating such a great affordable tool for the security community world!

Unfortunately, I can’t get it to work yet - I must be missing something:

I have first done a Windows 7 Installation (with Anaconda as Python 2.7)
the Device I have is recognized in the DeviceManager as ChipWisperer Lite in the category libusb-win32 Usb Devices

When I start CWCapture and I change the scope module to CW/OpenADC and try to run it without a target
it say in the Debug Logging:

INFO - Found ChipWhisperer-Lite, Serial Number = 4420312046304a383030382038323039 INFO - SAM3U Firmware version = 0.11 b0 ERROR - Traceback (most recent call last): File "G:\cw\cw\software\chipwhisperer\capture\ui\CWCaptureGUI.py", line 166, in doConDis if self.api.connect(): File "G:\cw\cw\software\chipwhisperer\common\api\CWCoreAPI.py", line 277, in connect return self.connectScope() and self.connectTarget() File "G:\cw\cw\software\chipwhisperer\common\api\CWCoreAPI.py", line 239, in connectScope self.getScope().con() File "G:\cw\cw\software\chipwhisperer\capture\scopes\base.py", line 60, in con if self._con(): File "G:\cw\cw\software\chipwhisperer\capture\scopes\OpenADC.py", line 98, in _con self.scopetype.con() File "G:\cw\cw\software\chipwhisperer\capture\scopes\openadc_interface\naeusbchip.py", line 83, in con self.cwFirmwareConfig.loadRequired() File "G:\cw\cw\software\chipwhisperer\capture\scopes\cwhardware\ChipWhispererFWLoader.py", line 229, in loadRequired self.loader.loadRequired(self.loadFPGA, forceFirmware) File "G:\cw\cw\software\chipwhisperer\capture\scopes\cwhardware\ChipWhispererFWLoader.py", line 176, in loadRequired callback() File "G:\cw\cw\software\chipwhisperer\capture\scopes\cwhardware\ChipWhispererFWLoader.py", line 256, in loadFPGA self.loader.loadFPGA() File "G:\cw\cw\software\chipwhisperer\capture\scopes\cwhardware\ChipWhispererFWLoader.py", line 184, in loadFPGA self.driver.FPGAProgram(self.fpga_bitstream()) File "G:\cw\cw\software\chipwhisperer\hardware\naeusb\fpga.py", line 60, in FPGAProgram self.sendCtrl(self.CMD_FPGA_PROGRAM, 0xA0) File "G:\cw\cw\software\chipwhisperer\hardware\naeusb\naeusb.py", line 153, in sendCtrl return self.usbdev().ctrl_transfer(0x41, cmd, value, 0, data, timeout=self._timeout) File "C:\Anaconda27\lib\site-packages\usb\core.py", line 1043, in ctrl_transfer self.__get_timeout(timeout)) File "C:\Anaconda27\lib\site-packages\usb\backend\libusb1.py", line 883, in ctrl_transfer timeout)) File "C:\Anaconda27\lib\site-packages\usb\backend\libusb1.py", line 595, in _check raise USBError(_strerror(ret), ret, _libusb_errno[ret]) USBError: [Errno 5] Input/output error

and if I run the VMWare Image, It says Target Error : Failed to find USB Device

although it is recognized by the system, here the dmesg passage :

[ 454.597191] usb 1-1: new high-speed USB device number 3 using ehci-pci [ 454.952905] usb 1-1: New USB device found, idVendor=2b3e, idProduct=ace2 [ 454.952907] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 454.952909] usb 1-1: Product: ChipWhisperer Lite [ 454.952910] usb 1-1: Manufacturer: NewAE Technology Inc. [ 454.952911] usb 1-1: SerialNumber: 4420312046304a383030382038323039

What am I missing ? Please help me ,

Greetings,

Hello,

Yikes - sorry to hear things aren’t working both ways! Do you get blinking lights?

The USB timeout error is not a “normal” error I’ve seen, so it’s not something I know off-hand what is happening (this is on the Windows 7 machine). Can you post the pyusb version with:

import usb
print usb.__version__

For the VMware machine problem: also an odd one! Can you try running the software under ‘sudo’ or as root to double-check it’s not an issue with permissions? Does it have any other debug output or just not finding it at all?

The VM should be all configured to just work, but maybe something went wrong. I need to update that VM shortly as working on a new release.

Regards,

-Colin O’Flynn

blue light is blinking

usb version is 1.0.0 (win7)

and the vmware gives me the same error under root … unfortunately !

What version of Anaconda are you using? I can try putting it onto a Win 7 VM here.

(C:\Anaconda27) C:\Users\alexx>python
Python 2.7.12 |Anaconda 4.1.1 (32-bit)| (default, Jun 29 2016, 11:42:13) [MSC v.
1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>>

I did try this on the same Anaconda build (4.1.1), and had no issues. So it’s not some odd error with that version I think.

Is there a chance you can try (a) a different micro-USB cable, and (b) another computer? The HW itself has a fairly extensive self-test, but we don’t check the cables, so it’s possible there is a borderline connection. If not that another computer would be great to try… or if you have a powered USB hub you could put inbetween the CW-Lite and your computer.

If the other computer isn’t practical, I can try to make a minimal python script that looks for the CW-Lite.

Hi Colin,

first of all the good news : I tried a clean install of win 7 32bit on a small hp notebook with 2gb ram, and a clean install of anaconda with cw : [size=150]Hardware and Software works ![/size]

Now there is no reason why it should not work on my main machine i tested cw before : Corei7-6700K@4GHz 32GB Ram (1 Titan X) win7 64bit. Therefore I would like very much If you could make me that script, so that we debug this problem. [size=85](Maybe all installations of sdr tools, National Instruments Programs, CST Studio and diverse devkits fu**ed up the USB Stack)
[/size]
Worst case, if we get stuck, I can always get a new SSD Disk and make a secondary (dual boot) clean installation of win7 64bit for CW

Thank you for your help !

Sorry for delay again here… did you solve this in the end? I still have no idea what would screw up the USB stack, as it should use all it’s own drivers (the CW-Lite has it’s own VID/PID so no issues with another device using the same driver). It’s possible the underlying libusb driver was updated to something is all I can think of…

The script is basically just this:

import chipwhisperer.hardware.naeusb.naeusb as naeusb
usb = naeusb.NAEUSB()
usb.con()
print usb

This should connect to the USB device, uses same code-base as the CW itself but in a simpler way.

It works under linux (arm64) as shown on twitter , on the other windows 7 machine but not on my main windows 7

S:>python test.py
Traceback (most recent call last):
File “test.py”, line 3, in
usb.con()
File “g:\cw\cw\software\chipwhisperer\hardware\naeusb\naeusb.py”, line 95, in
con
raise Warning(“Failed to find USB Device”)
Warning: Failed to find USB Device

NB
The device is successfully recognized in Device Manager under libusb-win32 devices

Can you post details in the device manager? Like the “driver” tab version for example? Trying to see where things differ…

provider: libusb-win32
date: 17.01.2013
version: 1.2.6.0
signer: NewAE Technology Inc.