Replacing the MiniTiouner

Digital ATV - The latest generation, cutting edge ATV - Please discuss it all here.
Forum rules
This forum is run by the BATC (British Amateur Television Club), it is service made freely available to all interested parties, please do not abuse this privilege.

Thank you
M0LNG
Posts: 22
Joined: Mon Oct 16, 2023 5:18 pm

Re: Replacing the MiniTiouner

Post by M0LNG » Thu Nov 16, 2023 11:53 pm

Roger, those devices look interesting but it all depends what can be made to work with RB signals in practice.

I just skimmed the M88RS6060 Linux driver code, and although the driver declares a 1MS/s minimum symbol rate, it might be that if you simply dropped that declared limit, the driver would happily feed the necessary parameters to the chip and go lower. The only way to know for sure would be to get the hardware, tweak the code, and try it. Neither the driver author nor the sales team are likely to know the actual constraints, simply because there is no demand for low symbol rates in commercial use.

Similarly it may be the case that the tuning range could be pushed too. In fact looking at these lines in the driver, there are divider values and other settings included for frequencies down to 375MHz and below! So it may be that the hardware can go lower, but they probably wouldn't see any value in advertising, or officially supporting, anything more than the standard L-band range for a DVB-S part.

I think this is the situation for pretty much all DVB hardware: almost any chip might turn out to be usable for amateurs, if someone puts in the work to tweak the code and test it. This is what I am working on doing with the SF8008.

M0LNG
Posts: 22
Joined: Mon Oct 16, 2023 5:18 pm

Re: Replacing the MiniTiouner

Post by M0LNG » Mon Dec 04, 2023 2:21 am

Update from me on the Si2166D and the SF8008. First, some good news:

1kHz resolution

I've succeeded in changing the UI on the SF8008 to deal with frequencies in kHz rather than MHz resolution.

My current patch against the enigma2 code to do this is here:
https://github.com/openatv/enigma2/comp ... ma2:master

This is not a complete conversion yet, there are some further places that still use MHz. But it's sufficient to use the "Signal Finder" and "Manual Scan" screens with 1kHz input available, and to save the channels it finds with 1kHz resolution.

It's not easy to apply these changes to a running unit because the Python source files are not installed by default - only the compiled .pyc versions. However if there is interest in having this, then I can see about distributing some packages or a prebuilt image with this change.

Adjacent signal test setup

I now have a good test setup for examining the behaviour of a receiver in the presence of closely spaced signals. This took a bit of effort to get right, so to save anyone else the trouble in future, I've cleaned it up and published it with instructions on GitHub here:
https://github.com/martinling/dvbs2-rx-testbench

This uses either a HackRF or Pluto to generate three simultaneous 333kS signals at 500kHz spacing, at a level suitable to feed directly into a receiver in place of the LNB feed. By tweaking settings in the flowgraph and the Makefile, the same setup can also be used with the modulation/coding/bitrate parameters of your choice. You can also adjust the relative levels of the three signals whilst it's running to see how the receiver responds:

levels.png
levels.png (26.85 KiB) Viewed 336729 times

Automatic frequency correction range

Now the bad news.

I have patched the SF8008's hi-dvb kernel module to reduce the Si2166D's frequency correction range from 5 MHz to 100 kHz.

However, I still see the receiver jumping around by up to about 3.5 MHz from the target frequency if it does not find a signal there.

I am not certain yet if my change was correct: it may be that the place I have patched the value is not the only setting, and it's being overwritten by another value somewhere else that I have missed. I may need to have a sniff at the I2C to see what's actually being sent on the wire.

But I've now tried the "easy" fix I wanted to make and it didn't solve the issue, so currently the Si2166D is not looking like a ready solution for the demodulator side of things.

el bandido
Posts: 1
Joined: Fri Dec 22, 2023 5:47 am

Re: Replacing the MiniTiouner

Post by el bandido » Fri Dec 22, 2023 7:17 am

Hi
I enjoy building custom images for the SF8008 along with a few other receiver models and find this thread very interesting. But I think you are in the wrong area to actually change from MHz to KHz in the enigma2 image. Editing the Satfinder and other similar python files I think will only change the cosmetics while enigma2 stays the same.

Seems to me the frontend.cpp file would also need to be edited, and maybe some of the other enigma2 C, C++ files as well. The image would have to be built in order to see any changes made to files such as frontend.cpp which is easy for me or anyone else to do, while editing the python files in the receiver requires nothing more than a restart of enigma2 or a reboot.

Please take a look at frontend.cpp shown in the link below and see if I am correct. I don't think the conversion from MHz to KHz can be done successfully without editing this file and possibly some other C, C++ files in enigma2. Thanks.

https://github.com/openatv/enigma2/blob ... ontend.cpp

M0LNG
Posts: 22
Joined: Mon Oct 16, 2023 5:18 pm

Re: Replacing the MiniTiouner

Post by M0LNG » Fri Dec 22, 2023 6:15 pm

Hi bandido,

In the frontend.cpp file you linked everything is already stored in kHz.

There are some places where it prints messages with a frequency in MHz, but in these places it divides the kHz value by 1000 to get MHz for display, e.g. here:
https://github.com/openatv/enigma2/blob ... 2-L3071C61

