Posts by myxal

    Cheers, I'm using LE 9.2.6 on Raspberry Pi 3.

    A recent rollout of IPv6 had me shuffle a few network settings:

    • Pi and other devices are still pointed to a local dnsmasq instance running on v4 (via DHCPv4) and v6 (via DHCPv6)
    • Upstream DNS was swapped to nextdns for filtering and analytics - this is where I noticed the issue.
    • Devices get self assigned GUA and ULA - the prefixes advertised have lifetimes I got from ISP router's defaults 10800/14400 and 3600/7200, respectively. The expected addresses are seen assigned on the pi (via SSH -> ip -6 addr sh, I couldn't find v6 info in Kodi/LE GUI)

    After noticing the huge amount of queries to ipv6.connman.net I checked my local resolver's logs and saw that LE on the Pi is querying this every 3 minutes (all the time, since the pi isn't turned off) - and it checks both via IPv4, and IPv6 (the ULA) simultaneously.

    dnsmasq logs

    I checked connman logs (journalctl - u connman.service) and kodi logs (.../temp/kodi.log) and didn't see anything that would match the periodicity or occurrences.

    Any idea where else to look?

    Edit: Hmm, I enabled CONNMAN_WEB_DEBUG for the service and the loaded URL, http://ipv6.connman.net/online/status.html is returning HTTP 502 Bad Gateway on IPv4, and is completely silent on IPv6. I guess that's the problem.

    Connman logs

    almost no manufacturer implements the software changes needed to play such files.

    What does that mean? By "software", do you mean the default media player? (No loss there..)

    You can run Android from a micro-sd card or removable emmc storage, I'm also trying to make Android/LibreELEC boot from USB & NVME storage on the RockPi 4.

    Suppose I'd like to dual-boot Android TV and (legacy) LibreELEC images. Is running both off of 1 storage device possible/viable? The Radxa wiki provides an example image (ubuntu+android), for an older SBC that had onboard NAND. but I don't see any info how to prepare it, or if the process is applicable to the Rock Pi4, and it's quite old at this point.

    mo123 Thanks. Totally forgot Android TV was an option for the SBCs as well. Will probably go for the Rock Pi, the Edge is nearly double the price here, and has lower specs.

    ^ 10-bit H264 is not an official standard so although it's widely used by anime fans there is no hardware decode support for it on any ARM device that I have come accross. Most anime fans gravitate towards an Intel NUC with a CPU capable of decoding the content in software.

    Thanks for the tip, though I'll take my chances. User reports suggest that it is indeed working, at least on the Rockchip kernel. Just took a look at the current scene, and it seems most have migrated to H265, so that might become a strong requirement after all.

    Hi all. Seeing as my shelved A10-based TV box will probably be of little use due to the low specs, I'm wondering if getting a TV box or SBC with a Rockchip SoC (specifically, the RK3399) would make sense now that mainline support is landing, and the recent announcement of new SoCs should be a signal for incoming sales of current/old stock.

    • How usable are the boards now/ what's missing (compared to, say, an x86 PC with well-suported hardware components)? (Rockchip's status matrix hasn't beed updated in 8 months... Is anyone tracking the mainline development of Rockchip as well as the sunxi community is tracking theirs?)
    • Does any tick all "boxes" listed below? If so, which would you recommend?

    My expected use of the box/SBC:

    • used as a TV box - controllable using a remote (if not shipped with a decent one, then preferably usable with generic IR (nec encoding), and audio through HDMI

    • Playing movies stored on NAS (SMB v2+, Wired Ethernet, preferably gigabit)

    • content:

    • "typical" H264 (up to 1080p BD quality; alternatively 1080p60 from youtube and the like) ~50%
    • mpeg4 (xvid,divx) ~10%
    • "Hi10P H264" ~35%
    • various sw-decodable SD-or-lower content (flv) ~5%
    • H265 - Don't see myself caring about, and (knowingly) getting H265 and/or 4K content any time soon. Unknowingly (through services forcing H265) - I'm currently not subscribed to anything, but am considering Nebula and Curiosity Stream; can't see anyone dropping H264 altogether, not even Youtube. About the only forced-H265 source I can possibly see considering is DVB-T2, (probably streamed into the network from another box), where the resolution will most likely never go beyond 1080i. If the chip can sw-decode such H265 stream, possibly while overclocked, that's good enough.

    • Anime, and most movies in non-native language -> (rich) subtitles, and lots of 'em. I think this places additional requirements on the quality/capability of the DRM driver, as it isn't just scaling+scanning out a single plane with the video, but also combining the video plane (may not match display resolution) with display-resolution OSD/subtitle plane at all times. Ie. if the system starts stuttering the playing video when showing OSD, it's no good - just playing the video smoothly with nothing else showing isn't good enough (there's probably a workaround, where the subtitles are rendered into the video plane, but that limits their resolution and on-screen position, so.. "No, thanks.")

    • Plex client (server should be capable of transcoding to h264 if needed).

    • (maybe) hosting Kodi DB for all home Kodi clients - a non-roaming, passively-cooled TV box is IMHO best suited for the task. Weeks-long uptimes and low tolerance for kernel glitches affecting the DB operation (networking, storage) expected. Probably needs 4 GB of RAM?

    • (maybe) WiFi AP (assuming the driver supports it) - the other AP at home doesn't quite reach one room, having an extra AP for better coverage would be nice.

    • Case (for SBC): sufficient cooling required - mustn't overheat/throttle under sustained load (à la Raspberry Pi). Shouldn't need to disassemble the case to access sd-card, if the SBC has on-board IR the case mustn't block it (duh).

    I took a look at a few SBCs:

    - Rock Pi 4: I don't understand the point of putting RK3399 in a Raspberry form factor. RK3399 needs a beefy heatsink, and cools on the bottom, so it's not like I can use any Raspberry cases anyway, I think. Lots of USB ports are nice. No mention of infrared. Can buy some of the models locally for an OK price. Not a fan of having connectors on multiple/adjacent sides, with even the minimal setup (power, Ethernet, HDMI) having cables sticking out of 2 of them.

    - RockPro64 Can't seem to find a decent case for it. Doesn't come with infrared.

    - Rock960: Has a nice metal case, a bit bare-bones but probably sufficient aside from the missing IR.

    Anyway, this seems to be the relevant error from kodi.log:

    Code
    2020-02-16 14:33:36.338 T:612   DEBUG: EGL Debugging:
                                                Error: EGL_BAD_ALLOC
                                                Command: eglCreateImageKHR
                                                Type: EGL_DEBUG_MSG_CRITICAL_KHR
                                                Message: dri2_create_image_khr_texture
    2020-02-16 14:33:36.338 T:612   ERROR: CEGLImage::CreateImage - failed to import buffer into EGL image: 12291

    jernej, are you familiar with how the GPU/system memory split is set up? From top, I see 480 MiB is available to the system, leaving just 32 MiB to GPU. This is much smaller than the ~200 MB allocation for GPU I saw in the stock Android.

    EDIT: Never mind, read up on how the "memory split" works in mainline. CMA's reserved 96MiB should be good, I think.

    Maybe ffmpeg decode mpeg4 only on one core.

    This is a single-core system, I believe.

    add "ignore_loglevel" to kernel command line

    Will do. However I did get to dmesg output through ssh1, and there is more - dmesg_video.log

    Display Spoiler

    EDIT: Yep, with ignore_loglevel the above output is shown on UART, but that happens during startup, before I attempt to play the video. Nothing new shows up in dmesg when I try playing a video.

    1 - ssh a2k 'dmesg' > /tmp/dmesg.log # With ssh/config containing UserName, IdentityFile, HostName and LE host having the pubkey in .ssh/authorized_keys

    mpeg4 is slow because there is no HW acceleration and it's decoded by CPU.

    That is odd then, because the OSD reports CPU significantly below 100% when stuttering like that, typically 40-60%

    I would need at least Kodi debug log and dmesg output.

    Kodi log: kodi.log

    dmesg: It seems that after Kodi starts up, the output on UART stops. Is that intended (where should I get it, then)?

    Does that prevent to be able to navigate menu and start video playback?

    Videos - mpeg4 plays at low fps (< 10 fps) and visible glitches, but at least they keep up with intended playback speed and don't consume all CPU. H264 doesn't play, and makes OSD go bonkers. (see below)

    Can you make a photo of that or short video?

    Here:

    EDIT:

    Oh, and there's an exception on shutdown:

    Oh, and by the way - what would be the way to set a permanent MAC address on the built-in ethernet NIC?

    Thanks, that boots into Kodi :)

    I am seeing a strange shimmer in the Kodi GUI (starts as soon as the splash screen shows up). It's as if some lines would render the contents of the previous line, instead of its own pixels.

    Trying to get the MELE A1000 box up and running, the kernel panics when trying to start the early userspace: mybuild_klog.txt

    Code
    [    3.301289] Run /init as init process
    [    3.307300] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004
    [    3.314970] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004 ]---

    I built the image myself, from jernej 's mele branch (PROJECT=Allwinner ARCH=arm DEVICE=A20 UBOOT_SYSTEM=mele make image). I'm unable to confirm that the KERNEL file contains a valid initramfs. I have found initramfs.cpio among the build artefacts, and that does look like it should work:

    • /bin/sh links to /usr/bin/busybox
    • busybox present, compiled for 32bit ARM EABI5
    • /init script present

    Any suggestions how to troubleshoot this, or what else I should check?

    • Building whole image with DEBUG=yes?
    • Adding set -x at the very beginning of init and rebuilding an image with this change?

    I'm new to building LibreELEC, what would I need to clean to make either of these changes apply in the resulting image?

    Well.. there are ~15 CPIO signatures in there :D

    While there seems to be something compressed in there, trying to extract it results in a lot of cpio errors, not finding "member names" (file names?)

    Display Spoiler

    cpio: Malformed number 0^A

    cpio: Malformed number 3A609B^V

    cpio: Malformed number 3103

    cpio: Malformed number 4

    cpio: Malformed number 18;

    cpio: Malformed number t

    cpio: Malformed number ^A

    cpio: Substituting `.' for empty member name

    drwxr-xr-x 200752 root 61213104 0 Jan 1 1970 .

    cpio: warning: skipped 133997 bytes of junk

    cpio: Malformed number nN_81ED0

    cpio: Malformed number ^A

    cpio: Malformed number 0468A8^V

    cpio: Malformed number #03

    cpio: Malformed number <A0>bin/bus

    cpio: Malformed number ybou^w^?E

    cpio: Malformed number LF^A^A^A<94>^S^Q

    cpio: Malformed number (<9C>

    cpio: Malformed number <80><87>0<C0>d^D<FD>

    cpio: Malformed number <C1>^E4

    cpio: Substituting `.' for empty member name

    ?--------- 4622976 root 87884364 0 Jan 1 1970 .

    cpio: warning: skipped 189365 bytes of junk

    cpio: Malformed number <E5>(_41ED0

    cpio: Malformed number ^A

    cpio: Malformed number 4621E^V

    cpio: Malformed number 103

    cpio: Malformed number ^D^T8

    cpio: Malformed number <libx

    cpio: Malformed number ^\

    cpio: Malformed number `

    cpio: Malformed number 1x

    cpio: Malformed number ss_dns.s

    cpio: Malformed number o.<B5>^T ^R

    cpio: Substituting `.' for empty member name

    ?--------- 4144 root 4596192 0 Jan 1 1970 .

    cpio: warning: skipped 54839 bytes of junk

    cpio: Malformed number 0^A

    cpio: Malformed number 346102

    cpio: Malformed number B6784^V

    cpio: Malformed number 03

    cpio: Malformed number ^D^T1

    cpio: Malformed number r/lib^D

    cpio: Malformed number rt.so

    cpio: Malformed number ELF^A^A^A<AB>

    cpio: Malformed number 1^C

    cpio: Malformed number ^W

    cpio: Malformed number b%^A<C1>^E4

    cpio: Substituting `.' for empty member name

    -rwxr-xr-x 11958336 root 54923296 0 Jan 1 1970 .

    cpio: warning: skipped 706213 bytes of junk

    cpio: Malformed number <FE><E9>_81ED0

    cpio: Malformed number ^A

    cpio: Malformed number 04CE48^V

    cpio: Malformed number #03

    cpio: Malformed number <96>!ib<87><CA>

    cpio: Malformed number <96><D5>1.1.0

    cpio: Malformed number ^?ELF^A^A^A<A0>

    cpio: Malformed number t^Pp<F5>E<E1>^D

    cpio: Malformed number ^E4

    cpio: Substituting `.' for empty member name

    ?--------- 5039232 root 87884544 0 Jan 1 1970 .

    cpio: warning: skipped 178282 bytes of junk

    cpio: Malformed number 0^A

    cpio: Malformed number 346102^P

    cpio: Malformed number ^R5^V

    cpio: Malformed number

    cpio: Malformed number #ldl9<A0>ar

    cpio: Malformed number mhf.so.3

    cpio: Malformed number <^PLd.so<94>

    cpio: Malformed number <94>

    cpio: Malformed number ibpth<8F><

    cpio: Substituting `.' for empty member name

    lrwxrwxrwx 0 root 54923296 0 Jan 1 1970 . ->

    cpio: warning: skipped 40665 bytes of junk

    cpio: Malformed number 0^A

    cpio: Malformed number 3461D5

    cpio: Malformed number #44'

    cpio: Malformed number 3

    cpio: Malformed number ^T9

    cpio: Malformed number /lib^D

    cpio: Malformed number armmem-v

    cpio: Malformed number 7l.so

    cpio: Malformed number ELF^A^Ai^A1

    cpio: Malformed number ^C

    cpio: Malformed number <EC>^Z!8A-^A<CD>

    -rwxr-xr-x 0 root 54926672 0 Jan 1 1970 p\227K\376\252\252

    cpio: warning: skipped 92411 bytes of junk

    cpio: Malformed number 0^A

    cpio: Malformed number 346102^P

    cpio: Malformed number ^R8^V

    cpio: Malformed number ^Pt<E7>$^A^\^S^D

    cpio: Malformed number ^N

    cpio: Malformed number _595A4<8C>

    cpio: Malformed number ^T^_0<8C>

    cpio: Malformed number .KA^M^PZ2^C

    cpio: Substituting `.' for empty member name

    lrwxrwxrwx 0 root 54923296 0 Jan 1 1970 . ->

    cpio: warning: skipped 221172 bytes of junk

    cpio: Malformed number ^A

    cpio: Malformed number ^A

    cpio: Malformed number 46102^L

    cpio: Malformed number 790C^V

    cpio: Malformed number 3

    cpio: Malformed number ^T6

    cpio: Malformed number /lib^D

    cpio: Malformed number pthread.

    cpio: Malformed number so

    cpio: Malformed number ^A^AO ^Q(<A0>

    cpio: Malformed number "<BC>O<80>^Z!^Lt

    cpio: Malformed number <A9>^A<C0>^E4

    ?--------- 495808 root 4591648 0 Jan 1 1970 \260\227K\376\252\252

    cpio: warning: skipped 49590 bytes of junk

    cpio: Malformed number 00941

    cpio: Malformed number ^?00A1FF0

    cpio: Malformed number ^A

    cpio: Malformed number 4621E^O

    cpio: Malformed number 1^G

    cpio: Malformed number ^_27

    cpio: Malformed number (^BJ' ^N

    cpio: Malformed number .1.0<98>

    cpio: Malformed number ^P_42C7C<98>

    cpio: Malformed number blkid<8A>

    cpio: Substituting `.' for empty member name

    ?--------- 16 root 4596192 0 Jan 1 1970 .

    cpio: warning: skipped 158525 bytes of junk

    cpio: Malformed number 0^A

    cpio: Malformed number 346102

    cpio: Malformed number B45D8^V

    cpio: Malformed number 03

    cpio: Malformed number ^D^T6

    cpio: Malformed number ib^D

    cpio: Malformed number ss_dns.s

    cpio: Malformed number o

    cpio: Malformed number 1^C

    cpio: Malformed number

    <D0>!!<C8>A^A^A

    cpio: Malformed number <CE>^E4

    cpio: Substituting `.' for empty member name

    -rwxr-xr-x 11820416 root 54923296 0 Jan 1 1970 .

    cpio: warning: skipped 373903 bytes of junk

    cpio: Malformed number 0^A

    cpio: Malformed number 003E294^V

    cpio: Malformed number ^Dusr/sbi

    cpio: Malformed number n/iscsis

    cpio: Malformed number tartd/gE

    cpio: Malformed number LF^A^A^A^X^\^R

    cpio: Malformed number (^X^X^R<A3><C8>^T!

    cpio: Malformed number <E4><DD>^E^P<E3>^E4

    cpio: Substituting `.' for empty member name

    -rwxr-xr-x 4073792 root 38130246 7 Jan 1 1970 .

    cpio: warning: skipped 135758 bytes of junk

    cpio: Malformed number 0^A

    cpio: Malformed number 3461DA

    cpio: Malformed number BB724^V

    cpio: Malformed number 03

    cpio: Malformed number ^D^E^X

    cpio: Malformed number <C1><CD><F7>^Afsck

    cpio: Malformed number .fat

    cpio: Malformed number F^A^A^A<86><83>^Q(

    cpio: Malformed number <9C>

    cpio: Malformed number ^B^R<B2><BB>l<B1>4

    cpio: Substituting `.' for empty member name

    -rwxr-xr-x 12284480 root 54926752 0 Jan 1 1970 .

    cpio: premature end of file

    Checked the init script, and will try booting with debugging in the kcmd, hopefully will get more clues what's wrong. If not, I reckon the intramfs is somehow broken.