Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hauppauge WinTV Nova S2 - 2013:0461 Not Working #6

Closed
Solifuge80 opened this issue Dec 27, 2019 · 25 comments
Closed

Hauppauge WinTV Nova S2 - 2013:0461 Not Working #6

Solifuge80 opened this issue Dec 27, 2019 · 25 comments

Comments

@Solifuge80
Copy link

Hi,

as you requested from the other topic in the wrong section I'm opening the issue in the right place.

The device is recognized from Ubuntu 18.04.3 LTS with Linux ubuntu-x64 5.0.0-37201911191317-generic #0+mediatree+hauppauge~hwe-Ubuntu SMP.

I can use it from w_scan or TVHeadend but nothing is found during a full scan with Hotbitd 13E.

I can correctly use this device with Windows 10 so I can exlude problems in my home SAT environment or in the device itself.

I can support you with everything you need: I have also opened a ticket with Hauppauge because they certified this device with Ubuntu but, even if I have followed their instructions, I don't get it working.

Thanks your help.

@DiJGo
Copy link

DiJGo commented Dec 28, 2019

This is a follow up thread from
b-rad-NDi/Ubuntu-media-tree-kernel-builder#53
also see there for history.

My Tuner-HW is not a Hauppauge WinTV Nova S2 - 2013:0461
but a Hauppauge PCTV DVB-S2 461e (V2), LF Rev B8H9
yet I assume they share the same issue/dependency on
Montage m88ds3103b.
Behaviour similar
PCTV461e (B8H9) does get recognized in dmesg, green light comes on,
FW <dvb-demod-m88ds3103b.fw> is loaded,
but no TV signal is found using w_scan (for Astra 19E2).
Same setup works fine on Linux with an earlier version PCTV DVB-S2 461e, LF Rev B3H9,
non-b m88ds3103.
PCTV461e (B8H9) works fine with Win10.

@b-rad-NDi
I like to support you with testing on DVB-S2.
From your older drivers that are confirmed working and deployed to various customers,
for one that supports B8H9 can you please
share their image or branches ,
so I can clone, build and throw them onto my system(s) for a trial
e.g.
git clone -b https://github.com/b-rad-NDi/media_tree.git
git clone --depth=1 --branch https://github.com/raspberrypi/linux

I like to see them work on my HW to check that there are really not
any other last-minute HW changes on my PCTV DVB-S2 461e V2, very recent purchase.

Also if there are any line of test-code or messages I can include into the sources e.g. <m88ds3103.c>
for debug let me know. My programming skills are very outdated but I can follow simple instructions.

Regarding application test I will stick with dmesg and w_scan,
femon did only show me bogs data, I assume it is only useful once Sat connection is established.
The delta I saw in dmesg PCTV461e (B3H9) vs. PCTV461e (B8H9) seemed normal expected to me
i.e. names changed and according dvb-demod-m88ds3103.fw vs. dvb-demod-m88ds3103b.fw gets loaded.
Application SW w_scan autodetects
PCTV461e (B3H9) as M88DS3103
Info: using DVB adapter auto detection.
/dev/dvb/adapter0/frontend0 -> SATELLITE "Montage Technology M88DS3103": very good :-))
PCTV461e (B8H9) as M88RS6000
/dev/dvb/adapter0/frontend0 -> SATELLITE "Montage Technology M88RS6000": very good :-))
I assume that's ok ? One is the id the other is the type ?
dev->chip_id == M88RS6000_CHIP_ID
dev->chiptype == M88DS3103_CHIPTYPE_3103B

I've also filed a support request with Hauppauge
though I see that currently their is no official support for B8H9 yet
https://www.hauppauge.de/site/support/support_linux.html
PCTV 461e Stick (USB 2.0, DVB-S/S2)
Modell 200000 Rev B6H9 (und frühere Revisionen) werden unterstützt ab Kernel 3.14.
Benötigte Firmware-Datei: dvb-demod-m88ds3103.fw
Hardware Revisonen B7H9 und B8H9 werden derzeit nicht unterstützt.

@thomisus
Copy link

Hi, I can confirm that revision 0461 is not working properly ( or I cannot get it to work ).
Tried ubuntu 16.04 - 18.04 with or without hwe stack with your ppa. Also tried to compile your branch.
After installing your kernel , I downloaded missing firmware and dvb-demod from coreelec repo.

