Firefly-RK3399 Installation

Intel RealSense SDK 2.0 supports a variety of platforms, including RK3399 with Android.
Please refer to Firefly-RK3399 for further information.

1120

Overview

The Firefly-RK3399 is a development board from T-Chip using the RockChip RK3399 SoC.
It's shipped with Android 7.1 installed and the option to upgrade firmware to Android 8.1 or Linux (although Linux development is not recommended on this board).

Flashing the Image

Download the image

Download the image file from the link in downloads, you can get the newest version which is not in beta.

468

Extract to an .img file.

Update the firmware

Using Windows:

  1. Download and install DriverAssitant tool from the downloads(3]) page
  2. Download and extract "Firmware Upgrade Tool" for windows (v2.58 +) from downloads page
  3. Hold recovery button and press the reset key, the device should boot in loader mode, you should see it in the device manager
230
  1. In the folder you extracted the "Firmware Upgrade Tool", under "Android Tool" you'll find the file "config.ini" .
    edit it and change "Selected" field under "[Language]" to '2'. This is will change the tool UI language to English, Save and exit.
200
  1. Open "AndroidTool.exe" (extracted in step ii) and go to the "Upgrade Firmware" tab
  2. Press "Firmware" button and select the image you want to burn (make sure you are in "LOADER" mode)
518
  1. Press the "EraseFlash" button and wait. Output may look like:
377

Just reset the device using the reset button and it should be recognized in "MASKROM" mode.
8. After the restart press "EraseFlash" again and it should finish successfully now.

372
  1. Reset the device again and after the reset press the "Upgrade" button
  2. After about a minute the process will be done and a minute or two after restart you would see the device in ADB mode

Using Linux

  1. Boot to bootloader mode by running 'adb reboot bootloader'.
  2. The device should be recognizable in the OS Usb and red light should be turned on in the board optical port (dim red inside the port ).
  3. Get "Upgrade Tool" for Linux host from downloads page (newest one is fine).
    The tool is built with support to only 32-bit so run these command to make it work:
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install libudev1:i386 libstdc++6:i386
  1. Run "sudo ./upgrade_tool", the tool should find the device.
    If not, make sure you are in boot loader mode and "lsusb" can see the device.
    Hit 'Q' when done.

  2. You can flash the image to the device using the command : "sudo ./upgrade_tool uf image.img"

  • Doing so will start printing the status to the screen and a progress bar should be printed.
  • If step failed you can try to first erase the firmware by running "sudo ./upgrade_tool ef image.img" and then try to upgrade.

    :pushpin: Tool may be stuck, if message doesn't change for too long (20 minutes or so) quit and try again.

ADB

Follow the instructions on Wiki ADB page for adb connection and make sure 'adb devices' returns a device
Reboot the device, you should see the new Android installed.

Framework Setup

The following steps are needed to make the device ready for testing using rs_autolabs tests.

  1. Connect a screen / use app to show screen (scrcpy, vysor)
  2. Go to Settings → System → About and tap on "Build Number" multiple times until you get toast telling you your'e a developer.
  3. Go to the Settings → System → Developer Options,
  • Under "Root Access" select "ADB only"
  • Check "ADB over network"
  1. Start the vallibrealsese app with a camera connected and when showed the following dialog, check "Use by default for this USB device" box and tap ok
540
  1. Give a unique name for the machine using the command: "adb shell setprop persist.val.hostname FireFly-RK3399-X" where X is the number for this machine.
  2. To connect the machine online you must use an USB-Ethernet adapter (reserve the IP).
  3. In the host machine that will run the test, set the env var REALSENSE_DRIVER to 'AOS_LRS'.
  4. Set new var called 'VAL_ADB_IP' with the IP of the firefly

Troubleshoot

Q: adb doesn't detect the board
A: disconnect USB port in host and connect to a different port

Q: How to work without a screen?
A: Install "Vysor" app on host to mirror screen using adb.

Q: Fan is not spinning
A: can happen from time to time, restart the device and always make sure the fan is spinning