Odroid N2 test builds

Always had to do that for my N2. Turning on the TV will not resume from suspend. Have to switch source and back again.

Ok just tried a old Kingston HC card, 16gb
On same Q6 TV with same setup I don’t see any connected coreelec message.
Apart from been really slow at loading due to card speed it seems to work fine.

Put Samsung back in and coreelec connection message pops up but I can still watch movies and It only looks like it says that message the first time coming out of suspend, turning TV on and off again to put N2 in suspend doesn’t bring up the message again.

EDIT: it’s hard to see the exact message as the TV has a big white bar with info running along the top of the screen when booting. From what I can tell it has just popped up coming out of suspend mode for first time after reboot saying something about disconnecting? and then a message saying successfully removed storage system coreelec. Again everything plays ok.

EDIT2: Seen message a bit better this time,
“successfully removed storage device, coreelec”
then
“mounted storage device, storage”
These happen one after another and very quickly.
Definitely only get the message after first reboot, after that going in and out of suspend dosent give any error.

When rebooting the system it takes 1 and a half minute between the reboot command and the end of the blue heartbeat.

I don’t know how to debug this as I don’t know how to have a persistent log to analyze.
Is there a way to write a syslog to disc on CE ?

Hello!

Anybody succeeded with non-HK IR Remote wakeup?
My samsung IR (BN59-01178B) sends NEC protocol.
Wanted key (STB-POWER) is decoded by ir-keytable -u as 0x1FE0F807.
IR is working perfectly in Kodi (have custom rc_keymap for this).
I’ve modified boot.ini accordingly, but nothing is happening after poweroff.
I’m using https://test.coreelec.org/ray/ builds (from 16.04.2019)

How to debug/check ?

Ok I found that starting CE with ‘debugging’ boot option makes a persistent systemd journal in /storage/log/

But it does not help unfortunately:
Apr 18 17:32:46 CoreELEC systemd-journald[2310]: Journal stopped
– Reboot –
Apr 18 17:34:32 CoreELEC systemd[1]: Started Samba Configuration.

A post was merged into an existing topic: The Future: Odroid N2

These changes need to go into config.ini otherwise they are overwritten. Please show your modified boot.ini

Also
dmesg|grep lirc

Will show the setup keycode

I thought everyone was saying /storage is no longer mounted?

dmesg|grep lirc

CoreN2:~ # dmesg|grep lirc
[    0.000000@0] Kernel command line: console=ttyS0,115200 console=tty0 
BOOT_IMAGE=kernel.img boot=UUID=1004-5313 disk=UUID=b06b58b2-0ad9- 
440b-b909-2a887601dbf0 no_console_suspend 
logo=osd0,loaded,0x3f800000,1080p60hz vout=1080p60hz,enable voutmode=hdmi 
hdmimode=1080p60hz cvbsmode=nocvbs mac=00:1e:06:42:06:b4 consoleblank=0 
max_freq_a53=1896 max_freq_a73=1800 maxcpus=6 enable_wol=1 hdmitx=cec3f 
quiet hk-lirc-helper.remotewakeup=0x1FE0F807 hk-lirc-helper.decode_type=0x1
[    6.941123@4] lirc_helper: wakeupkey 0x1fe0f807, protocol 0x1
[    7.619944@0] lirc_dev: IR Remote Control driver registered, major 496
[    7.637424@5] rc rc0: lirc_dev: driver ir-lirc-codec (meson-ir) registered at minor =0

boot.ini:

cat /flash/boot.ini
ODROIDN2-UBOOT-CONFIG

#------------------------------------------------------------------------------------------------------
#
# boot.ini
#
# WARNING DO NOT MODIFY THIS FILE! ALL CHANGES WILL BE LOST WITH THE NEXT UPDATE!
# Set your own settings in config.ini
#
#------------------------------------------------------------------------------------------------------

setenv bootrootfs "BOOT_IMAGE=kernel.img boot=UUID=1004-5313 disk=UUID=b06b58b2-0ad9-440b-b909-2a887601dbf0"
setenv condev "console=ttyS0,115200 console=tty0"
setenv hdmimode "1080p60hz"
setenv bmp_width "1920"
setenv bmp_height "1080"
setenv vout_mode "hdmi"
setenv hdmioutput   "1"
setenv vpu          "1"
setenv coreelec "quiet"
setenv hdmi_cec "1"
setenv maxcpus "6"
setenv max_freq_a73 "1800"
setenv max_freq_a53 "1896"
setenv rtc_shield "0"
setenv emmc_timeout "0"
setenv wol "1"
setenv remotewakeup "0x1FE0F807"
setenv decode_type "0x1"

setenv loadaddr 0x11000000
setenv dtb_mem_addr 0x1000000
setenv uenv_addr 0x13000000