Tried to do a full scan of hotbird with w_scan but nothing is found.
Tried to scan a transponder with mumudvb but nothing is found.

What I noticed using mumudvb and femon is that I get this error:

Problem retrieving frontend information: Unknown error 524

The signal reported is 92% but SNR 0

Maybe something changed from one revision to the other.

Yesterday i restarted from scratch with a clean ubuntu 16.04 VM, building the kernel with every patch applied, but the same situation happens.

What I can try to help debug?

@DiJGo
Copy link

DiJGo commented Dec 29, 2019

@thomisus rgds "femon, Problem retrieving frontend information"
This is pretty much outside my expertise or comfort zone (hobbyist)
but I'm willing to learn and also try to find a debug tool to help narrow down the issue.

I suspect femon is a bit old, and for me it gives bogus data, so I don't trust it
Because for me I see it produces such error message also on good system.
femon -H
FE: Montage Technology M88DS3103 (DVBS) [known good system]
Problem retrieving frontend information: Unknown error 524 <------
status | signal 30% | snr 96% | ber 2203 | unc 1995919656 |
femon -H
FE: Montage Technology M88RS6000 (DVBS)
Problem retrieving frontend information: Unknown error 524 <------
status | signal 30% | snr 96% | ber 2203 | unc 1995268392 |

Instead of femon I intend to debug with modified w_scan because with that I see the delta
old HW version pctv461e (B3H9) (w_scan passes)
signal e3d6 | snr 0000 | ber 00000000 | unc 00000000 |
signal e3d6 | snr 006b | ber 00000000 | unc 00000000 | FE_HAS_LOCK
FE_HAS_SIGNAL - FE_HAS_CARRIER - FE_HAS_VITERBI - FE_HAS_SYNC -
signal ok: S2 f = 10729 kHz V SR = 22000 2/3 0,35 8PSK (0:0:0)
vs.
new HW version pctv461e (B8H9) (w_scan fails)
signal e665 | snr 0000 | ber 00000000 | unc 00000000 |
signal e665 | snr 0000 | ber 00000000 | unc 00000000 |
... repeats similar like above many more times
i.e. never gets a signal lock and finally times out

In other words for me new HW version pctv461e (B8H9) behaves like disconnected from Sat-cable.

In the end I think all these apps just use calls to the DVB frontend API
similar https://www.kernel.org/doc/html/v4.10/media/uapi/dvb/frontend_fcalls.html
which I guess in return depend on the driver and firmware.

I hope @b-rad-NDi can give us some more ideas for trial and debug,
and a proven working SW setup for HW cross-check on Sat.

P.S. attached a little more detail by file.
pctv_461e_Linux_forum_support_request_04.txt

@thomisus
Copy link

One more try.
I'm trying dvb-fe-tool and dvbv5-scan.
After running dvb-fe-tool i get:

Device Montage Technology M88RS6000 (/dev/dvb/adapter0/frontend0) capabilities:
     CAN_2G_MODULATION
     CAN_FEC_1_2
     CAN_FEC_2_3
     CAN_FEC_3_4
     CAN_FEC_4_5
     CAN_FEC_5_6
     CAN_FEC_6_7
     CAN_FEC_7_8
     CAN_FEC_8_9
     CAN_FEC_AUTO
     CAN_INVERSION_AUTO
     CAN_QPSK
     CAN_RECOVER
DVB API Version 5.11, Current v5 delivery system: DVBS
Supported delivery systems:
    [DVBS]
     DVBS2
SEC: set voltage to OFF
ERROR    FE_SET_VOLTAGE: Operation not permitted

Maybe is this the problem? Set voltage not permitted/implemented in driver?

@DiJGo
Copy link

DiJGo commented Dec 30, 2019

@thomisus
Can you please open two terminals and in one capture dvb statistics
dvb-fe-tool -m -v
in another terminal run w_scan (choose for your satellite e.g. Astra S19E2) e.g.
w_scan -f s -s S19E2 -c DE
Then after a short while (~5sec) interrupt the w-scan with CTRL-C
and share what you see.

