Troubleshooting Boot Issues on Libre Computer ROC-RK3328-CC Renegade

ROC-RK3328-CC u-boot has new video code that is not very robust yet. We’ll have engineering consultants take a look. Also if you have an UART cable with the logs for these monitors, it would help expedite.

Thank you. Unfortunately currently I have no UART cable, but I ordered one, as soon as it will arrive I’ll try to get logs, if they will be still relevant.

Hi, I’m having a similar issue with HDMI, here’s what I see on the UART during the initial boot process (I can only see the GRUB menu on the UART, never on HDMI):

MIC: RK8050 (on=0x40, off=0x00)
DDR4, 800MHz
BW=32 Col=10 Bk=4 BG=2 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 Size=4096MB
Trying to boot from BOOTROM
Returning to boot ROM…
Trying to boot from MMC2
lz4 image
NOTICE: BL31: v2.9(release):v2.8-1351-g8929dffc0
NOTICE: BL31: Built : 02:49:07, Jul 31 2023
NOTICE: BL31:Rockchip release version: v1.2

U-Boot 2023.07+ (Jul 31 2023 - 02:49:10 -0400) Libre Computer ROC-RK3328-CC

DRAM: 4 GiB
PMIC: RK8050 (on=0x40, off=0x00)
Core: 244 devices, 31 uclasses, devicetree: separate
MMC: mmc@ff500000: 1, mmc@ff520000: 0
Loading Environment from FAT… Unable to read “uboot.env” from mmc0:1…
Error (-2): cannot determine file size
unsupported rate 18446744073709551615
TMDS clock is zero!
inno_hdmi_phy phy@ff430000: PHY: Failed to power on phy@ff430000: -22.
failed to on hdmi phy (ret=-22)
unsupported rate 18446744073709551615
TMDS clock is zero!
inno_hdmi_phy phy@ff430000: PHY: Failed to power on phy@ff430000: -22.
failed to on hdmi phy (ret=-22)
unsupported rate 18446744073709551615
TMDS clock is zero!
inno_hdmi_phy phy@ff430000: PHY: Failed to power on phy@ff430000: -22.
failed to on hdmi phy (ret=-22)
U-Boot 2023.07+ (Jul 31 2023 - 02:49:10 -0400) Libre Computer ROC-RK3328-CC

Model: Libre Computer ROC-RK3328-CC
starting USB…
Bus usb@ff5c0000: USB EHCI 1.00
Bus usb@ff5d0000: USB OHCI 1.0
Bus usb@ff600000: generic_phy_get_bulk : no phys property
Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
Bus usb@ff580000: USB DWC2
scanning bus usb@ff5c0000 for devices… 1 USB Device(s) found
scanning bus usb@ff5d0000 for devices… 2 USB Device(s) found
scanning bus usb@ff600000 for devices… 1 USB Device(s) found
scanning bus usb@ff580000 for devices… 2 USB Device(s) found
scanning usb for storage devices… 0 Storage Device(s) found
Hit any key to stop autoboot: 0
Scanning for bootflows in all bootdevs
Seq Method State Uclass Part Name Filename


Scanning global bootmeth ‘efi_mgr’:
Scanning bootdev ‘mmc@ff520000.bootdev’:
0 efi ready mmc 1 mmc@ff520000.bootdev.part efi/boot/bootaa64.efi
** Booting bootflow ‘mmc@ff520000.bootdev.part_1’ with efi
unsupported rate 18446744073709551615
TMDS clock is zero!
inno_hdmi_phy phy@ff430000: PHY: Failed to power on phy@ff430000: -22.
failed to on hdmi phy (ret=-22)
Booting /efi\boot\bootaa64.efi

                         GNU GRUB  version 2.06

(I’m using a Belkin HDMI to VGA adapter :wink: )

Here’s my Raspbian xrandr output:
Screen 0: minimum 320 x 200, current 1280 x 720, maximum 4096 x 4096
HDMI-1 connected primary 1280x720+0+0 (normal left inverted right x axis y axis) 410mm x 230mm
1280x720 60.00* 50.00
1024x768 60.00
800x600 60.32
720x480 59.94

These boards only support HDMI based displays. There’s no VGA signal unless you use an active adapter and even then the timings will not work since those DVI/VGA displays do not use HDMI standard timings.