fatload mmc ${mmc_dev}:1 ${loadaddr} kernel.img
fatload mmc ${mmc_dev}:1 ${dtb_mem_addr} dtb.img

if fatload mmc ${mmc_dev}:1 ${uenv_addr} config.ini; then env import -t ${uenv_addr} $filesize; fi

if test "${emmc_timeout}" = "1"; then showlogo ${hdmimode} ${bmp_width} ${bmp_height} timeout-logo-${bmp_height}.bmp.gz; sleep 30; mmc dev 1; mmc dev 0; fi

setenv irsetup "hk-lirc-helper.remotewakeup=${remotewakeup} hk-lirc-helper.decode_type=${decode_type}"
setenv device "no_console_suspend logo=osd0,loaded,0x3f800000,${hdmimode} vout=${hdmimode},enable voutmode=${vout_mode} hdmimode=${hdmimode} cvbsmode=nocvbs mac=${ethaddr} consoleblank=0 max_freq_a53=${max_freq_a53} max_freq_a73=${max_freq_a73} maxcpus=${maxcpus} enable_wol=${wol}"
if test "${hdmi_cec}" = "1"; then setenv cec "hdmitx=cec3f"; fi
setenv bootargs "${condev} ${bootrootfs} ${device} ${cec} ${coreelec} ${irsetup}"

# Device tree modifications
bootm start
bootm loados
bootm fdt
if test "${vpu}" = "0"; then fdt rm /mesonstream; fdt rm /vdec; fdt rm /ppmgr; fi
if test "${hdmioutput}" = "0"; then fdt rm /mesonfb; fi
if test "${rtc_shield}" = "1"; then fdt set "/i2c@c1108500/pcf8563@51" status okay; else fdt set "/i2c@c1108500/pcf8563@51" status disabled; fi
# Remove aml partition layout from device tree (required for eMMC boot)
fdt rm /partitions
bootm prep

# Boot the board
bootm go

config.ini: (every line hashed-out)

#------------------------------------------------------------------------------------------------------
#
# config.ini
#
#------------------------------------------------------------------------------------------------------

#------------------------------------------------------------------------------------------------------
#
# Console Setup
#   on serial port:
#   condev='ttyS0,115200'
#
#------------------------------------------------------------------------------------------------------

#------------------------------------------------------------------------------------------------------
#
# Video
#   Setup the video output
#       hdmimode='480i60hz'
#       hdmimode='480i_rpt'
#       hdmimode='480p60hz'
#       hdmimode='480p_rpt'
#       hdmimode='576i50hz'
#       hdmimode='576i_rpt'
#       hdmimode='576p50hz'
#       hdmimode='576p_rpt'
#       hdmimode='720p60hz'
#       hdmimode='720p50hz'
#       hdmimode='1080i60hz'
#       hdmimode='1080p60hz'
#       hdmimode='1080i50hz'
#       hdmimode='1080p50hz'
#       hdmimode='1080p30hz'
#       hdmimode='1080p25hz'
#       hdmimode='1080p24hz'
#       hdmimode='2160p60hz'
#       hdmimode='2160p50hz'
#       hdmimode='2160p30hz'
#       hdmimode='2160p25hz'
#       hdmimode='2160p24hz'
#       hdmimode='2160p60hz420'
#       hdmimode='2160p50hz420'
#       hdmimode='smpte60hz'
#       hdmimode='smpte50hz'
#       hdmimode='smpte30hz'
#       hdmimode='smpte25hz'
#       hdmimode='smpte24hz'
#       hdmimode='smpte60hz420'
#       hdmimode='smpte50hz420'
#
#------------------------------------------------------------------------------------------------------

#------------------------------------------------------------------------------------------------------
#
# HDMI/DVI Mode Configuration
# This will enforce the signal type of display
#   vout_mode='hdmi'
#   vout_mode='dvi'
#
#------------------------------------------------------------------------------------------------------

#------------------------------------------------------------------------------------------------------
#
# CoreELEC variables
#
# Setup the CoreELEC options
#   valid values are: textmode debugging progress nofsck nosplash noram overlay quiet ssh
#
# coreelec='quiet'
#
#------------------------------------------------------------------------------------------------------

#------------------------------------------------------------------------------------------------------
#
# Enable|Disable HDMI CEC Control
#   hdmi_cec='0'
#   hdmi_cec='1'
#
#------------------------------------------------------------------------------------------------------

#------------------------------------------------------------------------------------------------------
#
# Enable|Disable RTC Shield
#   rtc_shield='0'
#   rtc_shield='1'
#
#------------------------------------------------------------------------------------------------------

#------------------------------------------------------------------------------------------------------
#
# CPU Frequency / Cores control
#
# WARNING!!! WARNING!!! WARNING!!!
#   Before changing anything here please read the wiki entry:
#   http://odroid.com/dokuwiki/doku.php?id=en:c2_set_cpu_freq
#
# MAX CPU's
#   maxcpus='1'
#   maxcpus='2'
#   maxcpus='3'
#   maxcpus='4'
#
# MAX Frequency
#   2.016GHz
#   max_freq='2016'
#   1.944GHz
#   max_freq='1944'
#   1.920GHz
#   max_freq='1920'
#   1.896GHz
#   max_freq='1896
#   1.752GHz
#   max_freq='1752'
#   1.680GHz
#   max_freq='1680'
#   1.656GHz
#   max_freq='1656'
#   1.536GHz
#   max_freq='1536'
#
#------------------------------------------------------------------------------------------------------

#------------------------------------------------------------------------------------------------------
#
# WOL setting for LePotato
#   wol=1
#
#------------------------------------------------------------------------------------------------------

#------------------------------------------------------------------------------------------------------
#
# EMMC timeout for LePotato
#   You can enable a boot delay of 30s before the kernel is loaded. This way you can boot LePotato from
#   SD card and you have time to insert the emmc module, otherwise it would boot Android from emmc
#   automatically. This is especially useful if you want to install CoreELEC to emmc.
#   emmc_timeout=1
#
#------------------------------------------------------------------------------------------------------

# setenv irdecodetype "NEC"
# setenv remotewakeup "0x00070164"
# setenv remotewakeup "0x0164"
# setenv bootargs ${bootargs} irdecodetype=${irdecodetype} remotewakeup=${remotewakeup}

Looks good. You got uart?

It says the following coming out of suspend
“successfully removed storage device"
immediately followed by
“mounted storage device"

Steps to get this Reboot N2 while TV on,
Turn TV off,
Turn TV on,
Produces that message.

I’ve taken a video for you to see.

Question is can you still ssh into the box after suspend?

Got few of usb-uarts around.

CH340 works. @ shutdown :

wake-on-lan = 00000001
bl30 get wakeup sources!
process command 00000006
bl30 enter suspend!
Little core clk suspend rate 1896000000
Big core clk suspend rate 24000000
store restore gp0 pll
suspend_counter: 1
Enter ddr suspend
ddr suspend time: 17us
alarm=0S
process command 00000001
cec ver:2018/04/19
CEC cfg:0x003f
WAKEUP GPIO cfg:0x00000000
use vddee new table!
08915d0000000000cec reset
Set cec pinmux:0x11
kern log_addr:0x0f
cec T: 11
cec_triggle_tx:TX_ERROR
Set cec log_addr:0x01, ADDR0:11
WAKEUP GPIO FAIL - invalid key
fffffe71
customer pwrkeys for IR is NULL, use defaults!

customer pwrkeys for IR is NULL, use defaults! - looks like IR did not get proper key…

Some experimenting with different SD cards.

All tests used April 14th N2 image clean. I did do a library import
each time to have movie library to scroll thru for testing disk access.

Transcend cards seem to work just fine :slight_smile:

The Sony SD does the removal notification and yanks the file system
upon resuming from suspend.
sony64.txt (97.6 KB)

All of the Sandisk cards I have behave same exact way. When
resuming from suspend subsequent access is very slow and kernel log filled
with SD messages. Note it’s possible to suspend without this problem occurring. Usually found you have to be in movie library to trigger it. Sometimes it takes a few tries to reproduce.
sandisk200.txt (3.4 MB)

Ran into unrelated CEC problems resuming.

Have a Sony 690e TV. In CEC configuration within Kodi if Devices to power on and power off are
set ‘TV’ the TV flakes out about a third of the time and when turned back on won’t unsuspend
Kodi. In this case if I pull the power cord on the TV then turn it on the N2 resumes so seems to be a TV problem.

With setting of ‘None’ rather than ‘TV’ behavior is consistent and resume always works reliably. Kodi
should probably suppress echoing power messages to the same thing that requested Kodi power up/down in the first place assuming this is what’s happening.

Watching livetv I get following errors:

https://justpaste.it/2pnwz

If you need further information, please tell me what is required. I’m happy to help.

Another one: https://justpaste.it/5jqr0

This one freezes the entire box, I have to re-plug the power cord.

Update: 4k movies or livetv result in an image which spans over 1/4 of the screen. Resolution stays at 1080p. Whitelist untouched after fresh install.

Thanks for all the testing I could not reproduce with my 16G sandisk. But your logs might help figuring this issue out.

It does indeed look like it didn’t work. Can you try suspend too?

I’m using a 16gb sandisk SD and it works great, even when it suspend.

but the memory usage is high. I’m using the same addons I used in C2 and it was only 500mb

Modifying setenv remotewakeup in boot.ini works for me.
What should I put in config.ini?

These are the examples in config.ini

1 Like