When I do so I see
*** Good case (old HW pctv461e B3H9)
w_scan finds a signal e.g.
(time: 00:07.459) signal ok:
dvb-fe-tool continously finds "Lock" and values while w_scan runs e.g.
Lock (0x1f) Signal= -36,09dBm C/N= 14,47dB

*** Bad case (new HW pctv461e B8H9)
w_scan finds no signal
dvb-fe-tool does not find any "Lock" just some values while w_scan runs
BUT
dvb-fe-tool finds "Lock" and values a few seconds AFTER w_scan is interrupted

------ w_scan results
frontend 'Montage Technology M88RS6000' supports
INVERSION_AUTO
DVB-S
DVB-S2
FREQ (0.95GHz ... 2.15GHz)
SRATE (1.000MSym/s ... 45.000MSym/s)
using LNB "UNIVERSAL"
-----------------------_
trying 'S2 f = 10729 kHz V SR = 22000 2/3 0,35 8PSK (0:0:0)'
(time: 00:00.239)
trying 'S f = 10744 kHz H SR = 22000 5/6 0,35 QPSK (0:0:0)'
(time: 00:02.659)
trying 'S f = 10759 kHz V SR = 22000 5/6 0,35 QPSK (0:0:0)'
(time: 00:05.049) ^C
ERROR: interrupted by SIGINT, dumping partial result...
(time: 00:06.499) dumping lists (0 services)
..
Done, scan time: 00:06.499

------ dvb-fe-tool results
**** WHILE w_scan runs (some signal values, but no Lock is found) ****
(0x00) Signal= -38,47dBm
(0x00) Signal= -38,47dBm
(0x00) Signal= -38,47dBm
(0x00) Signal= -14,02dBm
(0x00) Signal= -14,02dBm
(0x00) Signal= -14,02dBm
(0x00) Signal= -75,59dBm
(0x00) Signal= -75,59dBm
(0x00) Signal= -75,59dBm
**** AFTER w_scan was interrupted (a Lock is found) ****
Got parameters for DVBS:
FREQUENCY = 1009000
INVERSION = ON
SYMBOL_RATE = 95998535
INNER_FEC = 5/6
POLARIZATION = OFF
DELIVERY_SYSTEM = DVBS
Lock (0x1f) Signal= -75,59dBm C/N= 15,05dB
Lock (0x1f) Signal= -75,59dBm C/N= 15,05dB
^CSEC: set voltage to OFF
ERROR FE_SET_VOLTAGE: Die Operation ist nicht erlaubt
pi@raspberrypi:~ $

So I think the good news is HW and SW talk to each other and
even create Sat traffic and values, just something is out of sync
when it comes to Locking and detecting.
I'm not sure what this means but maybe it creates an idea for the next debug step.
P.S. regards your observation
"ERROR FE_SET_VOLTAGE: Operation not permitted"
I get that too, but same for both good and bad case so I guess it is not relevant.

@b-rad-NDi
Copy link
Owner

Ok, I've found a series I produced for a customer that they said worked 100%. When I finish my duties I will diff it between what is currently up and fix things. Doubtful to happen until January 2.

@thomisus
Copy link

thomisus commented Dec 30, 2019

@b-rad-NDi Sounds great!!

@DiJGo you are right.. here it is, seems to lock after closing w_scan.

dvb-fe-tool -m -v

       (0x00) Signal= -19.32dBm
       (0x00) Signal= -19.32dBm
       (0x00) Signal= -19.32dBm
       (0x00) Signal= -19.32dBm
       (0x00) Signal= -19.32dBm             
       (0x00) Signal= -29.92dBm                <--------- w_scan started 
       (0x00) Signal= -29.92dBm
       (0x00) Signal= -29.92dBm
       (0x00) Signal= -29.92dBm
       (0x00) Signal= -29.92dBm
       (0x00) Signal= -29.92dBm
       (0x00) Signal= -29.92dBm                <--------- w_scan stopped