Within the kernel DVB API everything is also in kHz.

In the Python UI code, the values entered in MHz were being converted to kHz before being placed in the eDVBFrontendParametersSatellite structure that is passed to the C++ code:

https://github.com/openatv/enigma2/blob ... p.py#L1459

So it really is just a Python change needed.

ocean04
Posts: 3
Joined: Tue Dec 26, 2023 5:40 am

Re: Replacing the MiniTiouner

Post by ocean04 » Tue Dec 26, 2023 5:50 am

M0LNG wrote:
Mon Dec 04, 2023 2:21 am
I have patched the SF8008's hi-dvb kernel module
Could you also attach hi-dvb.ko you have edited, please? Version where you have all frequency range modifications.

I have also tried to remove 950 limit from sf8008. I currently own 3 other receivers with Silabs tuner (gbtrio, sf4008 and vu+zero4k)

Gbtrio uses similar hi-dvb.ko, but sf4008 and zero4k uses completely different kernel module. Was hoping if I could get one of them working.

ocean04
Posts: 3
Joined: Tue Dec 26, 2023 5:40 am

Re: Replacing the MiniTiouner

Post by ocean04 » Sat Dec 30, 2023 8:43 am

Had chance to check my vu+zero4k and it uses dvb-bcm72604.ko. It was easy to patch 950 -> 700 and 10492H promo from eshail2 now works.
vu+zero4k uses Silabs SI2166

G4EWJ
Posts: 1381
Joined: Wed Feb 17, 2010 10:11 am

Re: Replacing the MiniTiouner

Post by G4EWJ » Sat Dec 30, 2023 1:03 pm

Strictly speaking, the Si2166D is the demodulator and the RDA5815M is the tuner.

Does the VU+ Zero 4K have a different tuner? I haven't heard of anyone being able to make the RDA5815M tuner work much below 900MHz.

Brian

M0LNG
Posts: 22
Joined: Mon Oct 16, 2023 5:18 pm

Re: Replacing the MiniTiouner

Post by M0LNG » Sun Dec 31, 2023 5:16 pm

ocean04 wrote:
Tue Dec 26, 2023 5:50 am
Could you also attach hi-dvb.ko you have edited, please? Version where you have all frequency range modifications.
Because it's not clear if permission has been granted to redistribute the proprietary module, I will post binary patches rather than a modified version. This may seem excessively cautious since the file is readily available in many public firmware images, but when publishing reverse engineering results I think it is wise to be strict about copyright issues.

You will need the original `hi-dvb.ko` file with md5sum `524b28227973de8a5f0be41be0278948`, and the `bspatch` program which can be found in the `bsdiff` package on Ubuntu/Debian or from this github repo.

Attached is a zip file with two binary patches that can be applied with `bspatch`. One extends the tuning range, the other changes the AFC range to 100kHz. They touch different parts of the code so can be applied either individually or together. Note that with the tuning patch applied, the module will report a tuning range down to 700MHz, but it does not work that far down - the lowest I have gotten it to tune on my unit is 883MHz.
Attachments
hi-dvb-patches.zip
(695 Bytes) Downloaded 2924 times

M0LNG
Posts: 22
Joined: Mon Oct 16, 2023 5:18 pm

Re: Replacing the MiniTiouner

Post by M0LNG » Mon Jan 01, 2024 2:37 pm

ocean04 wrote:
Sat Dec 30, 2023 8:43 am
Had chance to check my vu+zero4k and it uses dvb-bcm72604.ko. It was easy to patch 950 -> 700 and 10492H promo from eshail2 now works.
vu+zero4k uses Silabs SI2166
That's great news, but I don't understand what chipset is actually in use here. I had a look at the dvb-bcm72604 module. It predominantly contains driver code for the BCM7335, which is a single-chip solution that includes the CPU plus tuners and demodulators all in one part. So where is a Si2166 demodulator being used? And what tuner is being used in front of it? As Brian notes, the Si2166 is not a tuner.

Regardless of the details, it's good to know it can receive the beacon. Is there anyone who has both a VU+ Zero 4K and a Pluto or HackRF who could run some adjacent-signal tests, using my GNU Radio testbench published above?

ocean04
Posts: 3
Joined: Tue Dec 26, 2023 5:40 am

Re: Replacing the MiniTiouner

Post by ocean04 » Mon Jan 01, 2024 4:12 pm

Thanks for diffs. Older model sf4008 (linuxtv.ko) also has 3 times 950, but couldn't find 915 limitation there.

Always thought that zero4k uses the same tuner. It has the same sensitivity for weak signals as these other models. In signal finder it's reported as "Vuplus DVB-S NIM(SI2166)".

I guess it's not possible to find out without opening the box. Google doesn't seem to help, everywhere you only find same info si2166.

Interesting that hi-dvb.ko file contains references to avl62x1. Source code for avl6261.ko (Edision osmio4k, osmio4k+, osmini4k) is available.

Also these Edision models can receive 10492H promo simply by fixing source and building the module. Source has 1000 SR limit, but after removing it I could receive SR 500. But somewhere it was said tuner may not be stable under 1000 SR.

Post Reply

Return to “DATV - Digital ATV”