Posts by chewitt
-
-
It would be nice if connman supported direct use of the configs natively exported from WG servers, but that doesn't currently exist.
-
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.
-
If using the whitelist, do you have 25/29.97/30 modes listed? .. If yes, do things improve when you remove those (leaving 50/5.9.94/60)?
-
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.
-
I suppose this won't happen now until a Kodi-19 based release?
Correct. LE master is already on 5.4 or 5.5.
-
-
You can fix BT support .. run the commands I posted from the SSH console (read Accessing LibreELEC [LibreELEC.wiki] if that's alien).
You cannot fix WiFi support .. this requires the image to be recompiled with different kernel coniguration options.
milhouse, can you do a test image with those defconfig changes?
-
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:
Code
Display More[Unit] Description=WireGuard VPN Service After=network-online.target nss-lookup.target connman-vpn.service Before=kodi.service [Service] Type=oneshot RemainAfterExit=yes ExecStartPre=/bin/sh -c '/storage/fix_dns_leaks StartPre' ExecStart=/usr/bin/connmanctl connect <service_name> ExecStartPost=/bin/sh -c '/storage/fix_dns_leaks StartPost' ExecStop=/usr/bin/connmanctl disconnect <service_name> ExecStopPost=/bin/sh -c '/storage/fix_dns_leaks StopPost' [Install] WantedBy=multi-user.target
The /storage/fix_dns_leaks script looks like:
Bash
Display More#!/bin/bash # SPDX-License-Identifier: GPL-2.0 # Copyright (C) 2020-present Team LibreELEC (https://libreelec.tv) case $1 in StartPre) mkdir -p /storage/.cache/wireguard cp /run/libreelec/resolv.conf /storage/.cache/wireguard/resolv.conf ;; StartPost) LOCALNS=$(egrep '192.168|172.16|10.' /run/libreelec/resolv.conf | awk '{print $2}') for NS in $LOCALNS; do sed -i /${NS}/d /run/libreelec/resolv.conf done ;; StopPost) cp /storage/.cache/wireguard/resolv.conf /run/libreelec/resolv.conf rm /storage/.cache/wireguard/resolv.conf ;; esac
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..
-
I'll add the rtlwifi/rtl8192eu_nic.bin firmware in the next batch of changes that I push.
-
You probably need to create an IR keymap.
-
/storage/.cache not /storage/.config .. there will be subfolders for the connman service name and then a settings file
-
I repurpose Apple A1rport Express basestations as cheap WiFi > Ethernet bridge devices. I get better range and performance than any USB device that I've ever used and there are no drivers involved so it works on all kernel versions and any device with an Ethernet port.
-
You're wrong. One setting is in the OS and our settings add-on controls that. The other is entirely within Kodi and the Kodi setting controls that. Kodi does not have code for controlling our background service (which looks like an add-on but is still external to Kodi and has no API) and while Kodi has APIs our settings add-on deliberately doesn't attempt to figure out the relationship between supported OS and GUI language. For example, Generic x86_64 hardware has different keyboard languages and layouts to Raspberry Pi which has a more limited range of supported options.
I'm not saying it cannot be done .. but it's not a straightforward thing. So far it appears the ~70% of project staff who are not native English speakers are okay with the inconvenience of setting it in two places during setup. Unless that changes, the status quo will remain the same.
-
-
Code
mkdir -p /storage/.config/firmware/mrvl wget -O https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/mrvl/sd8897_uapsta.bin /storage/.config/firmware/mrvl/sd8897_uapsta.bin reboot
^ that should get the BT device working - dmesg shows the firmware is missing in our Generic image, and since this is an SDIO module (M2 interface according to Google) there are no drivers in our current kernel. The WiFi probably needs the following kernel defconfig options enabling:
CONFIG_MWIFIEX=m
CONFIG_MWIFIEX_SDIO=m
See Linux Kernel Driver DataBase: CONFIG_MWIFIEX: Marvell WiFi-Ex Driver
ping milhouse