Got parameters for DVBS2:
FREQUENCY = 1008000
INVERSION = ON
SYMBOL_RATE = 95998535
INNER_FEC = 5/6
MODULATION = QPSK
PILOT = AUTO
ROLLOFF = 35
POLARIZATION = OFF
STREAM_ID = 4294967295
DELIVERY_SYSTEM = DVBS
Lock   (0x1f) Signal= -29.92dBm C/N= 15.05dB
Lock   (0x1f) Signal= -29.92dBm C/N= 15.05dB
Lock   (0x1f) Signal= -29.92dBm C/N= 15.05dB
Lock   (0x1f) Signal= -29.92dBm C/N= 15.05dB
Lock   (0x1f) Signal= -29.92dBm C/N= 15.05dB
Lock   (0x1f) Signal= -29.92dBm C/N= 15.05dB
Lock   (0x1f) Signal= -29.92dBm C/N= 15.05dB
Lock   (0x1f) Signal= -29.92dBm C/N= 15.05dB
Lock   (0x1f) Signal= -29.92dBm C/N= 15.05dB
Lock   (0x1f) Signal= -29.92dBm C/N= 15.05dB
Lock   (0x1f) Signal= -29.92dBm C/N= 15.05dB
Lock   (0x1f) Signal= -29.92dBm C/N= 15.05dB
Lock   (0x1f) Signal= -29.92dBm C/N= 15.05dB
       (0x00) Signal= -29.92dBm                   <----- w_scan started                           
       (0x00) Signal= -29.92dBm
       (0x00) Signal= -29.92dBm
       (0x00) Signal= -29.92dBm
       (0x00) Signal= -29.92dBm
       (0x00) Signal= -29.92dBm
       (0x00) Signal= -29.92dBm
       (0x00) Signal= -29.92dBm
       (0x00) Signal= -29.92dBm
       (0x00) Signal= -29.92dBm


w_scan

root@ubuntu-x64-18-04:~# w_scan -f s -s S13E0 -c IT
w_scan -f s -s S13E0 -c IT
w_scan version 20170107 (compiled for DVB API 5.10)
using settings for 13.0 east Hotbird 13B/13C/13D
scan type SATELLITE, channellist 70
output format vdr-2.0
WARNING: could not guess your codepage. Falling back to 'UTF-8'
output charset 'UTF-8', use -C <charset> to override
Info: using DVB adapter auto detection.
        /dev/dvb/adapter0/frontend0 -> SATELLITE "Montage Technology M88RS6000": very good :-))

Using SATELLITE frontend (adapter /dev/dvb/adapter0/frontend0)
-_-_-_-_ Getting frontend capabilities-_-_-_-_
Using DVB API 5.11
frontend 'Montage Technology M88RS6000' supports
INVERSION_AUTO
DVB-S
DVB-S2
FREQ (0.95GHz ... 2.15GHz)
SRATE (1.000MSym/s ... 45.000MSym/s)
using LNB "UNIVERSAL"
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
trying 'S  f = 10719 kHz V SR = 27500  5/6 0,35  QPSK  (0:0:0)'
(time: 00:02.043)
trying 'S  f = 10723 kHz H SR = 29900  3/4 0,35  QPSK  (0:0:0)'
(time: 00:05.507)
trying 'S  f = 10758 kHz V SR = 27500  5/6 0,35  QPSK  (0:0:0)'
(time: 00:08.575)
trying 'S2 f = 10775 kHz H SR = 29900  3/4 0,AUTO  8PSK  (0:0:0)'
(time: 00:11.659)
trying 'S  f = 10796 kHz V SR = 27500  5/6 0,35  QPSK  (0:0:0)'
(time: 00:14.859) ^C
ERROR: interrupted by SIGINT, dumping partial result...
(time: 00:15.135) dumping lists (0 services)
..
Done, scan time: 00:15.135
root@ubuntu-x64-18-04:~# w_scan -f s -s S13E0 -c IT
w_scan -f s -s S13E0 -c IT
w_scan version 20170107 (compiled for DVB API 5.10)
using settings for 13.0 east Hotbird 13B/13C/13D
scan type SATELLITE, channellist 70
output format vdr-2.0
WARNING: could not guess your codepage. Falling back to 'UTF-8'
output charset 'UTF-8', use -C <charset> to override
Info: using DVB adapter auto detection.
        /dev/dvb/adapter0/frontend0 -> SATELLITE "Montage Technology M88RS6000": very good :-))

