Flashing Firmware

Carl Karsten edited this page Sep 7, 2018 · 34 revisions

How to update the HDMI2USB-litex-firmware from the HDMI2USB prebuilt repository onto your Numato Opsis or Digilent Atlys board.

Currently this is only supported under Linux.

Below is a mix of the following, you will need to ignore the irrelevant parts.

  • hardware: Opsis/Atlys
  • distro: Debian/Ubuntu
  • firmware version: Stable/testing/custom

Required:

  • openocd 0.10.0
  • fxload
  • hdmi2usb-mode-switch

Numato Opsis

Install hdmi2usb-mode-switch and its dependencies.

Debian Stretch

sudo apt -t stretch-backports install hdmi2usb-mode-switch

Ubuntu Xenial

sudo apt --assume-yes install software-properties-common
sudo add-apt-repository --yes --update ppa:timvideos/fpga-support
sudo apt install hdmi2usb-mode-switch  

Digilent Atlys

# Stretch: 
wget https://launchpad.net/~timvideos/+archive/ubuntu/fpga-support/+files/vizzini-dkms_1.0.0-5~ppa3~ubuntu14.04_all.deb
sudo dpkg -i vizzini-dkms_1.0.0-5~ppa3~ubuntu14.04_all.deb

## Trusty:
sudo apt install vizzini-dkms

blacklist xr_usb_serial_common

All platforms and OSs:

Get the stable version:

wget https://raw.githubusercontent.com/timvideos/HDMI2USB-mode-switch/master/bin/download-prebuilt-firmware.py
python3 download-prebuilt-firmware.py --platform opsis --tag stable  

or whatever version you want (default is cutting edge 'unstable')

python3 download-prebuilt-firmware.py --platform opsis  # This gives you a lis of compatible firmware versions
python3 download-prebuilt-firmware.py --platform opsis --rev $firmware_version 

Flash the board:

hdmi2usb-mode-switch -v --flash-image image-gateware+bios+firmware.v # use tab completion to fill in the filename from the download-prebuilt step above.

Atlys

needs fx2 blob (after power cycling, I think?)

wget https://raw.githubusercontent.com/timvideos/HDMI2USB-firmware-prebuilt/master/archive/master/v0.0.2-81-gd0d3aea/atlys/hdmi2usb/hdmi2usb.hex
hdmi2usb-mode-switch -v --load-fx2-firmware hdmi2usb.hex

Solutions to common problems

If you see this (which seems to happen 100% of the time now, so it gets listed here)

DNA = 110000001100000011000000110000001100000011000000110000001 (0x181818181818181)

Do this, then retry the --flash-image.

# Opsis
sudo hdmi2usb-mode-switch -v --mode serial 
# Atlys (you may need to guess about 006)
fxload -t fx2lp -D /dev/bus/usb/001/006 -I /lib/firmware/hdmi2usb.hex 

Otherwise, here are some links to other known problems and solutions.

common-errors

notes about version versions

List of revs created by CI https://code.timvideos.us/HDMI2USB-firmware-prebuilt/revs.txt

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.