Posts by tkocou

    Equipment: RPi4 running LE 10.0.2

    I had a peculiar streaming video buffering issue. I would be watching video addon #1, then switch to video addon #2. After switching to video addon #2, any videos selected for viewing would have terrible buffering. Rebooting LE would fix the problem.

    The reverse was true as well. Switching from video addon #2 to video addon #1, video addon #1 would experience terrible video buffering. Rebooting LE would fix the problem until I switched to a different streaming addon.

    After a lot of troubleshooting, I determined that the root cause was in LE.

    Solution: For some unknown reason, the networking setting of LE was using both the wired connection as well as the wireless connection. I turned off the wireless connection and used only the wired connection. The video buffering issue went away. While I have not verified this, I suspect that unplugging the wired connection and using the wireless connection would have fixed the video buffering issue as well.

    Pretty sure 8GB is overkill for LibreELEC, 2GB should be absolutely fine. Decoding video really doesn't use much memory, and the JeOS itself is very light on resources.

    It is only a recommendation, not a mandatory thing. True that 8GB might be considered overkill, until one finds an addon which dies in the 2GB RPI due to lack of memory. The other consideration is this: has anyone successfully upgraded a 2GB RPI to a 4GB (or 8GB) RPI without replacing the unit? It is better to have more memory and not need all of it than to need more memory and not have it available.

    If you decide to go with a RPi4, I recommend the 8GB board. Linux, in general (to include LE), runs faster with more memory. So software decodes work better. Also, give due consideration to the cooling of the RPi4 as it will get very warm without adequate cooling.

    RPI 4 hardware. The overall upgrade from LE9 went relatively smoothly. However, the one addon, Amazon VOD, has dependency issues. I did some research on the issue. The Amazon VOD addon is dependent on the "Soup Sieve and BeautifulSoup" modules and both have dependency issues with xbmc.python. Soup Sieve is looking for xbmc.python version 2.26.0. BeautifulSoup is looking for xbmc.python version 2.25.0.

    Question 1: LE10, what version of xbmc.python does LE10 ship with?

    Question 2: Is there a way to resolve the xbmc.python dependency with the mentioned modules (by upgrading, perhaps)? Or do I need to register the dependency problem with the creator of Amazon VOD addon?

    I do have a paid account with Amazon Prime.

    Could you be more specific? Do you mean that using only one USB3 port does not hinder the performance but using both USB3 ports might affect overall performance?

    what kind of performance issues are seen? I mean does it affect Kodi UI rendering performance or file transfer etc.?

    I'm curious as I use USB SSD with full UAS support and I have both USB3 ports in use and I have not yet really observed any performance loss, I might just have missed it :)

    This limitation is ONLY for the Argon One case using an external HD with the internal SSD. I suspect that the SSD requires the full bandwidth afforded by the USB3 port. Thus my advise is to exclude the second USB3 port.

    If you plug in the external HD into the second USB3 port, anytime you play a video file from the external HD, the video player software exhibits a "stop and go" behavior. The same behavior happens with streaming video from Netflix or Amazon Prime or HBO plus, etc.

    If you are using a different hardware arrangement, then the USB3 port probably won't be an issue.


    The tutorial makes more sense if you watch the referenced videos first.

    At the time that I wrote this article, I used an extension USB cable. I did not have a 'A' plug to 'A' plug cable. An 'A' to 'A' cable can be purchased from Amazon.com. The reason for using an 'A' to 'A' cable is to treat the SSD like a thumb drive on your desktop / laptop computer. Due to the physical port of the Argon One case, You cannot just plug in a standard USB cable.

    If you viewed the videos, you would know that the first time the Raspberry Pi 4 is configured for booting from USB, the Raspberry Pi 4 will attempt multiple times to boot from an SD card. Once it determines that the SD card is missing, then it goes to the USB drive (SSD drive in the Argon One case). Thus the appearance of not booting and then magically booting.


    The default speed of the fan in the Argon One case is fairly quiet. Do you need to modify the case? I'm using the case "as is" and it acts a a very good heat-sink for the Raspberry Pi 4. My opinion only, no need to modify the case. Up to you whether to modify or not.


    Pi hut sell an WD Green M2 240GB SSD for this set up, I didn't need that much capacity so goa a 120GB, don't know if the Pi4 has a maximum capacity it can see. Haven't got around to the build jet. You will need to contact Argon they will send you a link to driver software for using the Argon with LibreElec. I think I'll be coming back to this thread soon!

    The SSD must be a SATA style. I'm using the Kingston model referenced in the videos and 128GB never gets filled up for my use. LibreElec runs FAST from the SSD.

    You have described the symptoms of a struggling power circuit. Check the power requirements of the SSD. You may want to upgrade your Raspberry Pi 3 to a RPi 4 with a 3.5 amp power supply.

    Nothing wrong with using an Ice Tower cooler. As you say, it helps a lot when you choose to overclock. I agree that the Ice Tower would be an excellent choice for the overclocking aficionado.

    The biggest I/O bottleneck for the Pi 4 is the SD card. Overclocking the CPU simply masks the issue. A normal CPU clock speed means lower CPU temperatures compared to an overclocked CPU. And with the Argon One case, CPU overclocking is still available as an option. I simply choose to not use it.

    Generally speaking, using an SD card to boot from means that the LibreELEC will run from the SD card. Since the SD card is the I/O bottleneck, by extension, the overall Pi 4 I/O is bottlenecked regardless whether the CPU is overclocked or not. Granted, there is an older method where one could boot from SD card and switch over to an external USB device. However, one still has a sprawl to deal with. The Argon One case packages all the essential items into the one case making a neat presentation, especially in front of one's TV as a media center.

    With the latest firmware update to the Pi 4, the advantage allowed by the Argon One case is to boot LibreELEC from a SSD without needing a SD card. As far as I have been able to determine, everything runs faster from the SSD. I can't say for certain, however I'll bet that 4K and upscaling will work faster as well.

    why is that the best case? And isn't an SSD drive pretty much the same soeed as SD cards?

    ....

    According to the testing done in the referenced videos, the SSD is around 10X faster than the fastest SD card. I concur with the results published in the videos. And the Pi 4 did not have to be overclocked!

    The Ice Tower which you reference will not fit into the average Pi case. Furthermore, it does nothing to help cleanup the cabling. The Argon One case brings out the cabling connections to the back end, there by helping the cabling look nicer.

    One other piece of information: if you are using this setup as a media center for your TV and you wish for the audio to play from the TV, connect the TV HDMI cable to the HDMI connection farthest from the power button. If you plug in the TV HDMI cable to the other connection, the video will display fine, but you probably won't hear any audio.

    First, two videos to give an idea of the overall process:

    Argon One M.2 Raspberry Pi 4 case

    and

    Raspberry Pi 4 USB Boot is official! How-to

    1) During the building of the RPI 4 (8 GB version) case process, I did not screw in the bottom section to complete the case. Rather on the bottom half of the case, I combined the small 'A' plug to 'A' plug USB adapter (which comes with the Argon One case kit) with an 'A' plug to 'A' socket extension cable to bring out the USB connection.

    2) I downloaded the latest stable versions of LibreELEC (9.2.6) and RaspberryOS.

    3) I flashed the RaspberryOS onto a fresh SD card. I flashed LibreELEC onto the SATA M.2 SSD using the extension cable plugged into my desktop.

    4) Using only the top half of the Argon One case (with the RPI4 & daughter board secured), I installed the SD card, connected power, HDMI to monitor, USB keyboard & mouse, network cable and booted the RPI 4. The M.2 SSD was not connected to the RPI 4.

    5) Following the instructions in the video, I upgraded the RPI 4 firmware (version 000138a1 or greater). Once finished, I powered down the RPI 4 and un-cabled it. I removed the SD card, finished assembling the Argon One case and added the small 'A' plug to 'A' plug adapter as per the videos. The new assembly was cabled with power (turned off), HDMI, Mouse and KB. No network or external storage connected!

    6) Turning on the RPI, I watched on the monitor that the system attempted to boot from the missing SD card multiple times. Then suddenly (like magic) the RPI booted up LibreELEC OS from the SSD M.2 drive. I added the network cable, external USB storage and finished configuring LibreELEC.

    Performance?

    The older RPI4 running LibreELEC on SD card: videos from the external SSD would halt several times before playing properly. Streaming videos were exhibiting the same halting issue.

    The new RPI4 running LibreELEC on the M.2 SSD: videos (from the same external SSD) now play as if they were on a BluRay/DVD player. No halting, virtually no lag. :thumbup: I still have to try out streaming services like Amazon or Netflix, however, I do not anticipate any streaming issues from Kodi / LibreELEC / RPI4 hardware.

    We saw that before, most of the times it was a problem with the SD card (the one or the other way).

    Try a SD card writing software that verify that everything is correctly written to SD card - balenaEtcher.

    If this is not working try a different SD card. Borderline power supplies can have similar effects.

    I agree. For myself, every time I have had weird software (or booting) issues, it has been the SD card getting corrupted. The easiest way to confirm the problem is to flash a new SD card and see if the Pi will boot up and behave itself.

    Hi tkocou, would you share your ugly baby script ? I'm interested too !

    Thanks

    Update:

    Two issues:

    First: As far as the "relatime vs noatime" issue goes, using a vfat format on the external HDD sidesteps the issue since vfat does not support either relatime or noatime options.

    Second: The delay, between "playing" a video from an external HDD and the video actually playing, has gotten worse since implementing my fix. After observing the behavior, I've come to the conclusion that LibreElec copies the video from the HDD to the SDcard and then plays the video from the SDcard. This degradation occurs whether I play a video file located on an external HDD or when I play a streaming video from a source like Netflix or Amazon Prime.

    Fixing the degradation issue will require upgrading the hardware (Raspberry Pi 4, etc.) and fixing the RPI firmware to boot from an external HDD thereby avoiding the use of an SDcard. The only potential problem will be how to get LibreElec to honor booting up from an external USB option (now available for the Version 4). Perhaps a dual boot with RaspberryOS and LibreElec.

    We don't use /etc/fstab which is why it's blank and you cannot edit or override the file. It only exists because some other Linux plumbing looks for it and craps out when it doesn't (even if the file is blank). We use udevil for mounting and it's possible to override our default udev rules if you want to (use a file with the same name in /storage/udev.rules.d). I guess when all the upstream sources adopt noatime we'll acquire the same change. Until then, we'll stick to the accepted defaults.

    I accept the reason for the /etc/fstab situation. My only concern is the lack of a tutorial on how to create a proper udev rule for udevil. While there is online documentation, the documentation is somewhat obscure and I have not found any concrete examples.