I just got my shiny new Vero 4k as an upgrade over my Pi3. The reason why I wanted to upgrade was the 4k’s H.256 support I need in order use one of the most widely used and typically best supported DVB-T sticks, the PCTV 292e which I previously tested with OSMC on my Pi3.
Unfortunately the Vero 4k currently lacks the required kernel driver modules for the em28xx family as well as a few others provided out of the box with OSMC for the RaspPi, like si2157.ko, si2168.ko. Why are these missing from the Vero 4k image? How to get them? Do I have to build a custom kernel on the Vero itself (to avoid a cross-build)?
Without support for that stick the Vero is more or less useless for me
Unfortunately the situation is even worse. The PCTV 292e is the successor of the ubiquitous 290e and thus got official (initial) Linux support only as of kernel 3.16 (“improved a lot since then”). However, while the Pi image uses kernel 4.4 the Vero is still on 3.14 which obviously doesn’t support this device at all - so it’s not just a matter of enabling a few modules, I need a new kernel entirely
Is there any way to get this officially supported? I mean the use case for the Vero being used with a DVB device should be very common and device support should thus be as wide as possible, i.e. an up-to-date kernel (like in the Pi image) would just make the otherwise great Vero 4k the perfect device. IOW, please make it truly “the best way to experience OSMC”
OTOH, why going through the hassle of manually backporting individual drivers? Wouldn’t it be easier (less costly!), less error-prone and even more useful (see use case above) to just upgrade the kernel? What’s holding it back? Can one compile a custom kernel, based on the existing config of course, or is the current kernel heavily patched?
Thanks again!
PS: the Vero works great so far, incl. settings restore (from Pi), S/PDIF, various HD formats and overall performance. Great job indeed!
Just to give other readers some context: the Vero 4K uses an Amlogic S905X SoC which, while being very interesting hardware-wise for projects like this, are a major (yet known) PITA when it comes to software support. This is due to the fact that the companies building those Mali SoCs simply don’t open source their software such that the Linux kernel developers can provide mainline kernel support themselves. That said, Sam depends on Amlogic to provide a newer upstream kernel buildroot and up to now there’s only version 3.14.29 available . I knew all that since my search for a new device (e.g. the CuBox-i or ODROID-C2) to replace my Pi3 but I somehow managed to neglect that fact when I learned about the Vero 4K - just loved it and wanted to support OSMC!
Anyhow, there are indications that Amlogic might update the kernel to 4.4 at some point but even their current Android 7.0 (Nougat) efforts are still based on 3.14, so it will presumably take a while until 4.4 will be available. The community is currently trying to work with Amlogic to change their stance on open sourcing their code but it’s questionable that the situation will improve dramatically any time soon. Sam, please chime in if you know better.
Do you have a rough estimate on this? Is it days, weeks or even months? I don’t mean to put pressure on you guys, it’s just for my planning Also, please let me know if I can be of any further help.
Update: A few hints for backporting:
USB Interface
Main commit adding initial support for the 292e: 1922924
Other kernel commits related to the 292e: GitHub search
Demodulator
Main commit adding initial support for the Silicon Labs Si2168-40: 845f350
AMLogic are actually very good at providing sources when compared to other SoC vendors. The actual issue is as you have noted, that the BSP kernel is a little old now.
AMLogic mainlining efforts are already underway and there have been a lot of milestones reached. When things get nearer, we’ll do testing and then get this included for OSMC. However – we still use 4.4 for RBP / Vero 1, and 4.2 for AppleTV. I prefer to stick with a stable kernel once they’ve matured and only maintain critical fixes and improvements.
I think we can get some improvements for testing ready by early April and then include them in OSMC’s April update. We can backport DVB modules from 4.4.
My educated guess would be that this is due to the platform mismatch between Tvheadend (32 bit) and the kernel driver (64 bit), with a potential patch available. That, however, should affect all drivers so it’s unlikely to be the root cause, right?. I also checked the device file permissions and they’re correct (r/w for group video which user osmc is a member of).
Oh, and for the sake of completeness: you want to include this firmware in the Vero image for full support of this DVB device. I installed it manually earlier and haven’t since checked whether it’s now included.
At some point we definitely need to revisit
firmware for DVB and include more in OSMC. But I want
to make it part of a separate package to try and avoid bloating
the filesystem if possible