Yesterday I erased my microSD to start over fresh. I had Ubuntu Server 22.04 running well for a while, but was troubleshooting a separate issue with my microk8s setup and decided to start fresh. After erasing my card and re-flashing the latest image from the distro server, I cannot for the life of me get this thing to boot. The green LED blinks once when first powering on, and then never again. Red LED is on solid. I’ve waited minutes/hours, etc. I tried a new SD card. Both cards multiple times. Verified everything I can think of and that I’ve read on these forums. Any suggestions would be greatly appreciated.

Make sure Win32DiskImager verify cycle is able to pass per the troubleshooting guide.

See exactly what the board is doing:

Got the UART cable and was able to connect to observe boot behavior. We’re stuck in a reset loop, due to “cannot determine file size”

U-Boot 2023.07+ (Sep 17 2023 - 00:56:34 -0400) Libre Computer ROC-RK3328-CC

DRAM:  4 GiB
PMIC:  RK8050 (on=0x40, off=0x00)
Core:  244 devices, 31 uclasses, devicetree: separate
MMC:   mmc@ff500000: 1, mmc@ff520000: 0
Loading Environment from FAT... Unable to read "uboot.env" from mmc1:1... 
Error (-2): cannot determine file size
tmdsclock = 594000000; chipversion = 1
"Error" handler, esr 0xbf000002
elr: 000000000027a8a0 lr : 000000000027a828 (reloc)
elr: 00000000fe7338a0 lr : 00000000fe733828
x0 : 00000000ff080064 x1 : 0000000000000000
x2 : 00000001007a4000 x3 : 0000000000000000
x4 : 0000000000000000 x5 : 0000000000000000
x6 : 00000000ffffdff1 x7 : 0000000000000000
x8 : 0000000000000001 x9 : 000000000000000d
x10: 0000000000000006 x11: 000000000001869f
x12: 0000000000000000 x13: 0000000000000000
x14: 00000000ffffffff x15: 00000000f66a6b9d
x16: 0000000000001140 x17: 0000000000000000
x18: 00000000f66b7da0 x19: 00000000f66c4a10
x20: 00000000f66b93a0 x21: 0000000000000000
x22: 0000000000007fff x23: 0000000000800800
x24: 00000000f66c6ff0 x25: 00000000fe7d8598
x26: 0000000000000000 x27: 0000000000000000
x28: 0000000000000000 x29: 00000000f66a7300

Code: 78002415 17fffff2 f9401260 8b020002 (eb00005f) 
Resetting CPU ...

resetting ...
PMIC:  RK8050 (on=0x40, off=0x00)
DDR4, 800MHz
BW=32 Col=10 Bk=4 BG=2 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 Size=4096MB
Trying to boot from BOOTROM
Returning to boot ROM...
Trying to boot from MMC1
lz4 image
NOTICE:  BL31: v2.9(release):v2.8-1351-g8929dffc0
NOTICE:  BL31: Built : 00:56:31, Sep 17 2023
NOTICE:  BL31:Rockchip release version: v1.2


U-Boot 2023.07+ (Sep 17 2023 - 00:56:34 -0400) Libre Computer ROC-RK3328-CC

DRAM:  4 GiB
PMIC:  RK8050 (on=0x40, off=0x00)
... (and so on)

I’m not sure what to make of this. I’ve tried 3 different SD cards which have all been tested good on this machine or on one of my RPi. Tried the Ubuntu 22.04 image as well as the latest Raspbian image. The verification pass produces no errors… any advice? I’m about ready to toss this board.

This is a display compatibility issue causing an exception. What monitor do you have?

It’s a Dell S2721QS. That’s interesting because it has worked fine for me with this board up until now.

We recently added support for video output on RK3328 during early boot so the new code is causing the exception-based reboot.

Ok, that explains why it worked before since I first set it up about 6 months ago. I can confirm that without the display connected, the green LED is blinking normally and the RJ-45 lights show activity so I’m assuming I’ll be good now if I connect it to a different display.

We will work on this and improve the situation. Thank you for bringing it up.

Indeed. Removed HDMI cable and the board boots. This was working fine for the longest time and recently, I assume via some update as indicated in other comments, it started to have issues with the display driver, sometimes booting but failing to load the driver falling back to a basic display (resolution is very low). This morning it must have rebooted and didn’t boot until I disconnected the hdmi cable. After boot I could connect it and ubuntu started correctly.

Same monitor forever. Monitor is a LG 24MC57HQ-P

We will have this issue fixed in a few days.

1 Like

