I have 2 CW305 boards, each with a different issue.
For the 1st board, I was using it along with CWLite for the CW305 AES attack jupyterlab installed on ubuntu 18.04. It was working fine (programming was just OK) until the FPGA failed to be programmed using the bitstream provided by the jupyter lab. The following warning is displayed:
WARNING:ChipWhisperer Target:FPGA Done pin failed to go high, check bitstream is for target device.
I tried to unplug the boards and restart jupyter but that didn’t help. I also tried upgrading the firmware using the CW upgrade firmware script provided in Jupyter:
import chipwhisperer as cw target = cw.target(None, cw.targets.CW305) prog = cw.SAMFWLoader(target) prog.auto_program()
I got the following output but the problem still persists:
WARNING:ChipWhisperer Target:No FPGA Bitstream file specified. Entering bootloader mode... Please wait until the ChipWhisperer shows up as a serial port. Once it has, call the program(COMPORT, FWPATH) to program the ChipWhisperer Default firmware can be found at chipwhisperer/hardware/capture/chipwhisperer-lite/sam3u_fw/SAM3U_VendorExample/Debug/SAM3U_CW1173.bin Detected com port COM4 Loading cw305 firmware... Opened! Connecting... b'\n\r' Connected! Erasing... Erased! Programming file SAM3U_CW305.bin... Programmed! Verifying... Verify OK! Bootloader disabled. Please power cycle device.
I tried the same on a Windows 10 machine with exactly the same behaviour.
Also there’s a slight buzzing sound on the board which wasn’t present when the board was working.
This same issue happened before, but back then I just tried to program it after a while and it worked, until it happened again recently.
Here’s dmesg output for the 1st board :
[ 4609.128110] usb 1-3: new high-speed USB device number 18 using xhci_hcd [ 4609.276996] usb 1-3: New USB device found, idVendor=2b3e, idProduct=c305, bcdDevice= 1.00 [ 4609.277001] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 4609.277004] usb 1-3: Product: ChipWhisperer CW305 [ 4609.277007] usb 1-3: Manufacturer: NewAE Technology Inc. [ 4609.277009] usb 1-3: SerialNumber: 50203120355448513130333231313038
Also, lsusb output for the first board (Device 019):
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 004: ID 04ca:0022 Lite-On Technology Corp. Bus 001 Device 019: ID 2b3e:c305 Bus 001 Device 002: ID 045e:00cb Microsoft Corp. Basic Optical Mouse v2.0 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
For the second Board, it’s also a CW305, but this didn’t work out of the box when we received it. In this case, when I tried to program the FPGA using the CW305 AES attack jupyterlab, it fails to detect the FPGA and gives the following warning:
Warning: Failed to find USB Device
It’s important to note that I used the same desktop machine as for the other board when it was working, so I dont think it’s an issue with the drivers .
I tried upgrading the firmware too using the CW upgrade firmware script provided in Jupyter, the script fails at execution and produces the same warning :
Warning: Failed to find USB Device
I think the problem is with the microcontroller on board the CW305, because when I changed the mode switches to allow for FPGA configuration from JTAG using a Xilinx Platform cable and Vivado, it just worked.
Here’s the dmesg output for the second board. It clearly differs from a working connection to the USB microcontroller interface from other CW boards (either another CW305 or the CWLite). Note how the detection of manufacturer/product/serial number is failing:
[ 4519.872626] usb 1-3: new high-speed USB device number 17 using xhci_hcd [ 4520.020865] usb 1-3: New USB device found, idVendor=03eb, idProduct=6124, bcdDevice= 1.10 [ 4520.020869] usb 1-3: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 4520.023056] cdc_acm 1-3:1.0: ttyACM0: USB ACM device
Lastly, lsusb output for the second board (Device 020):
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 004: ID 04ca:0022 Lite-On Technology Corp. Bus 001 Device 020: ID 03eb:6124 Atmel Corp. at91sam SAMBA bootloader Bus 001 Device 002: ID 045e:00cb Microsoft Corp. Basic Optical Mouse v2.0 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
For both problems of these 2 boards I tried to search for a solution on the NewAE forum but I couldn’t find anything that corresponds to the exact problems that I’m having.
Note: worth saying that in none of the cases have we tampered with the board in any way, other than running the default labs. We did modify the provided AES design to adapt it to our needs and resynthesized with Vivado, but that’s just it. In any case all the problems reported here are reproducible with the default labs provided (no change).