Jump to content

Tinkerboard won't start with connected HDMI


The

Recommended Posts

Hello,

I'm observing a strange behavior. If I connect the Tinkerboard to HDMI, it won't start. Only the red led LED lights up. Yellow and green did not light up. The Tinkerboard ist connected to a NorthPada 5V 3A Micro USB Charger power supply. I measured the supply voltage with 5.3V and checked with an oscilloscope if there are voltage dips. But the voltage was stable.

I did a cross test. I unplugged the HDMI cable and started the Tinkerboard. The Tinkerboard starts and the yellow and green LEDs lights up. I measured the supply voltage with 5.3V and checked with an oscilloscope if there a voltage dips. The voltage was stable and dropped to roughly 5.1V for a short time when the green LED flashed. I can connect the HDMI monitor and work with it. The board works fine.

I use Armbian_5.59_Tinkerboard_Debian_stretch_next_4.14.67

How can I check what's going wrong and where the Tinkerboard stucks in the boot process.
Whats wrong with the HDMI?

Link to comment
Share on other sites

2 hours ago, The said:

Only the red led LED lights up.

This says you are stuck in u-boot.  There are some patches there that may be troublesome, would need checked.

 

2 hours ago, The said:

But the voltage was stable.

Good information

 

2 hours ago, The said:

I unplugged the HDMI cable and started the Tinkerboard. The Tinkerboard starts and the yellow and green LEDs lights up.

We added some patches from Asus to enable some of the nicer things like CEC/etc, unfortunately someone with a similar problem apparently simply decided to start cutting wires instead of finishing the software debug.  Have you tried another monitor that may have different/more limited capabilities?

 

2 hours ago, The said:

How can I check what's going wrong and where the Tinkerboard stucks in the boot process.

UART adapter on the debug UART (it is either UART 2 or 3, it changed at one point and then again after the vendor kernel issues)  That will show whatever output is being produced by U-boot/the kernel (assuming it gets to the kernel but dies parsing the DT)

 

2 hours ago, The said:

Whats wrong with the HDMI?

 