I ran into the same problems with the Debian 12 image that I had flashed to eMMC. I haven’t seen it stated in this thread, so I thought I would share the work-around that got me moving -

  1. Start with the machine disconnected from everything.
  2. With the power supply off, connect everything except the HDMI cable to the board
  3. Apply power to the board (i.e., turn on the P/S switch or whatever you need to do to connect power with your setup).
  4. Confirm that the red LED has turned on solid. The green LED may come on for about a second, then go dormant for several seconds
  5. After several-to-many seconds, the green LED will start blinking indicating the OS is loading
  6. Connect the HDMI display at this point and things should be working as normal for whatever December 3, 2023 dated image you are attempting to load

It is noteworthy that this is necessary (to disconnect the HDMI cable until the process has past the bootloader and hardware identification phases and starts to load the OS) to do this on subsequent re-boots as well. I will also test with an SD Card to see if the behavior matches what I am seeing with the eMMC media.

I share this because this kind of thing may not be intuitively obvious to everybody as a work-around to get started with a new image until the fixes can be implemented and released in a few days as mentioned previously. Once the fix is identified, verified, and tested, I assume new official images will need to be generated and released for public consumption that will resolve this.

For what it is worth, I experienced the same problem with an Armbian 23.11b image and it is presumed that this is the same fault. I haven’t looked over on their forums yet to see what is going on, but I think the Armbian team might benefit from a heads-up about this to either fix what ails their image or at least give them the information that will help them arrive at a functioning boot experience with their latest releases for this hardware.

I also tested with the SD Card instead of the eMMC, and my experience showed the behaviors to be the same regardless of type of media. I’m looking forward to seeing either an updated set of affected images with the fix or instructions on how to fix the current images as either (or both) become available.

This is a known issue and will be fixed later this week. It was due to the new u-boot video handling code which we have cleaned up.

Was this fix applied? I just flashed debian 12 on a new Renegade and it won’t boot with HDMI plugged in. The latest debian image is dated just a few days after the above post (Jan 25, to be precise).
I found this thread and got it booted, and ran apt update && apt full-upgrade hoping to bring this fix in through an update, but it still won’t boot with the display plugged in.

Update on my issues connecting to a Samsung Frame TV:

Running Debian, if I boot without display attached and then connect HDMI, I do get nice high-res results.

If I boot while connected, the TV tells me “no video”.

Is there a way to force boot, and grub, to use a specific video mode? And is there a good way to find out which mode the headless boot got me to? I’ve seen mention that only VESA modes are supported in the boot and grub stages, but I’m not sure how to identify and force them.

The EDID info follows.

edid-decode (hex):

00 ff ff ff ff ff ff 00 4c 2d 7f 72 00 0e 00 01
01 20 01 03 80 5f 36 78 0a b3 61 ab 4f 46 a8 27
0b 50 54 bd ef 80 71 4f 81 c0 81 00 81 80 95 00
a9 c0 b3 00 d1 c0 04 74 00 30 f2 70 5a 80 b0 58
8a 00 50 1d 74 00 00 1e 56 5e 00 a0 a0 a0 29 50
30 20 35 00 50 1d 74 00 00 1a 00 00 00 fd 00 18
4b 0f 51 1e 00 0a 20 20 20 20 20 20 00 00 00 fc
00 53 41 4d 53 55 4e 47 0a 20 20 20 20 20 01 9f

02 03 51 f0 52 5f 10 1f 04 13 05 14 20 21 22 5d
5e 62 64 07 16 03 12 2f 0d 57 07 09 07 07 15 07
50 57 07 01 67 54 03 83 0f 00 00 e2 00 4f e3 05
c3 01 6e 03 0c 00 30 00 b8 44 20 00 80 01 02 03
04 e3 06 0d 01 e5 0e 60 61 65 66 e5 01 8b 84 90
01 02 3a 80 18 71 38 2d 40 58 2c 45 00 50 1d 74
00 00 1e 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ea


