HowTo Flashing - timvideos/litex-buildenv GitHub Wiki

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