Project

General

Profile

Bug #1868

Signal quality indicators no longer working

Added by Hanspeter Müller almost 9 years ago. Updated over 8 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
Category:
DVB
Target version:
-
Start date:
2013-12-13
Due date:
% Done:

0%

Estimated time:
Found in version:
3.9.268
Affected Versions:

Description

Hi,

comit 3560cee63db3e12e0321d79e40e6207e749ee83f broke the signal quality indicators, BER and Uncorrected bit error rate is allways 0, SNR "unknown" and Signal Strengh 0%.

It's working with version 3.9.261, and is broken on 3.9.268...

(ubuntu saucy i386 packages built from source with , DigitalDevices on DVB-C)


Files

History

#1

Updated by Adam Sutton almost 9 years ago

  • Status changed from New to Need feedback

Can you check your DVB API version?

Adam

#2

Updated by Hanspeter Müller almost 9 years ago

Hi Adam,

not sure how to do that, but if you mean something like /usr/include/linux/dvb/version.h, that would be

#define DVB_API_VERSION 5
#define DVB_API_VERSION_MINOR 10

Kernel 3.11.0-14-generic

Does that sound right?

Thanks,

/hanspeter

#3

Updated by Thomas Hallgren almost 9 years ago

I'm seeing this too. DVB API 5.10 on 3.11.10-100.fc18.x86_64. Currently running commit 55c2bbb636f1ac9e8daa4d817724c04a9fc37e13

#4

Updated by Adam Sutton almost 9 years ago

It's entirely possible that the drivers are returning garbage for the new API? Not sure.. My drivers just fail to return anything against the new API and TVH switches to using the equally useless older API.

I haven't had a chance to test against a device that I know to provide sensible responses to the new API.

Adam

#5

Updated by Rob vh almost 9 years ago

I have Digital Devices DVB-S2 cards. In 3.5, the signal strength would show at 65% or thereabouts.
With HTS 3.9.379, the value shows around 41000%
Divide 41000 by 65536 and you get 62.5%.

At least in my adapter, the strength indicators are meaningful, and they would be easier to interpret if the 2 byte value was shown as a percentage, and not a counter.

uname -r shows 3.2.0-59-generic. Ubuntu 10.04.

I have heard of no recent development on the ddbridge driver code used for Digital Devices. I hope these devices will (still) be supported by HTS going forward.

#6

Updated by Hanspeter Müller over 8 years ago

I still not sure if i understand the problem, it worked in one commit and was broken in the next, was there the switch between the old api and the new one, and the digital devices driver only returns garbage when you use the new api...?

#7

Updated by Olli Salonen over 8 years ago

OpenELEC 4.0 Beta 1, kernel 3.13.5, Tvheadend 3.9.383, PCTV 290e DVB-T/T2 tuner. In the web interface it says SNR "Unknown" and Signal strength "0%". Bandwidth is shown correctly.

In 3.4.27 SNR and signal strength were shown correctly. After update to 3.9.383 they're not working anymore.

#8

Updated by Mark Clarkstone over 8 years ago

In the latest git (3.9.422~gc84bc2b) this is fixed (for me at least). I now see an adapter and status GOOD|BAD with Frodo.

#9

Updated by Rob vh over 8 years ago

No relief in 3.9.422 for me (dvb-s2 on Ubuntu 12.4)

#10

Updated by Andrew Dobrotin over 8 years ago

Tuner: DVBS2 USB Prof Revolution 7500.
TVH build 3.9.422~gc84bc2b
SNR "Unknown" and Signal strength "0%"

femon -H
FE: STV0900 frontend (DVBS)
status CVYL | signal 92% | snr 100% | ber 0 | unc 0 | FE_HAS_LOCK
status CVYL | signal 92% | snr 100% | ber 0 | unc 0 | FE_HAS_LOCK
status CVYL | signal 92% | snr 100% | ber 0 | unc 0 | FE_HAS_LOCK
status CVYL | signal 92% | snr 100% | ber 0 | unc 0 | FE_HAS_LOCK
status CVYL | signal 92% | snr 100% | ber 0 | unc 0 | FE_HAS_LOCK

#11

Updated by Adam Sutton over 8 years ago

  • Category changed from User Interface to DVB
#12

Updated by Andrei B over 8 years ago

Andrew Dobrotin wrote:

Tuner: DVBS2 USB Prof Revolution 7500.
TVH build 3.9.422~gc84bc2b
SNR "Unknown" and Signal strength "0%"

femon -H
FE: STV0900 frontend (DVBS)
status CVYL | signal 92% | snr 100% | ber 0 | unc 0 | FE_HAS_LOCK
status CVYL | signal 92% | snr 100% | ber 0 | unc 0 | FE_HAS_LOCK
status CVYL | signal 92% | snr 100% | ber 0 | unc 0 | FE_HAS_LOCK
status CVYL | signal 92% | snr 100% | ber 0 | unc 0 | FE_HAS_LOCK
status CVYL | signal 92% | snr 100% | ber 0 | unc 0 | FE_HAS_LOCK

Confirm tha same issue SNR "Unknown" and Signal strength "0%"
tvheadend: version 3.9.636~g03a69ff
tuner: TT-budget® S2-1600 - TechnoTrend

femon -H
FE: STV090x Multistandard (DVBS)
Problem retrieving frontend information: Operation not supported
status SCVYL | signal 71% | snr 79% | ber 0 | unc 1 | FE_HAS_LOCK
Problem retrieving frontend information: Operation not supported
status SCVYL | signal 71% | snr 79% | ber 0 | unc 1 | FE_HAS_LOCK

