XBOX One usb tuner and Wetek Core with Libreelec 9.0.2

  • Hello to everyone! :) I'm struggling to get the XBOX One usb tuner working on the setup mentioned in the title. By what I've understood, Wetek Core support has been dropped a while ago being it based on a limited (Amlogic S812) and rather closed source platform being the latest version available the one I'm currently using. Still based on my research, it seems that my tuner is working ootb on Libreelec 8.2.5 but I'd like to avoid being forced to revert back to it given that some add-ons I use require Leia. I've downloaded the only crazycat dvb drivers add-on package I could scour here:

    CoreELEC-Official&f=driver.dvb.crazycat-9.0.0-2018-04-12.zip

    I know it's for CoreELEC and for the Play 2 and not the Core (but, if I'm not mistaken, the hardware should be the same apart from the missing internal receiver) but it is the only one I could find. The rest I could find were all dead links or so.

    On dmesg I get this:

    [ 3.678638@0] usb 1-1.3: Product: Xbox USB Tuner

    [ 3.683569@0] usb 1-1.3: Manufacturer: Microsoft Corp.

    [ 3.688488@0] usb 1-1.3: SerialNumber: 000205070415

    and this:

    [ 13.182078@1] kernel-overlays-setup: processing conf /storage/.cache/kernel-overlays/50-driver.dvb.crazycat.conf

    but the receiver isn't detected by tvheadend server (HTS Tvheadend 4.3-1774 ~ LibreELEC Tvh-addon v9.0.444 which has been the newest version I could scour) and I still get an empty list when I go to "tv adapters". I also remember that during my research I've read (maybe on the CoreElec forum) that someone was talking about a 'legacy' version of Crazycat dvb drivers for older kernels like it is the case here...

    Is there anything I could do instead of reverting back to 8.2.5 (given that is really true that my tuner works ootb with it, I don't know). Thanks in advance and have a nice day! :)

    Edited once, last by -=guybrush=- (July 12, 2020 at 4:35 PM).

  • Hi and first of all thanks for your reply! I've checked and all I could see when entering in the addon details was:

    DVB drivers for TBS (CrazyCat)

    9.0.0 by Team CoreELEC

    (this is the title)

    The only working buttons are "check for updates", "disable" and "uninstall". The "configure" one is disabled like there isn't anything to configure and/or select. I suspect everything is due to the version not being the right one, beginning from the fact it is the CoreELEC and not LibreELEC one or, even more probable, my kernel (3.10.108 as returned issuing the "uname -r" command under ssh) is too old and those drivers require a newer one. I don't know. Have a nice day! :)

    Edited once, last by -=guybrush=- (July 13, 2020 at 10:48 AM).

    • Official Post

    WeTek Core is ARM (32-bit) using Linux 3.10 and Play2 is ARM64 (64-bit) using Linux 3.14 and DVB drivers are compiled using an arse-backwards process for a specific arch and kernel. TL/DR .. you cannot take the CE add-ons from their 3.14 image and use them on an LE 3.10 device.

  • Hi and first of all please accept my sincere apologies for not replying before. You confirm exactly what I expected, unfortunately! Is there a way I could build the right drivers for the Wetek Core or do I just need to give up? I'm not new to cross-compiling and I've done quite a lot of it to build what I needed to use on an old mips router I used once ago but I need a suitable toolchain and the sources. Am I out of luck?

    A slight off topic... I had a RPi2 laying around and I've installed LE on it (I've always used it with OSMC before). My current setup is LE 9.2.3, tvheadend server 4.3-1896 and tvheadend client 4.4.21.1. There, the Xbox ONE tuner is detected just fine, just with the built-in drivers (still CrazyCat) but I'm experiencing other issues which aren't the scope of this thread and I'll talk about them elsewhere...

    Thanks for your help and have a nice day! :)

    Edited once, last by -=guybrush=- (July 31, 2020 at 3:31 PM).

  • I've had some time to deepen my research and I've found this interesting thread:

    crazycat: fix building for Amlogic devices using 3.10 kernel and enable for WeTek_Core by kszaq · Pull Request #2549 · LibreELEC/LibreELEC.tv · GitHub

    It seems EXACTLY what I'm looking for BUT there are a couple of problems. I have no idea on how to apply a patch and, even worse, I have no sources to apply it to nor a toolchain to build everything up. I guess I have more work to do...

  • chewitt

    I see that you've taken part in the thread I've pointed out in my previous post and it clearly applies to my case given that at the time of writing codesnake had exactly a Wetek Core like me.

    I'm completely lost and clueless: would you like to give me an hint on what to do? I've read that thread but it is beyond my skills. It seems a matter or rebuilding both the kernel and driver from scratch if I'm not mistaken... Thanks anyway :)

  • Hi guybrush,

    I have built some versions of the crazycat drivers for the S812 SoC, with amlogic-3.10 kernel support for my device (M8S+), and maybe it will work on Wetek Core as well.

    But you need to install driverselect package first:

    script.program.driverselect-0.1.6.100.zip

    ... and then the driver, one of them:

    Index of /dvb-packages/crazycat/

    You will need to restart your box after installing and selecting the driver.

    Edited 2 times, last by dtech (September 20, 2020 at 10:05 AM).

  • dtech

    Hi! First of all, please accept my sincere apologies for not replying before but I've just noticed your follow-up. Thanks for your reply and for your effort with building those drivers. I would try them for sure and post here the results. Unfortunately, currently I haven't my Core at hand and I wouldn't be able to check soon but I'll do it ASAP. Can I ask you an off topic question? Where can I find the sources and some documentation on how to do what you've done? Have a nice day! :)

  • Since then, I have updated the crazycat package and added support for the dvb-latest package, because I had a lot of stream quality problems with the Astrometa DVB-T2/C tuner under the crazycat addon. It took about a week to put the packages and their configuration together to make them work.

    I also got an Xbox One tuner and tested it. Works perfectly with both crazycat and dvb-latest packages.

    This screenshot was taken from TVH-4.2 running on my M8S device (LE-9.0.2/amlogic-3.10, selected kernel addon: dvb-latest):

    You need to clone my github repo, or just download the sources directly from here: e00c4a39e6c9c042ccc4896f8d3fbbc99fe8a940.zip

    The simplest solution is to replace the entire contents of "packages/linux-driver-addons/dvb" in your source directory with the contents of my source.

    And you will then need to make the following changes to the "projects/WeTek_Core/options" file:

    Code
      # build and install driver addons (yes / no)
        DRIVER_ADDONS_SUPPORT="yes"
    
      # driver addons to install:
      # for a list of additinoal drivers see packages/linux-driver-addons
      # Space separated list is supported,
        DRIVER_ADDONS="crazycat dvb-latest"

    After that, you need to start building. In short, that's it. ;)

    Edited once, last by dtech (October 4, 2020 at 11:53 AM).

  • Great! I don't know how to thank you! Very helpful and informative. I would try ASAP as I would post here the results of the tests with my Wetek Core. I hope within this week, as soon as I get hold of it again. Have a nice day! :)

  • -=guybrush=-

    I tried to compile the official 9.0.2 sources with my patches and it worked on the first try.

    It is downloadable from here: Index of /3rdParty/WeTek_Core-9.0.2-DVB-semi-official/

    But if you want to compile it yourself, I made a patch to the original source. You need to do the following:

    Code
    git clone https://github.com/LibreELEC/LibreELEC.tv.git -b 9.0.2
    cd LibreELEC.tv/
    wget http://libreelec.dtech.hu/3rdParty/WeTek_Core-9.0.2-DVB-semi-official/Source/LibreELEC.tv-9.0.2-WeTek_Core-DVB-source.patch
    patch -p1 -i LibreELEC.tv-9.0.2-WeTek_Core-DVB-source.patch
    DISTRO=LibreELEC PROJECT=WeTek_Core ARCH=arm make image -j8

    But I couldn’t try the image because I don’t have a WeTeK_Core device.

  • dtech

    First of all, please excuse me for not coming back before and THANK YOU for your effort with building a firmware for the Core and, if possible, even more for your explanations, very helpful as always! I've gone for the quick and easy way downloading the firmware you've built and installing it.

    IT WORKS LIKE A CHARM! The Xbox One tuner is detected fine and everything works. I just needed to enable the CrazyCat driver addon (it is disabled by default as it should be) and the tuner has been detected just fine: all the messages regarding it I could find issuing

    dmesg | grep dvb

    were absolutely encouraging and this was confirmed by configuring Tvheadend server accordingly.

    I have to add that, unlike it happens with the RPi2, even HD contents are viewable with no issues at all (though I still need to test a workaround another kind user has suggested me to solve that issue on the RPi2).

    My testing has been very limited (I just wanted to check the TV functionality and I haven't had the time to go deeper than that) but everything seems fine (not that I didn't expect anything different).

    The only 'issue' I could find is that the auto-update function believes the official 9.0.2 is newer (in spite of the much older compilation date; probably because it prefers official builds, I don't know) and on first boot it downloads the package and restores it. Disabling auto-update was obviously just enough to sort that out.

    What to say? I'm REALLY satisfied! :) Given that you prove to know how to handle these things... Isn't it possible to build newer Libreelec versions? I don't think so, probably because of the Kernel limitation...

    The thread is definitively solved and I think that the official build should be replaced with yours but it isn't up to me to judge. I would come back should I notice anything wrong but I think it wouldn't happen. Thanks again and have a nice day! :)

  • Unfortunately, none of the devices I use have official support, so I personally didn't encounter this update bug.

    I don't know how the update check procedure works, but I changed the version number in the patch to "9.0.2-DVB" instead of the original "9.0.2" and the update check may not like extra strings.

    "9.0.2" > "9.0.2-DVB" ? :/

  • Absolutely not an issue as already said. The gain achieved is much bigger than the 'hassle' (please note the quotation marks as before!) of needing to disable the auto-update feature. There wouldn't be updates anymore and anyway! ;) I tend to believe that, given that the version stays the same, the updater likes more the official build then it restores it but it's just a wild guess.

  • I had no intention of initiating a "hassle" at all, I just found that the upgrade algorithm probably doesn't like the "-DVB" string added to the version number. ;)

    Just a little bit funny that "2" is bigger than "2-potato". :D