Posts by chewitt

    Be prepared for most of the addons to break. Seems that Python got upgraded AGAIN to something like 3.01 or something, so now Python 3.0 doesn't work. All of the recently updated to 3.0 addons are broken now (notably six is broken).

    This is not relevant for LE 9.2.x releases which are entirely Python2 based. The Python3 changes only impact LE master (will be LE10 in the future).

    C2 ships with a heatsink which is more than enough for S905 as it never gets particuarly hot - active cooling with fans will not be required unless using something that generates a ton of CPU load. I forget whether the 3.14 kernel supports thermal zones to do more, but if not I am in the midddle of sending a patch upstream to add thermal zones support to all Amlogic GXBB/GXL/GXM devices.

    C2 also has GPIO pins which could be used to interact with external switches and such.. similar to a Raspberry Pi but not as well documented. AFAIK the C2 has no support for ACPI in hardware so not sure that's the direction to chase things in. LE does not package lmsensors but "cputemp" will give you the output from the single (CPU) temperature sensor on the boarad and you can always script around that.

    Code
    (
    sleep 20
    if [ ! -f /storage/boot_cold.log ]; then
      journalctl > /storage/boot_cold.log
    else
      journalctl > /storage/boot_warm.log
    fi
    )&

    create /storage/.config/autostart.sh with ^ that content and then run a full cold boot and warm boot cycle to capture dmesg (without network access) 20 seconds after boot. You can then SSH in and "cat /storage/boot_cold.log | paste" and "cat /storage/boot_warm.log | paste" and share the URLs generated so we can see the logs.

    It sounds like a hardware initialisation issue, i.e. the card doesn't power up right from a cold boot. The logs might show something. They also might not and even if they do there might not be anything we can do about driver probing/ordering issues. Also check for BIOS/firmware updates for the device or motherboard.

    S905X3 devices can be (or should be) recovered from broken boot firmware (e.g. flashed the wrong image) using the Amlogic Burning Tool app and an appropriate firmware image (look on freaktab). You need to connect the box to a Windows PC using a USB > USB cable and flash the image directly to internal eMMC (not NAND). It can be fiddly, but with modern Amlogic devices, unless you cause electrical damage to the eMMC chips there's really no such thing as a bricked box.

    Are you aware that Kodi allows you to define multiple screen keyboards (select more than one in the language picker). If you have multiple on-screen keyboards defined the "English QWERTY" button allows you to switch keyboard without leaving the on-screen setting. You will still need to visit the LE settings add-on to change the physical keyboard, but that should simplify one aspect.

    The other thing I also noticed is that the /etc/resolv.conf that's updated by ConnMan includes name servers from each of the connections. I'd be curious to see if there's a way to have ConnMan only use the name server specified by WireGuard. Otherwise it's using the DNS from my local internet first before going across the VPN.

    I've noticed this but resolving it [sic] is complicated. LE does not use the internal DNS proxy in ConnMan, and ConnMan will add/remove the extra DNS servers from the WireGuard config but will not remove the initial (local network entry) at the same time. ConnMan devs are not iterested in looking into this as they regard /etc/resolv.conf as a legacy approach. LE has no plan to switch back to using the DNS proxy; in the past we found lots of bugs but the main issue was consistent user reports of "My DNS is broken" because the Kodi sysinfo screen (correctly) shows 127.0.0.1 as the DNS server and this is attributed as the source of all network issues by inexperienced users. The fix probably requires LE to move to systemd resolvd but that will be a rather invasive and political change .. won't happen overnight. NB: It's not a well-known fact, but libc will only use the first 3x DNS servers listed, even if more are in the file.

    I've experimented with the following systemd service which has some added Pre/Post calls:

    The /storage/fix_dns_leaks script looks like:

    If you only start/stop the connection at boot time via systemd this script appears to work. If you start connecting/disconnecting the connection via dbus (using the connections screen in the settings add-on) the logic is faulty somewhere and at some point you end up with no DNS servers .. I haven't had time to look into it much further due to work and other time commitments. I'd be happy if others started digging around..