[S905L] Xiaomi Mi Box 4 Community Builds

  • Hello guys,

    Recently, I extracted and ported the DTS for the Mi Box 4 (MDZ-21-AA) from the stock image, adding support for the internal Wi-Fi module.

    Some kernel patches are also required for the Wi-Fi driver. By default, the driver reads the MAC address from the Wi-Fi chip's eFuse, while on the Mi Box 4 the MAC address is actually stored in the SoC's eFuse.

    The images, guides, and patches have all been uploaded to GitHub:

    GitHub - Raspberry-Monster/MiBox4-LibreELEC
    Contribute to Raspberry-Monster/MiBox4-LibreELEC development by creating an account on GitHub.
    github.com

    Feel free to ask questions or point out any issues.

    I'm still learning, so any feedback is welcome. I'll try my best to help.

    Have a good day!

  • raspberry_kan If intending to upstream the device-tree to the kernel:

    * Drop most of the comments from the dts; discussion should be done in a cover-letter or commit description, not code

    * Commits need a 'Signed-off-by' with a real name/email

    * You need to update bindings with information too; learn to run a bindings check against the dts to find errors

    Please note that emmctool support is intentionally for devices that have upstream u-boot support. I'm not inclined to accept any changes that manipulate vendor boot code; there are too many opportunities for 'bricking' devices.

  • @chewitt

    I see. So, if the goal is to eventually add Mi Box 4 support to the official LibreELEC builds and upstream the relevant changes, there are several things that need to be done first.

    The device tree and the rtw88 patches should go through the proper Linux upstream process, including following the kernel commit requirements and running the relevant DT binding/schema checks.

    For emmctool support, the device would also need proper upstream U-Boot support rather than relying on modifications to the vendor bootloader, so that installing LibreELEC to the internal eMMC can be done through a supported boot chain.

    Did I understand this correctly?

    Anyway, thank you very much for the advice. Have a great day!

  • As a general rule we have no problem picking patches submitted to mailing lists into LE kernels as there's a visible commitment to upstream things and we'll be able to drop patches in future kernel bumps. This is all good and normal.

    For boot things, proper u-boot support would be desirable. If the box has a signed bootloader? then that becomes difficult, but I'd look to solve those kind of packaging issues via amlogic-boot-fip and projects/Amlogic/bootloader/{install,release,mkimage} scripts than do on-box assembly with emmctool. I have no knowledge of these boxes though. I did see there's no SD card interface so I guess you are booting from a USB stick?