No HDMI output on Firefly-RK3399

I have just tried starting my new Firefly RH3399 board for the first time, without success. The blue LED comes on and the optical socket has a red LED showing, but nothing is displayed on the HDMI monitor.

I have plugged in:

  •   The fan on the heatsink
    
  •   USB keyboard
    
  •   USB mouse
    
  •   HDMI converter lead to DVI monitor
    
  •   Ethernet
    
  •   Serial/USB converter, to host port on Linux PC
    
  •   USB-C, to host port on a Linux PC
    
  •   12V power plug
    
  •   (No antennae connected)
    

The monitor is happy that there is a DVI connection. I have tested the monitor and HDMI/DVI convertor lead using the HDMI output on a Windows laptop, and it works.

I can detect the Firefly on the network. The local DHCP server on my network has assigned it an IP address, so I can ping it. I see that the Firefly’s Ethernet MAC address is 92:AD:30:72:9C:27 (a “private” MAC address). I tried connecting using telnet and ssh, but for both I got “Connection refused”.

I set up minicom on a Linux workstation, on ttyUSB0 at 1500000 8N1, but get no response when I type on the terminal. I also tried sending H, which would normally give me a response on a Linux target, but I assume Firefly is running Android by default and possibly SysRq is disabled.

I pressed the power button momentarily, and the blue LED went off. I pressed it again and the LED came on again.

I tried momentarily pressing RESET, then quickly typing on the serial debug terminal, but nothing happened. (I hoped to get into U-Boot).

Can anybody help me get an HDMI display working, help me establish communication over Ethernet and the serial port?

Also do I need an M.2 SATA adapter board (for SATA HDD)? None was provided in the kit, although the assembly diagram does show a HDD mounted on the bottom acrylic plate.

You can use adb to comunicate with board.
Network adb just setprop below and adb connnect 3399IP .
setprop service.adb.tcp.port 5555
setprop persist.internet.adb.enable 1

Thanks for your reply. However, I need to enable Ethernet debugging on the board first, and I couldn’t do that with no display and no other way to communicate with the board.

I found that the board is fussy about the type or resolution of the monitor. When the monitor cannot be supported, it seems the Firefly-RK3399 does not inform the user through a “beep code” or flashing LED code, but the display just stays dark. It did not work with a 1600x1200 or a 1920x1200 monitor, but a 1920x1080 did work. A 4k monitor also worked.

Is there any documentation about supported monitor specifications?

clive Posted at 11/7/2018 01:29
Thanks for your reply. However, I need to enable Ethernet debugging on the board first, and I couldn …

RK3399 support CEA mode resolution(TV) . Detail you can google it.
And it might help you . Diff between CEA and DMT

That was slightly helpful, but did not give a list of modes actually supported by the board. To answer my own question, I did this:

$ adb connect 10.120.35.75
rtt min/avg/max/mdev = 0.793/0.986/1.360/0.265 ms

  • daemon not running. starting it now on port 5037 *
  • daemon started successfully *
    connected to 10.120.35.75:5555
    $ adb shell
    rk3399_firefly_box:/ $ ls /sys/class
    android_usb dma iommu pci_bus rkvr spi_master
    arvo drm isku phy rkwifi spidev
    ata_device extcon kone pmsg rtc switch
    ata_link firmware koneplus power_supply rtk_btusb thermal
    ata_port flashlight konepure ppp ryos timed_output
    backlight gpio kovaplus pps savu tty
    bdi graphics leds ptp scsi_changer udc
    block hidraw mdio_bus pwm scsi_device video4linux
    bluetooth hwmon mem pyra scsi_disk vpu_service
    bsg i2c-adapter misc rc scsi_generic xt_idletimer
    devfreq i2c-dev mmc_host regulator scsi_host zram-control
    devfreq-event ieee80211 net rfkill sensor_class
    display input nvme rkvdec sound
    rk3399_firefly_box:/ $ ls /sys/class/drm
    card0 card0-DP-1 card0-HDMI-A-1 controlD64 renderD128 version
    rk3399_firefly_box:/ $ ls /sys/class/drm/card0-HDMI-A-1/
    audioformat device dpms edid enabled mode modes power status subsystem uevent
    rk3399_firefly_box:/ $ ls -l /sys/class/drm/card0-HDMI-A-1/mode*
    -r–r–r-- 1 root root 4096 2013-01-19 11:00 /sys/class/drm/card0-HDMI-A-1/mode
    -r–r–r-- 1 root root 4096 2013-01-19 11:00 /sys/class/drm/card0-HDMI-A-1/modes
    rk3399_firefly_box:/ $ cat /sys/class/drm/card0-HDMI-A-1/mode
    1920x1080p60
    rk3399_firefly_box:/ $ cat /sys/class/drm/card0-HDMI-A-1/modes
    1920x1080p75
    1920x1080p60
    1920x1080p60
    1920x1080i60
    1920x1080i60
    1920x1080p50
    1920x1080i50
    1680x1050p60
    1280x1024p60
    1440x900p60
    1280x800p60
    1152x864p75
    1280x720p60
    1280x720p60
    1280x720p50
    1024x768p70
    1024x768p60
    800x600p60
    800x600p56
    720x576p50
    720x480p60
    720x480p60
    640x480p67
    640x480p60
    640x480p60
    720x400p70
    rk3399_firefly_box:/ $

By the way, if you are trying out the board with an HDMI monitor for the first time, you don’t need anything else plugged in except the HDMI monitor, the heatsink fan and the 12V power input. If the monitor works you should see the Firefly logo within a couple of seconds.

Thank you for your fantastic article, it’s so thought-provoking! I advanced in my career with this ITIL-4-Transition Advanced Testing Engine, and now it’s free for everyone. May you all achieve your promotions soon!

This article has given me a lot of space for reflection, and I’ve gained a lot. Free Sales-101 latest exam voucher study materials—best of luck with your studies!