Block 0, Base EDID:
EDID Structure Version & Revision: 1.3
Vendor & Product Identification:
Manufacturer: SAM
Model: 29311
Serial Number: 16780800
Made in: week 1 of 2022
Basic Display Parameters & Features:
Digital display
Maximum image size: 95 cm x 54 cm
Gamma: 2.20
RGB color display
First detailed timing is the preferred timing
Color Characteristics:
Red : 0.6699, 0.3115
Green: 0.2734, 0.6591
Blue : 0.1533, 0.0449
White: 0.3125, 0.3291
Established Timings I & II:
IBM : 720x400 70.081663 Hz 9:5 31.467 kHz 28.320000 MHz
DMT 0x04: 640x480 59.940476 Hz 4:3 31.469 kHz 25.175000 MHz
Apple : 640x480 66.666667 Hz 4:3 35.000 kHz 30.240000 MHz
DMT 0x05: 640x480 72.808802 Hz 4:3 37.861 kHz 31.500000 MHz
DMT 0x06: 640x480 75.000000 Hz 4:3 37.500 kHz 31.500000 MHz
DMT 0x09: 800x600 60.316541 Hz 4:3 37.879 kHz 40.000000 MHz
DMT 0x0a: 800x600 72.187572 Hz 4:3 48.077 kHz 50.000000 MHz
DMT 0x0b: 800x600 75.000000 Hz 4:3 46.875 kHz 49.500000 MHz
Apple : 832x624 74.551266 Hz 4:3 49.726 kHz 57.284000 MHz
DMT 0x10: 1024x768 60.003840 Hz 4:3 48.363 kHz 65.000000 MHz
DMT 0x11: 1024x768 70.069359 Hz 4:3 56.476 kHz 75.000000 MHz
DMT 0x12: 1024x768 75.028582 Hz 4:3 60.023 kHz 78.750000 MHz
DMT 0x24: 1280x1024 75.024675 Hz 5:4 79.976 kHz 135.000000 MHz
Apple : 1152x870 75.061550 Hz 192:145 68.681 kHz 100.000000 MHz
Standard Timings:
DMT 0x15: 1152x864 75.000000 Hz 4:3 67.500 kHz 108.000000 MHz
DMT 0x55: 1280x720 60.000000 Hz 16:9 45.000 kHz 74.250000 MHz
DMT 0x1c: 1280x800 59.810326 Hz 16:10 49.702 kHz 83.500000 MHz
DMT 0x23: 1280x1024 60.019740 Hz 5:4 63.981 kHz 108.000000 MHz
DMT 0x2f: 1440x900 59.887445 Hz 16:10 55.935 kHz 106.500000 MHz
DMT 0x53: 1600x900 60.000000 Hz 16:9 60.000 kHz 108.000000 MHz (RB)
DMT 0x3a: 1680x1050 59.954250 Hz 16:10 65.290 kHz 146.250000 MHz
DMT 0x52: 1920x1080 60.000000 Hz 16:9 67.500 kHz 148.500000 MHz
Detailed Timing Descriptors:
DTD 1: 3840x2160 30.000000 Hz 16:9 67.500 kHz 297.000000 MHz (1872 mm x 1053 mm)
Hfront 176 Hsync 88 Hback 296 Hpol P
Vfront 8 Vsync 10 Vback 72 Vpol P
DTD 2: 2560x1440 59.950550 Hz 16:9 88.787 kHz 241.500000 MHz (1872 mm x 1053 mm)
Hfront 48 Hsync 32 Hback 80 Hpol P
Vfront 3 Vsync 5 Vback 33 Vpol N
Display Range Limits:
Monitor ranges (GTF): 24-75 Hz V, 15-81 kHz H, max dotclock 300 MHz
Display Product Name: ‘SAMSUNG’
Extension blocks: 1
Checksum: 0x9f


Block 1, CTA-861 Extension Block:
Revision: 3
Underscans IT Video Formats by default
Basic audio support
Supports YCbCr 4:4:4
Supports YCbCr 4:2:2
Native detailed modes: 0
Video Data Block:
VIC 95: 3840x2160 30.000000 Hz 16:9 67.500 kHz 297.000000 MHz
VIC 16: 1920x1080 60.000000 Hz 16:9 67.500 kHz 148.500000 MHz
VIC 31: 1920x1080 50.000000 Hz 16:9 56.250 kHz 148.500000 MHz
VIC 4: 1280x720 60.000000 Hz 16:9 45.000 kHz 74.250000 MHz
VIC 19: 1280x720 50.000000 Hz 16:9 37.500 kHz 74.250000 MHz
VIC 5: 1920x1080i 60.000000 Hz 16:9 33.750 kHz 74.250000 MHz
VIC 20: 1920x1080i 50.000000 Hz 16:9 28.125 kHz 74.250000 MHz
VIC 32: 1920x1080 24.000000 Hz 16:9 27.000 kHz 74.250000 MHz
VIC 33: 1920x1080 25.000000 Hz 16:9 28.125 kHz 74.250000 MHz
VIC 34: 1920x1080 30.000000 Hz 16:9 33.750 kHz 74.250000 MHz
VIC 93: 3840x2160 24.000000 Hz 16:9 54.000 kHz 297.000000 MHz
VIC 94: 3840x2160 25.000000 Hz 16:9 56.250 kHz 297.000000 MHz
VIC 98: 4096x2160 24.000000 Hz 256:135 54.000 kHz 297.000000 MHz
VIC 100: 4096x2160 30.000000 Hz 256:135 67.500 kHz 297.000000 MHz
VIC 7: 1440x480i 59.940060 Hz 16:9 15.734 kHz 27.000000 MHz
VIC 22: 1440x576i 50.000000 Hz 16:9 15.625 kHz 27.000000 MHz
VIC 3: 720x480 59.940060 Hz 16:9 31.469 kHz 27.000000 MHz
VIC 18: 720x576 50.000000 Hz 16:9 31.250 kHz 27.000000 MHz
Audio Data Block:
Linear PCM:
Max channels: 6
Supported sample rates (kHz): 192 96 48 44.1 32
Supported sample sizes (bits): 24 20 16
Linear PCM:
Max channels: 2
Supported sample rates (kHz): 48 44.1 32
Supported sample sizes (bits): 24 20 16
AC-3:
Max channels: 6
Supported sample rates (kHz): 48 44.1 32
Maximum bit rate: 640 kb/s
Enhanced AC-3 (DD+):
Max channels: 8
Supported sample rates (kHz): 48 44.1 32
Supports Joint Object Coding
MAT (MLP):
Max channels: 8
Supported sample rates (kHz): 192 96 48
Supports Dolby TrueHD, object audio PCM and channel-based PCM
Hash calculation not required for object audio PCM or channel-based PCM
Speaker Allocation Data Block:
FL/FR - Front Left/Right
LFE1 - Low Frequency Effects 1
FC - Front Center
BL/BR - Back Left/Right
Video Capability Data Block:
YCbCr quantization: No Data
RGB quantization: Selectable (via AVI Q)
PT scan behavior: No Data
IT scan behavior: Supports both over- and underscan
CE scan behavior: Supports both over- and underscan
Colorimetry Data Block:
xvYCC601
xvYCC709
BT2020YCC
BT2020RGB
Reserved MD0
Vendor-Specific Data Block (HDMI), OUI 00-0C-03:
Source physical address: 3.0.0.0
Supports_AI
DC_36bit
DC_30bit
DC_Y444
Maximum TMDS clock: 340 MHz
Extended HDMI video details:
HDMI VICs:
HDMI VIC 1: 3840x2160 30.000000 Hz 16:9 67.500 kHz 297.000000 MHz
HDMI VIC 2: 3840x2160 25.000000 Hz 16:9 56.250 kHz 297.000000 MHz
HDMI VIC 3: 3840x2160 24.000000 Hz 16:9 54.000 kHz 297.000000 MHz
HDMI VIC 4: 4096x2160 24.000000 Hz 256:135 54.000 kHz 297.000000 MHz
HDR Static Metadata Data Block:
Electro optical transfer functions:
Traditional gamma - SDR luminance range
SMPTE ST2084
Hybrid Log-Gamma
Supported static metadata descriptors:
Static metadata type 1
YCbCr 4:2:0 Video Data Block:
VIC 96: 3840x2160 50.000000 Hz 16:9 112.500 kHz 594.000000 MHz
VIC 97: 3840x2160 60.000000 Hz 16:9 135.000 kHz 594.000000 MHz
VIC 101: 4096x2160 50.000000 Hz 256:135 112.500 kHz 594.000000 MHz
VIC 102: 4096x2160 60.000000 Hz 256:135 135.000 kHz 594.000000 MHz
Vendor-Specific Video Data Block (HDR10+), OUI 90-84-8B:
Application Version: 1
Detailed Timing Descriptors:
DTD 3: 1920x1080 60.000000 Hz 16:9 67.500 kHz 148.500000 MHz (1872 mm x 1053 mm)
Hfront 88 Hsync 44 Hback 148 Hpol P
Vfront 4 Vsync 5 Vback 36 Vpol P
Checksum: 0xea
k

If I try to boot with HDMI connected, Debian still doesn’t get far enough for me to ssh in. Is there a log file that would give us more info about where and why it’s hanging?