Using SATELLITE frontend (adapter /dev/dvb/adapter0/frontend0)
-_-_-_-_ Getting frontend capabilities-_-_-_-_
Using DVB API 5.11
frontend 'Montage Technology M88RS6000' supports
INVERSION_AUTO
DVB-S
DVB-S2
FREQ (0.95GHz ... 2.15GHz)
SRATE (1.000MSym/s ... 45.000MSym/s)
using LNB "UNIVERSAL"
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
trying 'S  f = 10719 kHz V SR = 27500  5/6 0,35  QPSK  (0:0:0)'
(time: 00:00.264)
trying 'S  f = 10723 kHz H SR = 29900  3/4 0,35  QPSK  (0:0:0)'
(time: 00:03.476)
trying 'S  f = 10758 kHz V SR = 27500  5/6 0,35  QPSK  (0:0:0)'
(time: 00:06.536) ^C
ERROR: interrupted by SIGINT, dumping partial result...
(time: 00:09.504) dumping lists (0 services)
..
Done, scan time: 00:09.504
root@ubuntu-x64-18-04:~# w_scan -f s -s S13E0 -c IT
w_scan -f s -s S13E0 -c IT
w_scan version 20170107 (compiled for DVB API 5.10)
using settings for 13.0 east Hotbird 13B/13C/13D
scan type SATELLITE, channellist 70
output format vdr-2.0
WARNING: could not guess your codepage. Falling back to 'UTF-8'
output charset 'UTF-8', use -C <charset> to override
Info: using DVB adapter auto detection.
        /dev/dvb/adapter0/frontend0 -> SATELLITE "Montage Technology M88RS6000": very good :-))

Using SATELLITE frontend (adapter /dev/dvb/adapter0/frontend0)
-_-_-_-_ Getting frontend capabilities-_-_-_-_
Using DVB API 5.11
frontend 'Montage Technology M88RS6000' supports
INVERSION_AUTO
DVB-S
DVB-S2
FREQ (0.95GHz ... 2.15GHz)
SRATE (1.000MSym/s ... 45.000MSym/s)
using LNB "UNIVERSAL"
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
trying 'S  f = 10719 kHz V SR = 27500  5/6 0,35  QPSK  (0:0:0)'
(time: 00:00.292)
trying 'S  f = 10723 kHz H SR = 29900  3/4 0,35  QPSK  (0:0:0)'
(time: 00:03.716)
trying 'S  f = 10758 kHz V SR = 27500  5/6 0,35  QPSK  (0:0:0)'
(time: 00:07.048)
trying 'S2 f = 10775 kHz H SR = 29900  3/4 0,AUTO  8PSK  (0:0:0)'
(time: 00:10.336)
trying 'S  f = 10796 kHz V SR = 27500  5/6 0,35  QPSK  (0:0:0)'
(time: 00:13.704)
trying 'S  f = 10815 kHz H SR = 27500  5/6 0,35  QPSK  (0:0:0)'
(time: 00:16.756)
trying 'S2 f = 10834 kHz V SR = 27500  3/4 0,AUTO  8PSK  (0:0:0)'
(time: 00:19.904)
trying 'S2 f = 10853 kHz H SR = 29900  3/4 0,AUTO  8PSK  (0:0:0)'
(time: 00:23.244)
trying 'S  f = 10873 kHz V SR = 27500  3/4 0,35  QPSK  (0:0:0)'
(time: 00:26.261)
trying 'S  f = 10892 kHz H SR = 27500  3/4 0,35  QPSK  (0:0:0)'
(time: 00:29.569) ^C
ERROR: interrupted by SIGINT, dumping partial result...
(time: 00:31.965) dumping lists (0 services)
..
Done, scan time: 00:31.965


@DiJGo
Copy link

DiJGo commented Jan 5, 2020

All,

