Posts by scaesare

    In Kodi you can check if X11 is mentioned in Settings -> System Information -> Video.

    From console do cat /etc/os-release.


    Well, it looks like a mea-culpa is in order, that's reporting:

    LIBREELEC_ARCH="Generic-legacy.X86_64"

    I had not recalled having installed legacy on this particular box. That having been said, I am now unsure why 12.2 showed as available for upgrade in the LibreElec settings page on this box, yet it does not for my other Generic-legacy box that's currently on 12.0.2?

    I am assuming that the 12.2 version that was presented as an upgrade was the legacy version... is there any way to tell what was applied?

    Ah that explains the why 12.0.2 didn't choke on the USB storage error.

    Thanks, I will try this.

    One question, is there any way to confirm via the logs that that a machine is not running generic_legacy? I want to double-check my memory before attempting to update.

    I'm looking at the logs from my OTHER box that is running genreic_legacy, and the only hit I have on the word "legacy" is a name resolution error:

    Quote
    Code
    2025-10-27 14:06:36.447 T:972     error <general>: SETTINGS: load_url # Error loading url: https://update.libreelec.tv/updates.php?i=6c062aee00a7e558a44043d16277f4e3&d=LibreELEC&pa=Generic-legacy.x86_64&v=12.0.2&f=i915 Reason: [Errno -3] Temporary failure in name resolution

    Seems like your USB drive is broken:

    Code
    Oct 25 14:46:06.970019 LibreELEC kernel: usb 1-4: new full-speed USB device number 3 using xhci_hcd
    Oct 25 14:46:06.970053 LibreELEC kernel: loop0: detected capacity change from 0 to 895184
    Oct 25 14:46:06.970070 LibreELEC kernel: EXT4-fs (sda2): mounted filesystem 8de60d34-0ca3-45d0-a6cb-056f4e2bf5d6 r/w with ordered data mode. Quota mode: disabled.
    Oct 25 14:46:06.970088 LibreELEC kernel-overlays-setup: setup base modules
    Oct 25 14:46:06.970277 LibreELEC kernel: usb 1-4: string descriptor 0 read error: -22
    ...
    Oct 25 14:46:09.774888 KODI-FR kernel: usb 1-4: string descriptor 0 read error: -22

    Ah interesting... I see that error a couple of times in the log.

    Strange that wasn't causing 12.0.2 to choke, but as soon as I upgraded to 12.2 it did. Whatever was stored on those blocks previously (if anything) must have not gotten exercised much, if at all.

    Thank you again for the help on this... guess it's time to retire this rather old box...

    The job running indicates there is no network connection (as you assumed). Temporary work around may be using ethernet but commands can be typed blind even with this message..

    Without network you can store pastekodi output locally with pastekodi -c >log.file and upload it later with paste log.file


    Thanks for this. I booted the failing 12.2 install (that loops starting the GUI and no network) and used the debug console to generate a log file, then rebooted the USB 12.2 installer (that does start the GUI & net) and pasted it here:

    https://paste.libreelec.tv/adjusted-foal.log

    Incidentally, the borked 12.2 install actually doesn't even show my wired network interface in ifconfig, just lo and wlan0

    With adding systemd.debug_shell parameter to the APPEND line you do get a debug shell on console 3. Press <Ctrl><Alt><F3> to select it. Switch back to X or default console with <Ctrl><Alt><F1>. The debug console is accessible too when booting the USB install stick into installer.

    For testing multiple boot configurations can be used in syslinux. cfg. Replace the PROMPT 0 line with e.g. (using your UUIDs):

    Code
    PROMPT 1
    TIMEOUT 50
    
    LABEL txt
      KERNEL /KERNEL
      APPEND boot=UUID=$UUID1 disk=UUID=$UUID2 textmode

    and you can select textmode at boot with typing txt


    Ah thanks... so added that to the 12.2 build syslinux.cfg file, and when switching to the debug console it shows it successfully staring kodi.service, and then just hangs on:

    Job wait time-sync.servce/start running

    It's been sitting here for 7+ minutes now and it says there's no time limit.

    I eventually killed the process. Running "pastekodi" at this point just returns a prompt with no response or URL.

    OK, I removed the 'quiet' flag and added 'textmode' and 'ssh" flags to syslinux.cfg on the internal SSD, and it boots 12.2 successfully to the shell. Pastekodi yields: https://paste.libreelec.tv/smooth-squirrel.log

    I then removed 'textmode', and while watching it boot I can see it starting sshd, but again it starts the graphics subsystem and gets into a loop. Interestingly I cannot ssh into it at this point. What's more, there's no DHCP lease on my server.

    So while it's not a reboot loop, whatever it's choking on seems to prevent it from obtaining an IP address. Hence, I cannot get in to it to generate logs via pastekodi. If I boot it via USB and ssh into it, can I grab the logs from the failed graphics shell boot and put them somewhere?

    I'm not sure whether Chromeboxes boot using syslinux or EFI boot, but the boot menu is in the syslinux.cfg file (for syslinux) or a file under the EFI directory for EFI. Both files are human readable and you should be able to edit the boot menu to change the default option from install to live, then you don't need to hit a key. You can also place "textmode" somewhere in the list of boot params and the box will boot to a text console instead of Kodi. That's sometimes useful for narrowing down whether it's the kernel that causes the problem or not. If the OS is usable then the issue probably lies in the userspace side of the graphics stack and if you manually start Kodi via its systemd service while also accessing via SSH to tail logs, you might get some clues. Adding "ssh" to boot params forces the daemon to start.

    Got back from travel, and had a chance to do this. Appended "SSH" to the "run" option to boot the 12.2 installer on USB using RAM for storage, I was able to SSH in. The internal SSD is sdb and on in the .kodi/temp/kodi.log I find:


    2025-10-13 17:09:20.550 T:1099     info <general>: CAESinkALSA::Initialize - Attempting to open device "hdmi:CARD=HDMI,DEV=0"
    2025-10-13 17:09:20.571 T:1099     info <general>: CAESinkALSA::Initialize - Opened device "hdmi:CARD=HDMI,DEV=0,AES0=0x04,AES1=0x82,AES2=0x00,AES3=0x00"
    2025-10-13 17:09:20.572 T:1099     info <general>: CAESinkALSA::InitializeHW - Your hardware does not support AE_FMT_FLOAT, trying other formats
    2025-10-13 17:09:20.572 T:1099     info <general>: CAESinkALSA::InitializeHW - Using data format AE_FMT_S32NE
    2025-10-13 17:09:25.483 T:1087     info <general>: Saving exitCode 66
    2025-10-13 17:09:26.069 T:1087     info <general>: Quitting due to POSIX signal
    2025-10-13 17:09:26.086 T:1087     info <general>: Stopping the application...
    2025-10-13 17:09:26.086 T:1087     info <general>: Stopping player
    2025-10-13 17:09:26.086 T:1087     info <general>: Storing total System Uptime
    2025-10-13 17:09:26.086 T:1087     info <general>: Saving settings
    2025-10-13 17:09:26.090 T:1087     info <general>: Saving skin settings
    2025-10-13 17:09:26.090 T:1087     info <general>: Stopping all
    2025-10-13 17:09:26.090 T:1087     info <general>: ES: Stopping event server
    2025-10-13 17:09:26.155 T:1115     info <general>: ES: UDP Event server stopped
    2025-10-13 17:09:26.198 T:1122    error <general>: Exception ignored on calling ctypes callback function
    2025-10-13 17:09:26.198 T:1122    error <general>: :
    2025-10-13 17:09:26.198 T:1122    error <general>: <function Connection.add_filter.<locals>.wrap_function at 0x7f79e0df70a0>
    2025-10-13 17:09:26.198 T:1122    error <general>:

    2025-10-13 17:09:26.198 T:1122    error <general>: Traceback (most recent call last):

    2025-10-13 17:09:26.198 T:1122    error <general>:   File "/usr/lib/python3.11/site-packages/dbussy.py", line 2616, in wrap_function

    2025-10-13 17:09:26.199 T:1122    error <general>:   File "/usr/lib/python3.11/site-packages/ravel.py", line 2036, in _message_interface_dispatch

    2025-10-13 17:09:26.199 T:1122    error <general>:   File "/usr/share/kodi/addons/service.libreelec.settings/resources/lib/dbus_bluez.py", line 70, in Release

    2025-10-13 17:09:26.199 T:1122    error <general>: NotImplementedError
    2025-10-13 17:09:26.199 T:1122    error <general>: :
    2025-10-13 17:09:26.199 T:1122    error <general>:
    2025-10-13 17:09:26.199 T:1122    error <general>:

    2025-10-13 17:09:26.270 T:1087     info <general>: CWSDiscoveryListenerUDP::Stop - Stopped
    2025-10-13 17:09:26.270 T:1087     info <general>: stopping zeroconf publishing
    2025-10-13 17:09:26.280 T:1113     info <general>: SETTINGS: stop_service # ## LibreELEC Addon ## STOP SERVICE DONE !
    2025-10-13 17:09:26.280 T:1127     info <general>: SETTINGS: run # updateThread Stopped
    2025-10-13 17:09:26.280 T:1128     info <general>: SETTINGS: run # Received exit
    2025-10-13 17:09:26.692 T:1087     info <general>: Application stopped
    2025-10-13 17:09:27.276 T:1087     info <general>: AddOnLog: peripheral.joystick: Disabling joystick interface "linux"
    2025-10-13 17:09:27.276 T:1087     info <general>: ADDON: Dll Destroyed - Joystick Support
    2025-10-13 17:09:27.276 T:1087     info <general>: unload skin
    2025-10-13 17:09:27.291 T:1087     info <general>: Unloaded skin
    2025-10-13 17:09:27.321 T:1087     info <general>: unload sections
    2025-10-13 17:09:27.323 T:1087     info <general>: CWSDiscoveryListenerUDP::Stop - Stopped
    2025-10-13 17:09:27.934 T:1087     info <general>: Exiting the application...


    This appears to be choking after attempting to initialize graphics hardware. Interestingly the 12.2 installer booting from USB boots in to it's GUI just fine...


    Do you use the same BIOS settings in both boxes?

    Yes. There are practically none.

    Thanks again for the response...


    Perhaps I'm missing something, but as I mentioned above:

    Quote

    ...when booting that (using either "run" or "live"), it wants to run the Install Wizard with no obvious way to break out of it..


    According to the LibreELEC boot menu:

    "run" = booting using RAM for temp storage

    "live" = booting using the USB for temp storage.


    Both run Kodi, however, ... and then auto-start the install wizard, with no apparent way to exit out of it and/or drop to a shell, enable, SSH, etc...

    I guess I'll see if I can build a generic Linux boot USB and see I can then mount the Chromebox's internal SSD and edit syslinux.cfg unless I'm simply missing something about how to exit the Install Wizard...


    Thanks.


    I think your GPU is not supported on any Linux:

    How do you explain it working on 12.0 then ???


    Yeah, it's been working for several years, and was on 12.0.2. It was one of the devices listed on Mr. Chromebox's page and I used his script to flash the firmware & install LibreELEC.

    As I mentioned in my original post, I can't ping it nor SSH in to it... as a matter of fact looking at my DHCP server I don't see a lease for it..., so feels like it's rebooting very early in the process...

    I had already imaged 12.2 on to USB boot media. and when booting that (using either "run" or "live"), it wants to run the Install Wizard with no obvious way to break out of it (ESC, nor CTRL-C work) to enable SSH ...

    Thanks for the response and guidance...

    Following up on this...

    I dug out another identical Chromebox CN60 I had x86 generic_legacy 12.0 on. For it, there is no 12.2 Update Channel listed in the settings app, but did have an 12.0.2 available version. I updated to that, and after reboot, still had no 12.2 listed as a Channel or available as a version.

    It does turn out that "legacy" is only called out in the "About" pane of the settings app not the Update Channel name as I had thought. However, the fact that 12.2 was not available on the generic_legacy installation but had been on the one stuck in the loop tends to reinforce the borked one was indeed not a legacy install.

    I can get into the BIOS boot menu, so could ostensibly boot from alternate media (USB or file?). But if that doesn't buy me anything, then I may have to just re-install...

    I installed 12.2 non-legacy via the LibreElec setting app as outlined on THIS page:

    Quote

    Users with 12.0 installs, or 11.0 installs on x86_64 hardware, can manually update as normal using the LibreELEC settings add-on or by placing an update file in the /storage/.update folder.


    In the settings app I selected the 12.2 channel, and it showed as available. This is the same process I've used to upgrade a number of times on this box. I believe if it HAD been legacy (as I had to do on another box) the channel name in the settings app would have specified that?

    It's an ASUS Chromebox CN 60 as described HERE. It uses an Intel 2955U CPU with integrated Intel (not NVIDIA) graphics.


    Thanks for responding and any help.

    So, I upgraded my ASUS Chrome box to 12.2 (from 12.02) via the LibreElec settings page.


    After successfully unpacking the .TAR file and updating the kernel and system, after the first reboot and splash page, I get no GUI, but rather a pointer, that flickers and reappears every few seconds... as if the graphics subsystem is in a restart loop... apparently the network isn't up either as I can't ping it SSH into it. Subsequent reboots do no good.. same behavior.

    Any thoughts or suggestions?

    Cool.. used that method to grab the EDID with the AVR, and it now works even with the projector connected. Thanks.

    One thing I notices (and I didn't describe in my initial post as it wasn't a factor regardless of connection state), is that a monitor that attaches to the second video port (DisplayPort alongside the HDMI) running in mirror mode seems to now overscan a bit.

    I suspect it may be possible to grab the EDID data with the DisplayPort monitor attached/detected and make that work... or if not, grab the EDID's from each attached separately and merge them...

    Got a chance to try dumping the EDID stuff. Sure enough, whenever just the AVR is the only device plugged in to the splitter, I see the various multi-channel audio capabilities it has in the audio data block of the EDID data.

    When the projector is also plugged in to the splitter, the AVR data goes away and just the 2 audio channels of the projector are in the Audio Data Block. Swapping output ports on the splitter makes no difference.

    So, this begs the question: is there any way to manually specify what/where to send the audio data.

    Failing that, any recommendation for a better behaving HDMI splitter + analog audio extractor?

    EDID dumps attached

    Thanks.

    So, searching, I've not found anything that already addresses this.

    I have the X64 flavor of LibreELEC (10.0.0.3 Matrix) running on a Chromebox. This is connected to an HDMI splitter (and audio extractor), in turn feeding an AVR and projector.

    Whichever device that is plugged in the "first" HDMI output port of the splitter is what is detected in the System/Settings as the audio device.. I currently have my AVR plugged in to that port, so that's what's reported as HDMI0: "AVR"

    What's odd is that if the projector (on the second port, not detected by LibreELEC), I get no sound from the AVR connected via HDMI. If I power the projector off... I get audio.

    Swapping ports (and the projector thus being detected on HDMI0) likewise renders no sound routed to the AVR, as I would have expected. in both cases I get video on both output ports.

    So... any thoughts as to why even thought the AVR is what is being detected, the mere presence of the projector on the other (non-detected) port screws this up? The projector actually does have audio capabilty (RCA jacks), so my guess is that for some reason audio is being routed there regardless...

    The previous 2 devices connected to the same splitter (both Windows PC's) had no such issue, so I know the devices are capable of it....

    Thanks.

    As said check /var/log/Xorg.0.log. E.g. if the configuration is accepted and how the touchpad is configured

    It appears that the touchpad is configured as a MS Nano Transciever Mouse:

    KODI-FR:/var/log # cat Xorg.0.log | grep mouse

    [ 5.250] (==) intel(0): Silken mouse enabled

    [ 5.513] (--) evdev: flirc.tv flirc Consumer Control: Found 1 mouse buttons

    [ 5.513] (II) evdev: flirc.tv flirc Consumer Control: Configuring as mouse

    [ 5.575] (--) evdev: Microsoft Microsoft® Nano Transceiver v2.0 Mouse: Found 9 mouse buttons

    [ 5.575] (II) evdev: Microsoft Microsoft® Nano Transceiver v2.0 Mouse: Configuring as mouse

    [ 5.577] (II) config/udev: Adding input device Microsoft Microsoft® Nano Transceiver v2.0 Mouse (/dev/input/mouse0)

    [ 5.578] (II) evdev: Microsoft Microsoft® Nano Transceiver v2.0 Consumer Control: Configuring as mouse

    [ 5.580] (--) evdev: Microsoft Microsoft® Nano Transceiver v2.0 Consumer Control: Found 1 mouse buttons

    [ 5.580] (II) evdev: Microsoft Microsoft® Nano Transceiver v2.0 Consumer Control: Configuring as mouse

    [ 5.582] (II) evdev: Microsoft Microsoft® Nano Transceiver v2.0 System Control: Configuring as mouse

    Any ideas on disabling touchpad click , or is the suggestion chewitt made of custom image the only real option?