#13

Updated by Andrei B over 8 years ago

Andrei B wrote:

Confirm tha same issue SNR "Unknown" and Signal strength "0%"
tvheadend: version 3.9.636~g03a69ff
tuner: TT-budget® S2-1600 - TechnoTrend

femon -H
FE: STV090x Multistandard (DVBS)
Problem retrieving frontend information: Operation not supported
status SCVYL | signal 71% | snr 79% | ber 0 | unc 1 | FE_HAS_LOCK
Problem retrieving frontend information: Operation not supported
status SCVYL | signal 71% | snr 79% | ber 0 | unc 1 | FE_HAS_LOCK

cat /usr/include/linux/dvb/version.h | grep DVB_API
#define DVB_API_VERSION 5
#define DVB_API_VERSION_MINOR 10

Linux dhcppc2 3.15.0-3-mainline #1 SMP PREEMPT Sat May 3 04:07:38 FET 2014 x86_64 GNU/Linux

#14

Updated by Andrei B over 8 years ago

Condition if(fe_properties0.u.st.len > 0) is False at src/input/mpegts/linuxdvb/linuxdvb_frontend.c
Could you please help to clarify what part of code I should investigate

#15

Updated by Miro K. over 8 years ago

Actually my ddbridge driver from Digital Devices Cine S2 is also reporting with different values. Actually it reports the strenght and quality in percentage where 100% are 2 bytes.
So what I did to get the nice view I change the values in src/input/mpegts/linuxdvb/linuxdvb_frontend.c as follows:

--- /root/tvhe/linuxdvb_frontend.c      2014-05-22 10:33:52.000000000 +0200
+++ linuxdvb_frontend.c 2014-05-22 11:16:35.245762999 +0200
@@ -594,11 +594,11 @@
 #endif
   {
     if (!ioctl(lfe->lfe_fe_fd, FE_READ_SIGNAL_STRENGTH, &u16))
-      mmi->mmi_stats.signal = u16;
+      mmi->mmi_stats.signal = u16*100/0xffff;
     if (!ioctl(lfe->lfe_fe_fd, FE_READ_BER, &u32))
       mmi->mmi_stats.ber = u32;
     if (!ioctl(lfe->lfe_fe_fd, FE_READ_SNR, &u16))
-      mmi->mmi_stats.snr = u16;
+      mmi->mmi_stats.snr = u16*100/0xffff;
     if (!ioctl(lfe->lfe_fe_fd, FE_READ_UNCORRECTED_BLOCKS, &u32))
       mmi->mmi_stats.unc = u32;
   }

SNR is not in db anymore but in percentage, thus I change the object in the src/webui/static/app/status.js, to avoid this, it would be nice to understand what 100% are in db? is it 16,5? 18? or 20?

--- /root/tvhe/status.js        2014-05-22 10:33:52.000000000 +0200
+++ status.js   2014-05-22 11:11:24.213762280 +0200
@@ -221,6 +221,14 @@
                colored : true
        });

+        var snr = new Ext.ux.grid.ProgressColumn({
+                header : "Signal to Noise Ratio",
+                dataIndex : 'snr',
+                width : 85,
+                textPst : '%',
+                colored : true
+        });
+
        function renderBw(value, item, store) {
                var txt = parseInt(value / 1024);
                var href = "javascript:tvheadend.stream_bw_monitor('" + store.id + "');";
@@ -264,18 +272,8 @@
                width : 50,
                header : "Continuity Error",
                dataIndex : 'cc'
-        },{
-               width : 50,
-               header : "SNR",
-               dataIndex : 'snr',
-                renderer: function(value) {
-                        if(value > 0) {
-                                return value.toFixed(1) + " dB";
-                        } else {
-                                return '<span class="tvh-grid-unset">Unknown</span>';
-                        }
-                }
-        }, signal]);
+        }, snr
+       , signal]);

        var panel = new Ext.grid.GridPanel({
                 border: false,

I know this is quirk, but at least is it working for me...
I'm using SMP Debian 3.2.51-1 x86_64

#16

Updated by holli 73 over 8 years ago

hello,

i changed the files as mentioned Von Miro K. - now my signal strength is 99% and not 47k% - i have 8 digital devices S2 and i'm on

Linux fernsehen 3.12.14-holli #5 SMP Sat Mar 15 23:24:24 CET 2014 x86_64 x86_64 x86_64 GNU/Linux
ubuntu 12.04
Build: 3.9.687~g8b8d402-dirty

maybe this can be included into main for dd-devices?

thanks
holli

#17

Updated by Piotr Kuchciak over 8 years ago

Is the chance to fix this bug with strange % ?

#18

Updated by Crazy Fin over 8 years ago

So wonderful! :-)

Looks like it has been fixed in 3.9.1133!

The values definately correspond to similar values I see when I connect my SatLink measuring instrument to the cables.

I think this ticket can be closed now since it seems to be working from 3.9.1133

See attached screenshot showing proper SignalNoiseRatio (SNR) and Signal Strength values.

#20

Updated by Crazy Fin over 8 years ago

Sorry for the strange double posting. I am not able to edit my post #18, can someone of the moderators please remove the attached files in that post? They are not valid for this ticket.

Correct screenshot is in post #19.

#21

Updated by Rob vh over 8 years ago

Brilliant! Linux 3.2.0-67 and DD Flex-S2, the stream levels are finally usable. THANK YOU.

#22

Updated by Mark Clarkstone over 8 years ago

  • Status changed from Need feedback to Fixed

Fixed in commit:18583234

Also available in: Atom PDF