Skip to main content

Graphical interface for I2Cx Cyber Range, scanner-Lite(FT2232H),scanner (FPGA) and platform (stm32F7)

Project description

I²Cx Graphical User Interface

Code source is available on GitHub https://github.com/I2Cx-Cyber-Range/i2cx-gui

I²Cx Scanner Lite

Port A => can drive 4 mA (needed for SWD)

Port B => can drive 16 mA (useful to force logic level on bus like I2C and SPI and avoid reset master)

Install I²Cx Cyber Range graphical user interface

pip3 install i2cx

To start Graphical Interface of I²Cx Cyber Range

i2cx

I²Cx Cyber range can be used with OpenOCD (destination path need to adapted)

To use I²Cx Scanner Lite with openOCD you need to add a config file (available in tools folder)

wget https://github.com/I2Cx-Cyber-Range/i2cx-gui/tools/ftdi/conf_i2cx_scanner_-lite_lootus_pid.xml  -P /usr/local/share/openocd/scripts/interface/i2cx-scanner-lite.cfg
openocd -f interface/i2cx-scanner-lite.cfg -f target/stm32f7x.cfg  -c "adapter speed 4000;init;reset;" 

In another console

telnet 127.0.0.1 4444

To read firmware

flash read_bank 0 firmware.bin

On Ubuntu 20.04

Allow I2Cx Scanner Lite to non root user and Load FTDI driver to I2CX Scanner Lite

wget https://github.com/I2Cx-Cyber-Range/i2cx-gui/tools/openocd/i2cx-scanner-lite.cfg -P /etc/udev/rules.d/35-i2cx-cyber-range.rules

or add manually both line to a new file for example: /etc/udev/rules.d/35-i2cx-cyber-range.rules

SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6E50", GROUP="plugdev"

ACTION=="add", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6e50", RUN+="/sbin/modprobe ftdi_sio" RUN+="/bin/sh -c 'echo 0403 6e50 > /sys/bus/usb-serial/drivers/ftdi_sio/new_id'"

In case of OpenGl issue

ImportError: libOpenGL.so.0: cannot open shared object file: No such file or directory

sudo apt update && sudo apt upgrade && sudo apt dist-upgrade && sudo apt-get install -y libopengl0

I2CX on windows

The probably easiest way to deal with libusb on Windows is to use Zadig

Start up the Zadig utility

Select Options/List All Devices, then select the FTDI devices you want to communicate with. Its names depends on your hardware, i.e. the name stored in the FTDI EEPROM.

With FTDI devices with multiple channels, such as FT2232 (2 channels) and FT4232 (4 channels), you must install the driver for the composite parent, not for the individual interfaces. If you install the driver for each interface, each interface will be presented as a unique FTDI device and you may have difficulties to select a specific FTDI device port once the installation is completed. To make the composite parents to appear in the device list, uncheck the Options/Ignore Hubs or Composite Parents menu item.

Be sure to select the parent device, i.e. the device name should not end with (Interface N), where N is the channel number.

for example Dual RS232-HS represents the composite parent, while Dual RS232-HS (Interface 0) represents a single channel of the FTDI device. Always select the former.

Select libusb-win32 (not WinUSB) in the driver list.

Click on Replace Driver

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

i2cx-0.9.3.tar.gz (92.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

i2cx-0.9.3-py3-none-any.whl (107.6 kB view details)

Uploaded Python 3

File details

Details for the file i2cx-0.9.3.tar.gz.

File metadata

  • Download URL: i2cx-0.9.3.tar.gz
  • Upload date:
  • Size: 92.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for i2cx-0.9.3.tar.gz
Algorithm Hash digest
SHA256 fa39bd807f8a85be02efdcd88908d32315d6bef247d0509b475c592120375916
MD5 72e05a0da0c36993bb11d7c006457b7e
BLAKE2b-256 bbebd352512820888a59b5b1f4036f9a7286234f1921e0542e492c75852a5ac3

See more details on using hashes here.

File details

Details for the file i2cx-0.9.3-py3-none-any.whl.

File metadata

  • Download URL: i2cx-0.9.3-py3-none-any.whl
  • Upload date:
  • Size: 107.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for i2cx-0.9.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a9949cf666cfa710347aaf526abb480d08d7d53b8e4e4690d1e4c1b589ec8b1e
MD5 1b2d5df367bbcf738937466bf7f1c08a
BLAKE2b-256 3b83d428c48c7c841086aaa18d6c5ea1c2d3880a0babc1446c75864cc23f7f66

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page