Posts by chewitt

    There's some simple runtime logic for "if this doesn't exist on /storage, create dirs and copy from SYSTEM" so there's always the option to stash the QQ customisations inside the image and if e.g. /storage/.kodi/addons/skin.custom doesn't exist, unpack and create them without the user ever needing to transfer things over SMB. It would be quite simple to maintain customisations in a GitHub repo and add them to the image with a custom buildsystem package under packages/oem which works the same as the packages/virtual location. Also not complicated to check versions of things on /storage and use the same mechanism to update items statically instead of using an online 'repo' for things. In some ways LE is difficult because it's different. In others (and once you understand the mechanisms) is really rather flexible and simple.

    I've not tried booting Hub/Play2 from each others images so can't guarantee that works. If you erase emmc so the board boots from SD card it's safe to experiment though. If you write the wrong image to emmc and there's an issue, it's not impossible to resolve but hope you like dismantling things and shorting pins on the emmc chips to temp disable them and boot from SD card again; as that's what'll be needed. I'm up to my neck in some Rockchip work at the moment, but test on SD card and if that works and you want the right image to write to emmc, I'll find some time to go build one.

    No idea on UART levels as I have a generic USB to DB9 adapter (cheap on Amazon) for those boxes. The only annoying thing is one of the cables WeTek shipped (can't remember which) is fema1e DB9 not ma1e, but that's solveable with a gender bender.

    Does the AVR have a TV connected to it too? If yes, switch the AVR to that output and see if audio works (it should). If yes, capture the EDID data of that source with "getedid create" over SSH and then reboot. The RPi4 will now see that TV and its audio capabilities as always connected. Now see what happens when you switch the AVR to the projector. Audio will either continue to work, or it won't.

    If there is no TV connected to the AVR the same thing can be done by going mobile with the RPi4 and connecting it directly to a TV somewhere to capture its EDID data. You need to run the command over SSH so might need to connect the RPi4 to WiFi if there's no Ethernet nearby. It's slightly fiddly to setup but not that hard to do, and tt's $free to test.

    RPi5 will be the same as an RPi4 board (and all modern hardware).

    The description doesn't make sense to me. However, in most cases when users report "device hangs on boot" or similar the OS is running happily in the background but for some reason the connected TV is not liking the current display mode resulting in a blank screen (hence the appearnace of boot hanging) instead of showing the Kodi desktop. That can normally be worked around by adding video=HDMI-A-1:1920x1080M@60D to the line of kernel boot params in cmdline.txt to force the initial kernel DRM output state to 1080p@60Hz which generally works.

    If SSH was enabled in the OS before it should be running so you can login to remount the boot partition in read-write mode and edit the boot params:

    Code
    mount -o remount,rw /flash
    nano /flash/cmdline.txt                   <= edit to add the video= line

    If not enabled before, you can create an SD card with "ssh" added to cmdline.txt so you can login and mount the boot partition of the NVME drive to edit its version of the boot params in cmdline.txt, e.g.

    Code
    mkdir /var/media/BOOT
    mount /dev/nvme0n1p1 /var/media/BOOT
    nano /var/media/BOOT/cmdline.txt          <= edit to change boot params

    If the device is really not booting at all with an NVME related message on-screen, please snap a picture of the message with a mobile phone and share it here or upload somewhere so we can see it. If it's only on-screen briefly most phones can take a slow-motion video allowing you to replay and spot the message; either taking a still from the video or transcribing the text to share it long-form. In short; please share the message so we have a clue to work with.

    RPi5 boards will not boot from NVME devices without some additional configuration. If booted from LE on an SD card:

    Code
    RPi5:~ # mount -o remount,rw /flash
    RPi5:~ # nano /flash/config.txt
    
    dtparam=pciex1              <= add to bottom of config.txt
    dtparam=pciex1_gen=3        <= optional, enables faster speeds

    Next you have to tell the EEPROM on the board to change the boot order:

    Code
    RPi5:~ # rpi-eeprom-config --edit
    
    BOOT_ORDER=0xf416           <= change the BOOT_ORDER line to this
    PCIE_PROBE=1                <= might be needed with older HAT devices (try without first)

    However, if the goal is to boot LE from the NVME drive, it needs to be configured with TWO partitions; one for boot files and one to be used as the persistent /storage area. If the drive is currently partitioned with a single partition and filesystem (containing some media) this is easiest done by copying media off the drive, booting LE from SD card, copying an LE image to /storage then writing it to the NVME drive using dd to effect a clean install; and then copying media back to the drive. Resizing and moving filesystems and partitions to avoid the need for moving media around can also be done, but it's not a trivial task to do from the console.

    If you are fine booting LE from the SD card and simply want to use the device as extra storage that's no drama. Run pastekodi and mount | paste from the SSH console then share the URL(s) generated so we can check the drive mounted correctly and see where it mounted within the filesystem; the usual location is /var/media/<label> if the drive is named/labeled or /var/media/<UUID> if there is no name/label and the UUID is used instead.

    Your initial description implied the OS auto-updating from an older LE major version to LE12 and this is 100% not possible. LE (and OE before it) have never supported major version auto-update. I've also checked the update back-end that controls this and nothing has been misconfigured.

    Auto-updating from an older LE12 release to the current LE12 release is of course possible, but in this scenario the NTFS drivers do not change between releases (both use in-kernel NTFS3) so a difference in mount behaviour is unlikedly to be kernel/driver related and more more likely to be the result of a change in drive state; and the perennial problem with NTFS formatted drives (which is not an excuse and happens no matter which driver is used) is a dirty filesystem. The second most popular reason with external drives is the power/current draw on the USB ports/bus and that can be challenging to triage. You can try connecting to different USB ports; ideally placing the drive on a different internal hub to other USB connected devices. If the drive is not externally powered, also try using an external (powered) hub.

    If everything just magically works on an older LE release (using NTFS-3G) this implies the driver change that occured between older releases and LE12, but this is only possible via manual update which you are adamant didn't happen. Regardless; as mentioned in a previous post, you can revert to using the NTFS-3G driver by installing the add-on from the LE12 repo and rebooting.

    NB: Linux intentionally fails to mount at the merest hint of a drive issue to avoid potential damage. Windows generally makes every attempt to keep mounting the drive to keep data available and users happy, and rarely flags any problems until the drive just stops working completely. Hopefully that's not the case though. If you want any further comment run "dmesg | paste" on the LE12 system so we can see what mount failure message are in the system log.

    LE will auto-mount a USB drive under /var/media/<disklabel> if the disk has a lable, or /var/media/<UUID> if not. If you plan to copy files over the network via SMB or SFTP we would strongly recommend using a Linux native filesystem like EXT4.

    You cannot format an EXT4 drive from Windows because it doesn't understand Linux partitions, but the Linux commands to run from the SSH console are not complicated. Assuming the USB drive is /dev/sdb and USBDRIVE is the label to set:

    Code
    parted -s /dev/sdb mklabel gpt
    parted -s /dev/sdb -a min unit s mkpart USBDRIVE ext4 34 100%
    mkfs.ext4 /dev/sdb1
    e2label /dev/sdb1 USBDRIVE

    This will nuke the existing contents of /dev/sdb so you need to check the drive is /dev/sdb first. If the PC has one internal SATA drive with LE installed this will normally mount first and be /dev/sda, so /dev/sdb is an educated guess.

    If you need the option to connect and add files directly from Windows then it must be formatted as exFAT or NTFS; both of which have occasional challenges as Linux currently lacks tools for performing filesystem checks on boot to clear things like a dirty filesystem state; typically caused by not ejecting the drive cleanly under Windows or sudden power-loss events on Linux when power is pulled. So if that state occurs and the drive doesn't mount, the state can only be cleared under Windows using chkdsk.exe. This issue will go away with Linux 7.1 in future LE releases when Linux gains the missing tools.

    My Raspi 3B+ just updated Libreelec on its own to version 12

    That's a false statement. LibreELEC will auto-update to a new minor release, e.g. 12.0.0 to 12.0.1, but never to a new major release, e.g. 11.0.0 to 12.0.0 or 12.0.0 to 12.2.0; so either someone manually updated using the LE settings add-on, or manually updated by downloading the newer release image file to the /storage/.update folder and rebooting.

    In LE 12.0+ the NTFS filesystem drivers changed from the userspace NTFS-3G driver to a native in-kernel driver and this is sensitive towards a dirty filesystem state; typically caused by not ejecting the drive cleanly in Windows before moving over to the RPi or by hard power pulls on the RPi. Linux will not mount a dirty filesystem to prevent data loss. Unlike native Linux filesystems like EXT4 which can be checked/fixed on boot using "fsck" there are currently no equivalent tools so clearing a dirty filesystem state can only be done on Windows using chkdsk.exe.

    So, try clearing the dirty state on Windows first. If this doesn't work something else is up/bad/broken with the drive and we'll need to see the system log (not Kodi log) to look for error messages. If it does work but the issue keeps repeating, you can revert to the NTFS-3G driver by installing the NTFS-3G driver add-on from the LE add-on repo.