What is typically wrong with such things:  open source drivers created without 100% cooperation of the vendor who produced the thing.  Changes in the codebase have entirely unintended consequences (See BayLibre's comments about the Amlogic clock system and their undocumented system supervisor core)

Link to comment
Share on other sites

On 10/31/2018 at 1:30 AM, TonyMac32 said:

We added some patches from Asus to enable some of the nicer things like CEC/etc, unfortunately someone with a similar problem apparently simply decided to start cutting wires instead of finishing the software debug.  Have you tried another monitor that may have different/more limited capabilities?

I've tested it with two Full HD televisions of different brands that works when it is connected at startup. Then I checked the monitor that don't work.

 

On 10/31/2018 at 1:30 AM, TonyMac32 said:

UART adapter on the debug UART (it is either UART 2 or 3, it changed at one point and then again after the vendor kernel issues)  That will show whatever output is being produced by U-boot/the kernel (assuming it gets to the kernel but dies parsing the DT)

 

UART 2 with 115200 baud shows me U-Boot. Here is the recording of the monitor that works.

Spoiler

U-Boot SPL 2018.07-armbian (Sep 19 2018 - 13:23:29 +0200)
Returning to boot ROM...


U-Boot 2018.07-armbian (Sep 19 2018 - 13:23:29 +0200)

Model: Tinker-RK3288
DRAM:  2 GiB
MMC:   dwmmc@ff0c0000: 1, dwmmc@ff0f0000: 0
Loading Environment from EXT4... Card did not respond to voltage select!
** Bad device mmc 0 **
Failed (-5)
In:    serial
Out:   vidconsole
Err:   vidconsole
Model: Tinker-RK3288
Net:   eth0: ethernet@ff290000
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
Found U-Boot script /boot/boot.scr
1532 bytes read in 3 ms (498 KiB/s)
## Executing script at 00000000
U-boot loaded from eMMC
178 bytes read in 3 ms (57.6 KiB/s)
43206 bytes read in 8 ms (5.1 MiB/s)
3741412 bytes read in 169 ms (21.1 MiB/s)
8546016 bytes read in 380 ms (21.4 MiB/s)
## Loading init Ramdisk from Legacy Image at 21000000 ...
   Image Name:   uInitrd
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    3741348 Bytes = 3.6 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 01f00000
   Booting using the fdt blob at 0x1f00000
   Loading Ramdisk to 0fc6e000, end 0ffff6a4 ... OK
   Loading Device Tree to 0fc60000, end 0fc6d8c5 ... OK

Starting kernel ...

 

Here is the second recording of the monitor that dont works.

Spoiler

U-Boot SPL 2018.07-armbian (Sep 19 2018 - 13:23:29 +0200)
Returning to boot ROM...


U-Boot 2018.07-armbian (Sep 19 2018 - 13:23:29 +0200)

Model: Tinker-RK3288
DRAM:  2 GiB
MMC:   dwmmc@ff0c0000: 1, dwmmc@ff0f0000: 0
Loading Environment from EXT4... Card did not respond to voltage select!
** Bad device mmc 0 **
Failed (-5)

Both outputs are equal up to the line "Failed (-5). I don't get an error message.

 

I checked UART 3 with 115200 baud. Here is the first with the monitor that works.

Spoiler

Loading, please wait...
starting version 232
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... Scanning for Btrfs filesystems
done.
Begin: Will now check root file system ... fsck from util-linux 2.29.2
[/sbin/fsck.ext4 (1) -- /dev/mmcblk0p1] fsck.ext4 -a -C0 /dev/mmcblk0p1
/dev/mmcblk0p1: recovering journal
/dev/mmcblk0p1: Superblock last mount time is in the future.
        (by less than a day, probably due to the hardware clock being incorrectly set)
/dev/mmcblk0p1: clean, 77496/894912 files, 512054/3849616 blocks
done.
done.
Begin: Running /scripts/local-bottom ... done.
Begin: Running /scripts/init-bottom ... done.

Welcome to Debian GNU/Linux 9 (stretch)!

[  OK  ] Listening on fsck to fsckd communication Socket.
[  OK  ] Started Forward Password Requests to Wall Directory Watch.
[  OK  ] Listening on /dev/initctl Compatibility Named Pipe.
[  OK  ] Listening on Journal Socket (/dev/log).
[  OK  ] Reached target Swap.
[  OK  ] Listening on Journal Socket.
[  OK  ] Started Dispatch Password Requests to Console Directory Watch.
[  OK  ] Listening on Syslog Socket.
[  OK  ] Reached target Remote File Systems.
[  OK  ] Listening on udev Control Socket.
[  OK  ] Reached target Paths.
[  OK  ] Created slice User and Session Slice.
[  OK  ] Reached target Encrypted Volumes.
[  OK  ] Listening on udev Kernel Socket.
[  OK  ] Created slice System Slice.
[  OK  ] Created slice system-getty.slice.
         Mounting POSIX Message Queue File System...
         Starting Set the console keyboard layout...
         Starting Remount Root and Kernel File Systems...
         Starting Journal Service...
[  OK  ] Created slice system-serial\x2dgetty.slice.
         Starting Create list of required st…ce nodes for the current kernel...
         Mounting Debug File System...
[  OK  ] Reached target Slices.
         Starting Nameserver information manager...
         Starting Restore / save the current clock...
         Starting Load Kernel Modules...
[  OK  ] Mounted POSIX Message Queue File System.
[  OK  ] Mounted Debug File System.
[  OK  ] Started Remount Root and Kernel File Systems.
[  OK  ] Started Create list of required sta…vice nodes for the current kernel.
[  OK  ] Started Restore / save the current clock.
[  OK  ] Started Load Kernel Modules.
[  OK  ] Started Nameserver information manager.
[  OK  ] Started Journal Service.
[  OK  ] Started Set the console keyboard layout.
         Starting Apply Kernel Variables...
         Mounting Configuration File System...
         Starting Create Static Device Nodes in /dev...
         Starting udev Coldplug all Devices...
         Starting Flush Journal to Persistent Storage...
         Starting Load/Save Random Seed...
[  OK  ] Mounted Configuration File System.
[  OK  ] Started Apply Kernel Variables.
[  OK  ] Started Create Static Device Nodes in /dev.
[  OK  ] Started Load/Save Random Seed.
[  OK  ] Reached target Local File Systems (Pre).
         Mounting /tmp...
         Starting udev Kernel Device Manager...
[  OK  ] Mounted /tmp.
[  OK  ] Reached target Local File Systems.
         Starting Set console font and keymap...
         Starting Raise network interfaces...
         Starting Armbian ZRAM config...
[  OK  ] Started Flush Journal to Persistent Storage.
[  OK  ] Started Set console font and keymap.
[  OK  ] Started udev Kernel Device Manager.
         Starting Create Volatile Files and Directories...
[  OK  ] Started Create Volatile Files and Directories.
[  OK  ] Reached target System Time Synchronized.
         Starting Update UTMP about System Boot/Shutdown...
[  OK  ] Started Entropy daemon using the HAVEGE algorithm.
[  OK  ] Started udev Coldplug all Devices.
[  OK  ] Started Update UTMP about System Boot/Shutdown.
[  OK  ] Found device /dev/ttyS3.
[  OK  ] Found device /dev/ttyS2.
[  OK  ] Reached target Sound Card.
[  OK  ] Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch.
         Starting Load/Save RF Kill Switch Status...
[  OK  ] Started Load/Save RF Kill Switch Status.
[  OK  ] Started Raise network interfaces.
[  OK  ] Started Armbian ZRAM config.
         Starting Armbian memory supported logging...
[  OK  ] Started Armbian memory supported logging.
[  OK  ] Reached target System Initialization.
         Starting Armbian hardware monitoring...
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Reached target Sockets.
[  OK  ] Started Daily apt download activities.
         Starting Armbian hardware optimization...
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Started Daily apt upgrade and clean activities.
[  OK  ] Started Run certbot twice daily.
[  OK  ] Reached target Timers.
[  OK  ] Started Armbian hardware optimization.
[  OK  ] Started Armbian hardware monitoring.
[  OK  ] Reached target Basic System.
[  OK  ] Started Regular background program processing daemon.
         Starting Realtek H5 bluetooth support...
[  OK  ] Started D-Bus System Message Bus.
         Starting LSB: Start/stop sysstat's sadc...
         Starting Save/Restore Sound Card State...
         Starting Certbot...
         Starting LSB: Load kernel modules needed to enable cpufreq scaling...
         Starting Login Service...
         Starting Network Manager...
         Starting System Logging Service...
[  OK  ] Started Realtek H5 bluetooth support.
[  OK  ] Started Save/Restore Sound Card State.
[  OK  ] Started LSB: Start/stop sysstat's sadc.
[  OK  ] Started Login Service.
[  OK  ] Started System Logging Service.
[  OK  ] Started LSB: Load kernel modules needed to enable cpufreq scaling.
         Starting LSB: set CPUFreq kernel parameters...
[  OK  ] Started LSB: set CPUFreq kernel parameters.
         Starting LSB: Set sysfs variables from /etc/sysfs.conf...
[  OK  ] Started LSB: Set sysfs variables from /etc/sysfs.conf.
[  OK  ] Started Network Manager.
         Starting Network Manager Wait Online...
[  OK  ] Reached target Network.
         Starting Permit User Sessions...
         Starting A high performance web server and a reverse proxy server...
         Starting OpenBSD Secure Shell server...
[  OK  ] Started Unattended Upgrades Shutdown.
[  OK  ] Started Permit User Sessions.
         Starting Network Manager Script Dispatcher Service...
[  OK  ] Started Network Manager Script Dispatcher Service.
         Starting Hostname Service...
[  OK  ] Started OpenBSD Secure Shell server.
[  OK  ] Started Hostname Service.
         Starting Authorization Manager...
         Starting WPA supplicant...
[  OK  ] Started Authorization Manager.
[  OK  ] Started A high performance web server and a reverse proxy server.
[  OK  ] Started WPA supplicant.
         Starting Load/Save RF Kill Switch Status...
[  OK  ] Reached target Bluetooth.
[  OK  ] Started Load/Save RF Kill Switch Status.
[  OK  ] Started Certbot.
[  OK  ] Started Network Manager Wait Online.
[  OK  ] Reached target Network is Online.
         Starting LSB: Start NTP daemon...
         Starting /etc/rc.local Compatibility...
         Starting LSB: Advanced IEEE 802.11 management daemon...
[  OK  ] Started /etc/rc.local Compatibility.
[  OK  ] Started LSB: Advanced IEEE 802.11 management daemon.
[  OK  ] Started Getty on tty1.
[  OK  ] Started Serial Getty on ttyS3.
[  OK  ] Started Serial Getty on ttyS2.
[  OK  ] Reached target Login Prompts.
[  OK  ] Started LSB: Start NTP daemon.
[  OK  ] Reached target Multi-User System.
[  OK  ] Reached target Graphical Interface.
         Starting Update UTMP about System Runlevel Changes...
[  OK  ] Started Update UTMP about System Runlevel Changes.

Debian GNU/Linux 9 tinkerboard ttyS3

All works fine. No error messages. With the second monitor that dont works I don't get an output.

 

Bottom line: I can start the tinkerboard with a Full HD TV. When I connect the board to the monitor (resolution 1920 x 1200) via HDMI it does not start. I started the tinkerboard with the unplugged HDMI cable. The Tinkerboard starts normal. When the yellow and green LEDs lights up I connect the HDMI monitor. The monitor works an has the correct resolution. The board works fine.

 

Appendix:

I searched the internet for the message "Card did not respond to voltage select!". It seems to be a common problem with U-Boot but nobody is concerned. So I guess in my case, it's not the problem.

 

On 10/31/2018 at 1:30 AM, TonyMac32 said:

See BayLibre's comments about the Amlogic clock system and their undocumented system supervisor core

I don't know the comment. Do you have a link?

Link to comment
Share on other sites

Thank you for the info, it is definitely u-boot where the problem lies.

As for the comment, more or less while mainlining Amlogic SoC's they've come across hardware dependancies that were completely undocumented and caused very strange bugs after what should have been pretty simple code improvements.

Sent from my Pixel using Tapatalk

Link to comment
Share on other sites

On 10/30/2018 at 9:30 PM, TonyMac32 said:

We added some patches from Asus to enable some of the nicer things like CEC/etc, unfortunately someone with a similar problem apparently simply decided to start cutting wires instead of finishing the software debug.  Have you tried another monitor that may have different/more limited capabilities?

 

Cutting the wire is what helped me find the problem.  Finishing (or even starting) the software debug of u-boot is probably out of reach of most users.

Link to comment
Share on other sites

I agree, however we weren't clear which wire was even cut last time we discussed, so I can't be sure what feature is truly causing the issue without confirmation. I unfortunately don't have a monitor that causes this, I'll run through them again and see if I can find one I guess.

Sent from my Pixel using Tapatalk

Link to comment
Share on other sites

21 minutes ago, TonyMac32 said:

I agree, however we weren't clear which wire was even cut last time we discussed, so I can't be sure what feature is truly causing the issue without confirmation. I unfortunately don't have a monitor that causes this, I'll run through them again and see if I can find one I guess.

Sent from my Pixel using Tapatalk
 

 

Yeah I was sure.  Line 15 DDC. 

 

I also offered to donate a monitor.

 

 

Link to comment
Share on other sites

I should also add that I don't EXPECT anyone to fix this.  That's why after I was told to debug u-boot I stopped talking about it.  We stopped updating the units for now while we weigh out our options.

(but I do appreciated any effort anyone puts into it!)

Link to comment
Share on other sites

35 minutes ago, freak said:

I should also add that I don't EXPECT anyone to fix this

 

No worries, I don't like that something is wrong, like I said I think it is spilling over into the kernel and needs to be addressed.

Link to comment
Share on other sites

OK, for the unafraid, I have removed some HDMI hackery that was part of some patches on older U-boots than what we use.  Install the file below if you have kernel 4.14 (so "next") and are seeing this issue, let me know if that alone fixes it, or if you see any other issues.

 

http://electricgraveyard.com/armbian/tinker/uboot/linux-u-boot-next-tinkerboard_5.67_armhf.deb

 

[EDIT]    Updated, I found the issue now appeared on one of my "previously good" monitors.  I disabled video in u-boot entirely, seems ok now.  That does leave some questions for the 4.4 kernel as I think it now needs u-boot to set this up...

Link to comment
Share on other sites

@TonyMac32

Hi, just received my Tinkerboard this week.  First time boot with my Dell 2408WFP monitor and was stumped by this bug.

True to form it only boots with the HDMI disconnected, and I can then connect it after boot.

 

I've installed your .deb on debian_stretch_next(4.14). and now it's booting for me.

Good job.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines