As of August 2020 the site you are on (wiki.newae.com) is deprecated, and content is now at rtfm.newae.com.

Difference between revisions of "CW1173 ChipWhisperer-Lite/Upgrading SAM3U Firmware"

From ChipWhisperer Wiki
Jump to: navigation, search
(Created page with "When talking about the ChipWhisperer-Lite's firmware, there is really two parts to this: # The FPGA Bitstream file. # The SAM3U USB interface chip firmware. The FPGA bitstre...")
 
 
(5 intermediate revisions by 4 users not shown)
Line 1: Line 1:
When talking about the ChipWhisperer-Lite's firmware, there is really two parts to this:
+
{{Warningbox|This section has been recently updated for ChipWhisperer 5. The previous version can be found here: https://wiki.newae.com/V4:CW1173_ChipWhisperer-Lite/Upgrading_SAM3U_Firmware}}
 +
 
 +
When talking about the ChipWhisperer's firmware, there is really two parts to this:
  
 
# The FPGA Bitstream file.
 
# The FPGA Bitstream file.
Line 6: Line 8:
 
The FPGA bitstream alone is what is normally configured by the ChipWhisperer-Capture software. This bitstream is always the most up-to-date, since it's automatically reloaded by the computer every time you power cycle the ChipWhisperer-Capture. The SAM3U firmware however is not automatically updated, but it tends to change less frequently.
 
The FPGA bitstream alone is what is normally configured by the ChipWhisperer-Capture software. This bitstream is always the most up-to-date, since it's automatically reloaded by the computer every time you power cycle the ChipWhisperer-Capture. The SAM3U firmware however is not automatically updated, but it tends to change less frequently.
  
=== Checking Firmware Version ===
+
==== Checking Firmware Version ====
  
 
The firmware version is printed at start-up. You will see a line that looks like this indicating the version of the SAM3U Firmware:
 
The firmware version is printed at start-up. You will see a line that looks like this indicating the version of the SAM3U Firmware:
Line 19: Line 21:
 
Note the main version is 0.11 in this example. The "b0" indicates a "build" number. Typically this will be "build 0", but special versions will use a different build number to indicate a variant of a regular version.
 
Note the main version is 0.11 in this example. The "b0" indicates a "build" number. Typically this will be "build 0", but special versions will use a different build number to indicate a variant of a regular version.
  
=== Upgrading Firmware ===
+
==== Upgrading Firmware ====
 
+
Before updating, you must put your ChipWhisperer-Lite into bootloader mode. Once put into this mode you will need to load a new firmware file. There is two ways of doing it: the ''automatic'' method, and the ''manual'' method. The automatic method is done through the GUI, and works if you have valid firmware image loaded. The ''manual'' method is always guaranteed to work.
+
 
+
The automatic method is:
+
 
+
Using ChipWhisperer-Capture GUI
+
 
+
# Connect to the ChipWhisperer-Lite.
+
# From the ''Tools'' menu select ''Config CW Firmware''
+
# Select the ''Open SAM3U Update Widget'' button.
+
# Press the ''Enable Bootloader Mode'' button.
+
# You will get an error, and the ChipWhisperer-Lite will disconnect. This is normal, and indicates the USB mode changed suddenly.
+
# The blue LED will stop flashing, and the device will reconnect in programmer mode (see below).
+
 
+
Once you are in bootloader mode, both the blue and red LED will be very dimmly lit:
+
 
+
[[File:lights_prog.jpg|400px]]
+
 
+
This indicates it is in bootloader mode. The device will now attach as a serial port. If you are using Windows this may take a few minutes to happen.
+
 
+
If using Linux, you can use ''dmesg'' to verify the serial port was connected OK.
+
  
If this doesn't work, see the page [[Manual SAM3U Firmware Update]] for details on how to manually enter bootloader mode. You can return to this page for the actual programming - you don't need to install/use the BOSSA utility if you follow those manual directions. You simply need to force the system into bootloader mode using those directions.
+
See https://chipwhisperer.readthedocs.io/en/latest/api.html#firmware-update for instructions on how to update the SAM3U firmware.
  
To actually program the file, we use the second part of the dialog box you already had open:
+
==== Linux usbserial module Workaround ====
 +
There is an issue in some versions of Linux, where the SAM3U is not assigned a serial port when it enters bootloader mode. Here are some steps to resolve this issue (Note. this is not a permanent fix, you must go through these steps each time you put your ChipWhisperer into bootloader mode.). These steps assume you've already put ChipWhisperer into bootloader mode.
  
[[File:sam3uupdate.png|400px]]
+
# Unplug your ChipWhisperer (Leave unplugged until instructed otherwise)
 +
# Reboot your computer
 +
# Once logged in again, open a terminal session
 +
# Run this command: <code>sudo modprobe usbserial vendor=0x3eb product=0x6124</code>
 +
# Plug your ChipWhisperer back in
 +
# Check that a serial port is now open using: <code>ls -l /dev/ttyUSB*</code>
  
Once we are in bootloader mode, you can follow these steps:
+
[[File:ttyUSB example.png|400px]]
  
# Hit "Update List", and select the serial port the SAM3U attached as.
+
You should now be able to program the bootloader from ChipWhisperer Capture through the port you created
# To use the default firmware file, leave the "Built-in" radio-box selected. If you want a custom firmware you can select the "External" mode.
+
# Hit the "Run Program" button
+
# Once completed, unplug/replug your device and it should come to life.
+
# Close the update widgets, and reconnect to your ChipWhisperer-Lite.
+
  
=== Manual Update ===
+
==== Manual Update ====
  
 
If the above instructions fail, there is no big problem. The SAM3U chip contains a hardware-resident bootloader. You may need to follow instructions on the [[Manual SAM3U Firmware Update]] page (including using BOSSA) if you are unable to use the automatic system that is part of ChipWhisperer-Capture.
 
If the above instructions fail, there is no big problem. The SAM3U chip contains a hardware-resident bootloader. You may need to follow instructions on the [[Manual SAM3U Firmware Update]] page (including using BOSSA) if you are unable to use the automatic system that is part of ChipWhisperer-Capture.

Latest revision as of 12:33, 12 March 2020

This section has been recently updated for ChipWhisperer 5. The previous version can be found here: https://wiki.newae.com/V4:CW1173_ChipWhisperer-Lite/Upgrading_SAM3U_Firmware

When talking about the ChipWhisperer's firmware, there is really two parts to this:

  1. The FPGA Bitstream file.
  2. The SAM3U USB interface chip firmware.

The FPGA bitstream alone is what is normally configured by the ChipWhisperer-Capture software. This bitstream is always the most up-to-date, since it's automatically reloaded by the computer every time you power cycle the ChipWhisperer-Capture. The SAM3U firmware however is not automatically updated, but it tends to change less frequently.

Checking Firmware Version

The firmware version is printed at start-up. You will see a line that looks like this indicating the version of the SAM3U Firmware:

Found CW-Lite, Serial Number = 442031204630xxxxxxxxxxx
SAM3U Firmware version = 0.11 b0
Programmed FPGA

If your firmware version is outdated, a warning will be printed. You can also see the firmware version in the Config CW Firmware dialog:

image

Note the main version is 0.11 in this example. The "b0" indicates a "build" number. Typically this will be "build 0", but special versions will use a different build number to indicate a variant of a regular version.

Upgrading Firmware

See https://chipwhisperer.readthedocs.io/en/latest/api.html#firmware-update for instructions on how to update the SAM3U firmware.

Linux usbserial module Workaround

There is an issue in some versions of Linux, where the SAM3U is not assigned a serial port when it enters bootloader mode. Here are some steps to resolve this issue (Note. this is not a permanent fix, you must go through these steps each time you put your ChipWhisperer into bootloader mode.). These steps assume you've already put ChipWhisperer into bootloader mode.

  1. Unplug your ChipWhisperer (Leave unplugged until instructed otherwise)
  2. Reboot your computer
  3. Once logged in again, open a terminal session
  4. Run this command: sudo modprobe usbserial vendor=0x3eb product=0x6124
  5. Plug your ChipWhisperer back in
  6. Check that a serial port is now open using: ls -l /dev/ttyUSB*

TtyUSB example.png

You should now be able to program the bootloader from ChipWhisperer Capture through the port you created

Manual Update

If the above instructions fail, there is no big problem. The SAM3U chip contains a hardware-resident bootloader. You may need to follow instructions on the Manual SAM3U Firmware Update page (including using BOSSA) if you are unable to use the automatic system that is part of ChipWhisperer-Capture.