in the file after Brad's patch applied
~/linux/drivers/media/usb/em28xx/em28xx-dvb.c
make changes inside function like below (use default values 0 instead of 1)
static int em28178_dvb_init_pctv_461e_v2(struct em28xx *dev)
{

//m88ds3103_pdata.ts_clk_pol = 1;
m88ds3103_pdata.ts_clk_pol = 0; // use this instead
m88ds3103_pdata.agc = 0x99;
//m88ds3103_pdata.agc_inv = 1;
m88ds3103_pdata.agc_inv = 0;    // use this instead
//m88ds3103_pdata.spec_inv = 1;
m88ds3103_pdata.spec_inv = 0;   // use this instead

Then recompile etc.
This worked for me.

To do a quick check follow e.g. instructions from
https://www.linuxtv.org/wiki/index.php/Testing_your_DVB_device

In my case
szap -r 'Das Erste' -c ./channels.conf
with channels.conf downloaded from
https://github.com/hiroshiyui/dvb-apps/blob/master/util/szap/channels-conf/dvb-s/Astra-19.2E
mplayer /dev/dvb/adapter0/dvr0

And voila I got a picture

Please try for your setups and see if it works for you as well.

@b-rad-NDi
Copy link
Owner

SMH. Go figure it'd be something as easy as that. I've been poring over the demod code trying to figure out what subtle error I'd introduced lol.

I'll get this fixed up tomorrow.

b-rad-NDi pushed a commit that referenced this issue Jan 6, 2020
…ases

v4l2-compliance fails with this message:

   fail: v4l2-test-buffers.cpp(691): ret == 0
   fail: v4l2-test-buffers.cpp(974): captureBufs(node, q, m2m_q,
frame_count, true)
   test MMAP: FAIL

This caused the following Kernel Warning:

WARNING: CPU: 0 PID: 961 at
drivers/media/v4l2-core/videobuf2-core.c:1658
__vb2_queue_cancel+0x174/0x1d8
...
CPU: 0 PID: 961 Comm: v4l2-compliance Not tainted
4.14.62-01720-g20ecd717e87a #6
Hardware name: Generic DRA72X (Flattened Device Tree)
Backtrace:
[<c020b5bc>] (dump_backtrace) from [<c020b8a0>] (show_stack+0x18/0x1c)
 r7:00000009 r6:60070013 r5:00000000 r4:c1053824
[<c020b888>] (show_stack) from [<c09232e8>] (dump_stack+0x90/0xa4)
[<c0923258>] (dump_stack) from [<c022b740>] (__warn+0xec/0x104)
  r7:00000009 r6:c0c0ad50 r5:00000000 r4:00000000
[<c022b654>] (__warn) from [<c022b810>] (warn_slowpath_null+0x28/0x30)
  r9:00000008 r8:00000000 r7:eced4808 r6:edbc9bac r5:eced4844
r4:eced4808
[<c022b7e8>] (warn_slowpath_null) from [<c0726f48>]
(__vb2_queue_cancel+0x174/0x1d8)
[<c0726dd4>] (__vb2_queue_cancel) from [<c0727648>]
(vb2_core_queue_release+0x20/0x40)
  r10:ecc7bd70 r9:00000008 r8:00000000 r7:edb73010 r6:edbc9bac
r5:eced4844
  r4:eced4808 r3:00000004
[<c0727628>] (vb2_core_queue_release) from [<c0729528>]
(vb2_queue_release+0x10/0x14)
  r5:edbc9810 r4:eced4800
[<c0729518>] (vb2_queue_release) from [<c0724d08>]
(v4l2_m2m_ctx_release+0x1c/0x30)
[<c0724cec>] (v4l2_m2m_ctx_release) from [<bf0e8f28>]
(vpe_release+0x74/0xb0 [ti_vpe])
  r5:edbc9810 r4:ed67a400
[<bf0e8eb4>] (vpe_release [ti_vpe]) from [<c070fccc>]
(v4l2_release+0x3c/0x80)
  r7:edb73010 r6:ed176aa0 r5:edbc9868 r4:ed5119c0
[<c070fc90>] (v4l2_release) from [<c033cf1c>] (__fput+0x8c/0x1dc)
  r5:ecc7bd70 r4:ed5119c0
[<c033ce90>] (__fput) from [<c033d0cc>] (____fput+0x10/0x14)
  r10:00000000 r9:ed5119c0 r8:ece392d0 r7:c1059544 r6:ece38d80
r5:ece392b4
  r4:00000000
[<c033d0bc>] (____fput) from [<c0246e00>] (task_work_run+0x98/0xb8)
[<c0246d68>] (task_work_run) from [<c022f1d8>] (do_exit+0x170/0xa80)
  r9:ece351fc r8:00000000 r7:ecde3f58 r6:ffffe000 r5:ece351c0
r4:ece38d80
[<c022f068>] (do_exit) from [<c022fb6c>] (do_group_exit+0x48/0xc4)
  r7:000000f8
[<c022fb24>] (do_group_exit) from [<c022fc00>]
(__wake_up_parent+0x0/0x28)
  r7:000000f8 r6:b6c6a798 r5:00000001 r4:00000001
[<c022fbe8>] (SyS_exit_group) from [<c0207c80>]
(ret_fast_syscall+0x0/0x4c)

These warnings are caused by buffers which not properly cleaned
up/release during an abort use case.

In the abort cases the VPDMA desc buffers would still be mapped and the
in-flight VB2 buffers would not be released properly causing a kernel
warning from being generated by the videobuf2-core level.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
@b-rad-NDi
Copy link
Owner

b-rad-NDi commented Jan 7, 2020

Driver updates have been migrated to branch:Montage-3103b.v3

Note this contains an update to get closer to upstream, an i2c dummy device for the timing chip. If you compile and find this modification does not work, it can be backed off by switching which line in commented in the dt_read/dt_write functions.

@Solifuge80
Copy link
Author

Hi @b-rad-NDi,

I have some problem with my setup. With Windows 10, as I described before, all things are functional, same as with Linux and TvHeadend with the WinTV-dualHD.

With the WinTV-NOVA-S2 and your last branch:

  • now the scans returns some channels but not all the channels that are available with Windows 10
  • with the channels founded I can play the stream but the are a huge numbers of continuity and transport errors.

image

image

Can you help me please ?

@b-rad-NDi
Copy link
Owner

Ok so this thread is titled bizarrely. The "Nova S2" does not have usb vid:pid of 2013:0461. The "Nova S2" is not a usb device at all.

Are you telling me that "Nova S2" now comes with the 3103b demodulator like 461e (the point of this issue)? If so, then it never worked in Linux because the support for that demod is the point of my branch. I will need pci id's and other identifying information to stuff in the support for this device. I'll ask my bosses if they know anything about this, but they haven't said anything to me about pcie devices.

@b-rad-NDi
Copy link
Owner

@Solifuge80 : boss tells me "Nova S2" is 461e in different plastic. Getting specs on it now, but there's no reason why it shouldn't work just as well as 461e does.

@Solifuge80
Copy link
Author

@b-rad-NDi My device is this: https://www.hauppauge.co.uk/site/products/data_novas2.html with 2013:0461.

@Solifuge80
Copy link
Author

Hi @b-rad-NDi , do you have any news for my Nova S2 ? Is there something I can do to make you understand my problem in using this device ?

Thank you very much,

@thomisus
Copy link

thomisus commented Feb 2, 2020

Hi @b-rad-NDi , any news.. I have the same usb stick as @Solifuge80 and have same problems

@b-rad-NDi
Copy link
Owner

Would any of you be interested in trying test kernels with hopeful/potential fixes?

We suspect this is a usb bandwidth issue. DVB-T2 maximum bandwidth is ~53mbps whereas DVB-S2 maximum bandwidth is ~140mbps. The fixes revolve around increasing the amount of data delivered by the usb subsystem.

@Solifuge80
Copy link
Author

@b-rad-NDi Thank you for your support but I've sold the Nova S2 two months ago as there was no way to make it function properly. I've bought a Sundtek SkyTV Ultimate 8 and it's running fine.

@b-rad-NDi
Copy link
Owner

This issue is being escalated now. Hoping to get to the bottom of this.

@b-rad-NDi
Copy link
Owner

Attention all: A tester has utilized my eeprom-tinker utility to convert their 461e from ISOC transfer to bulk transfer and now all the "bad" satellites work 100%. I still need others to confirm the fix, but it is like I theorized, once I realized the 461e is coming from the factory in ISOC mode.

Please reach out to either me or hauppauge support for the conversion utillity.

@DiJGo @thomisus

@thomisus
Copy link

thomisus commented Jun 8, 2020

Hi Brad,
i started with a clean install of ubuntu 20.04, your ppa and latest kernel.
I compiled eeprom-tinker and changed from isoc to bulk mode.
First thing i noticed is that

root@ubuntu-x64-20-04:~/eeprom-tinker# dmesg |grep -i em28x
[    4.238189] em28xx 1-2:1.0: New device PCTV PCTV 461 @ 480 Mbps (2013:0461, interface 0, class 0)
[    4.238191] em28xx 1-2:1.0: DVB interface 0 found: isoc
[    4.300377] em28xx 1-2:1.0: chip ID is em28178
[    4.689338] em28xx 1-2:1.0: EEPROM ID = 26 00 01 00, EEPROM hash = 0x7ed642a2
[    4.689340] em28xx 1-2:1.0: EEPROM info:
[    4.689341] em28xx 1-2:1.0: 	microcode start address = 0x0004, boot configuration = 0x01
[    4.698463] em28xx 1-2:1.0: 	AC97 audio (5 sample rates)
[    4.698464] em28xx 1-2:1.0: 	500mA max power
[    4.698466] em28xx 1-2:1.0: 	Table at offset 0x27, strings=0x148c, 0x1874, 0x0a6a
[    4.755842] em28xx 1-2:1.0: Identified as PCTV DVB-S2 Stick (461e v2) (card=104)
[    4.755845] em28xx 1-2:1.0: dvb set to isoc mode.
[    4.755979] usbcore: registered new interface driver em28xx
[    4.772626] em28xx 1-2:1.0: Binding DVB extension
[    4.911067] em28xx 1-2:1.0: DVB: registering adapter 0 frontend 0 (Montage Technology M88DS3103B)...
[    4.912077] em28xx 1-2:1.0: DVB extension successfully initialized
[    4.912079] em28xx: Registered (Em28xx dvb Extension) extension
[    4.931233] em28xx 1-2:1.0: Registering input extension
[    4.965007] rc rc0: lirc_dev: driver em28xx registered at minor = 0, scancode receiver, no transmitter
[    4.965101] em28xx 1-2:1.0: Input extension successfully initialized
[    4.965102] em28xx: Registered (Em28xx Input Extension) extension

still reports isoc mode but

root@ubuntu-x64-20-04:~/eeprom-tinker# ./eeprom-tinker -i -b 0
EEPROM Tinker
	Welcome to the danger zone
	Be careful, this utility can harm your system if misused!

Found tag 0x04 (serial)
Found tag 0x06 (model/revision)

vid:pid       2013:0461
Board Config: 04  (bulk)
serial:       d6 d3 01
model:        00 03 0d 40  ( 200000 )
revision:     89 8a 19

Found: isoc mode PCTV 461e (3103B)  ( 200000 )
Conversion to bulk mode possible: yes
Convert device to new PID? possible
Change allowed

reports bulk mode.

At least now I can scan transponders and muxes and find channels.

The problem is that I can only watch SD channels. With HD or 4K channels i get a lot of continuity errors and the image is blank.

Another problem is that sometimes the signal is very low ( like 17% ) but if i reboot , the signal goes up to 93%.

@b-rad-NDi
Copy link
Owner

b-rad-NDi commented Jun 8, 2020

@thomisus Did you unplug and reconnect the device after using the tool? If that bit is set in the eeprom the driver configures it in bulk mode.

@thomisus
Copy link

thomisus commented Jun 17, 2020

@b-rad-NDi
Hi, first of all, thank you very much for your effort and great dedication.
After many tries and many changed settings in tvheadend and kaffeine, I can confirm it works quite good. The trick was to enable "force old status" in tvheadend in order to use old ioctl to read linuxdvb status. I can watch HD and 4K programs too. Without that setting I can't watch anything ( but I can find channels from w_scan )

From a technical point of view, why under windows the usbkey can work without changing the usb mode?

Now a another bug i found. As you can see from this image https://imgur.com/a/846dTh0
i get 0 SNR.. maybe the driver is not reporting it correctly?

@b-rad-NDi
Copy link
Owner

Thank you for the update @thomisus :-D

In theory it should have worked just as bad, or close to, in windows. We've gotten quite a few reports as transponders have been drastically increasing their bandwidth.

I will look into the SnR issue and see about getting it sorted out.

@b-rad-NDi
Copy link
Owner

Can you file a new bug for the SnR @thomisus

I'm going to close this one, since I (fingers crossed) believe this issue is now FINALLY settled.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants