Posts by chewitt

    The wireless module is top-left on the PCB (below the cut-out). I can't see the model markings on the chip, but the Realtek "Crab" is visible and that explains the lack of WiFi probing on the device. It's an older Realtek chip not supported in the upstream kernel (because if it was, it would probe) and LE does not add Realtek vendor drivers as they're a pain in the rear to maintain over time. They do exist though, and you could always self-build an image with the driver embedded. The BT side of the module is serial (not SDIO) and in some cases there is support for the BT part but not WiFi (as they are different drivers) but for that we need to know the specific chip model as the "compatible" string in device-tree determines which driver and how it loads. The photo isn't high-enough resolution to see the model details, and they're often a bit fuzzy to start with.

    NB: Logs from a vendor kernel boot (Android or CE) will probably show more clues about WiFi/BT chip details, although the multi-vendor DHD driver that's used in Amlogic kernels does obscure the info a bit.

    HDMI audio is dependent on the OS seeing the EDID data needed to determine audio properties. Does LE work when booted natively on the hardware (not being forced via UNRAID)? If yes, the problem lies with how UNDRAID handles the pass-though of hardware.

    NB: LE does not (and never has, and has no plans to) support being used via Hypervisors so while it might work sometimes, it's not something we seek and there could be other things missing.

    Anyways, the point of this meandering is to share that toothpick method can kill eMMC installs depending on whether they use the instaboot partition in a similar way.

    LE boot scripts don't touch partitions at all, but if the boot processes aml_autoscript then we're changing the boot flow stored in the u-boot environment to use our scripts, which will "break" legacy distro booting due to them using kernel.img not KERNEL and more. Some of these differences are intentional; partly to align with LE standard namings, but also because we (me) don't want users "updating" from all kinds of unknown legacy images to AMLGX and then showing up with tricky-to-solve support issues. Boot is already "fun" before you factor in large Kodi major version bumps and the Python2 to Python3 change which causes add-on carnage. Forcing clean installs is just a sensible move.

    1. Most S905X boxes follow the reference boards quite closely and all use internal PHY ethernet so it's hard (but not impossible) to get a non-booting box, but that assumes you can trick the box into booting LE (some require non-standard boot tricks) and things can go wrong with cheap emmc/ram parts. You might not get WiFi/BT if non-Broadcom parts are being used.

    2. Once you initiate recovery boot to load LE the u-boot environment is tweaked to use LE boot files (else it won't boot). If you remove the SD card (or USB) and force recovery boot again it should rediscover the AE install. You can't swap between distros solely by removing the SD card.

    3. AE contains embedded tools whose primary/sole purpose is the consumption of pirated content. That's the main objection. AE's creator also leeches 99% of their distro from others without preserving attribution and licensing (so it appears to be their meisterwerk, when in fact it's the work of others). In FOSS circles that's disrespectful, but kind of normal/expected in the pirate box space.

    I have fuzzy recall that it defaults to only allowing access from the local host, so clients elsewhere on the network will be blocked until that's changed to allow access from anywhere. I'm not 100% sure on that, but something to check.

    It doesn't really matter whether it's the original Android kernel, or CE, or another LE release. As long as it clearly shows what make/model of WiFi chip is inside the box. The alternative is a clear picture of the board to see the SDIO module markings. The fact it doesn't probe Broadcom or QCA9377 drivers makes me think it's a Realtek chipset; so I'll warn in advance that if it requires vendor drivers that aren't in the upstream kernel I will have no interest in adding them to LE images.

    There are hundreds of manufacturers of boxes branded "MXQ" so that's not going to enlighten us on WiFi specs. And lshw only shows the items that we described in device-tree so that doesn't help either. Things that would help are high-res pics of the board inside the box so we can see the chips being used, and the boot log (dmesg) from the original vendor kernel.

    Anything that starts with "meson-gxbb" is a candidate. No value in trying others (won't work). As for WiFi, please share the Brand/Model of the box (hoping it's not something super-generic) and the URL from "pastekodi" so I can see what state things are in. If you have pics of the board inside it can help with chip guessing.

    You don't need to execute the app as root, but Linux ultimately requires that privilege to reimage the target device so once you reach the point of writing the app must prompt for (sudo) rights. Users with a Linux desktop OS tend to be more technical in nature and thus less fazed with using dd or the need for root privs (which are unavoidable) and it's similar to a lesser extend with macOS. The goal of the tool has always been to simplify the process of acquiring and writing the latest version, and we'd prefer to make the current tool work than have different tools for different OS (consistency is good for users).

    Unfortunately shared Qt builds are simple. Static is something else :)

    BBR is not set in the 6.1 kernel either. To enable support and make an image for testing you will need to self-build an image.

    See: https://wiki.libreelec.tv/development/build-basics

    If you feel the distro defaults should be changed, you'll need to send a pull-request to our main GitHub repo with the required changes and a detailed explanation for why we need to change things. We're not adverse to changing defaults when there's a good reason, but you will need to impart and if necessary educate people on use-cases for/against and why the change is a good reason.

    Code
    echo "options i915 enable_fbc=1 enable_guc=3" > /storage/.config/modprobe.d/i915.conf
    reboot

    That ^ will create a modprobe conf file with that content and reboot the system. The contents of /storage/.config/modprobe.d/ are overlaid onto /etc/modprobe.d during system start.