Re: [vdr] Trouble with DVB-T2 on frontend 1

2017-11-28 Thread Marko Mäkelä

Hallo Klaus,

On Tue, Nov 28, 2017 at 11:28:13AM +0100, Klaus Schmidinger wrote:

On 27.11.2017 19:55, Marko Mäkelä wrote:

On Sun, Nov 26, 2017 at 07:21:58PM +0200, Marko Mäkelä wrote:

Hi all,

I recently got a USB adapter "Astrometa DVB-T2" that I would like to use with 
VDR. It comprises two frontends:

/dev/dvb/adapter0/frontend0: Realtek RTL2832 (DVB-T)
/dev/dvb/adapter0/frontend1: Panasonic MN88473 (DVB-T2 and DVB-C)


Apart from these files, in /dev/dvb/adapter0 I can see the following:
demux0 dvr0 net0

It seems to me that the dvbdevice.c of VDR 2.3.8 assumes that all 
these files exist for all frontends. But there is no demux1, dvr1, or 
net1 on my system.


That's right, VDR assumes that if there is a frontend1 there is also demux1
and dvr1.


In dvbdevice.h, I think that the macros DEV_VIDEO, DEV_DVB_VIDEO, DEV_DVB_AUDIO 
are unused and the definitions could be removed.


DEV_DVB_VIDEO is still used by the dvb[sh]ddevice plugins.


Sorry, I should have thought of output plugins. rpihddevice does not 
refer to any of these.


For cDvbTuner::SetFrontend() the cDvbTuner::adapter and 
cDvbTuner::frontend are already fixed. For my device, frontend0 should 
only be valid for DVB-T, while frontend1 is valid for DVB-T2 and 
DVB-C. How to handle these known-invalid combinations? By 'return 
true'?  Or should I rather hack cDvbTuner so that it opens a file 
descriptor for each frontend, and then chooses the appropriate one in 
cDvbTuner::SetFrontend() based on frontendType?


Which devices does VDR create at startup?
Please post the related log entries.


Attached are two complete logs from /var/log/messages for plain VDR 
2.3.8 startup.


On both startup attempts, channels.conf (attached) contains only DVB-T2 
entries, and the default channel is free-to-view (YLE TV1 HD). The 
channels.conf was converted by dvb-format-convert version 1.12.3:

dvb-format-convert -I DVBV5 -O VDR dvb_channel.conf channels.conf

The first attempt is with the /dev/dvb/adapter0 as is. VDR expectedly 
claims that it cannot tune to the channel with the DVB-T frontend.


The second startup is for a tweak where I removed 
/dev/dvb/adapter0/frontend0 and renamed frontend1 to frontend0. On this 
startup, VDR will not complain anything, but it will not find any signal 
either. It properly detects the MN88473, but perhaps improperly claims 
that it provides DVB-T along with DVB-T2 and DVB-C.


I think we should try to first fix the scenario of the second startup.  
I tried to read the output of


strace dvbv5-zap -a 0 -f 1 -c dvb_channel.conf 'YLE TV1 HD' -r

but I did not find anything special (or did not know what to look for).

Side note: I got the idea of renaming frontend1 to frontend0 from a 
forum post where it appeared to work for some DVB-C users:

https://www.vdr-portal.de/forum/index.php?thread/129861-gel%C3%B6st-problem-mit-hybrid-dvb-usb-stick-mit-zwei-frontends/

Best regards,

Marko
Yle TV1 
HD:184500:B7C999D999G19256I999M999S1T32Y999:T:27500:310:850,853,1127:0:0:21:0:0:0
Yle TV2 
HD:184500:B7C999D999G19256I999M999S1T32Y999:T:27500:312:860,863,2127,5100:0:0:22:0:0:0
MTV3 
HD:184500:B7C999D999G19256I999M999S1T32Y999:T:27500:3292:3293,3297,3299:0:0::0:0:0
Yle Teema & Fem 
HD:184500:B7C999D999G19256I999M999S1T32Y999:T:27500:314:870,3127,3150:0:0:25:0:0:0
Wbox HD 2_3:184500:B7C999D999G19256I999M999S1T32Y999:T:27500:0:0:0:0:9:0:0:0
C More Max 
HD:198500:B7C999D999G19256I999M999S1T32Y999:T:27500:3342:3343:0:0:92:0:0:0
C More Sport 1 
HD:198500:B7C999D999G19256I999M999S1T32Y999:T:27500:3422:3423:0:0:96:0:0:0
C More Sport 2 
HD:198500:B7C999D999G19256I999M999S1T32Y999:T:27500:3432:3433:0:0:98:0:0:0
Viasat Jalkapallo 
HD:198500:B7C999D999G19256I999M999S1T32Y999:T:27500:451:553,554:0:0:122:0:0:0
C More First 
HD:177500:B7C999D999G19256I999M999S1T32Y999:T:27500:1012:4280,6506,6645:0:0:95:0:0:0
Viasat Hockey 
HD:177500:B7C999D999G19256I999M999S1T32Y999:T:27500:2711:2713:0:0:119:0:0:0
Viasat Urheilu 
HD:177500:B7C999D999G19256I999M999S1T32Y999:T:27500:450:550,552:0:0:121:0:0:0
Viasat Golf 
HD:177500:B7C999D999G19256I999M999S1T32Y999:T:27500:1701:1705:0:0:123:0:0:0
Viasat Film Action 
HD:177500:B7C999D999G19256I999M999S1T32Y999:T:27500:1401:816:0:0:124:0:0:0
Viasat Film Premiere 
HD:177500:B7C999D999G19256I999M999S1T32Y999:T:27500:1601:716:0:0:127:0:0:0
Nov 28 21:43:45 raspberrypi vdr: [1299] VDR version 2.3.8 started
Nov 28 21:43:45 raspberrypi vdr: [1299] codeset is 'UTF-8' - known
Nov 28 21:43:45 raspberrypi vdr: [1299] loading plugin: 
/usr/local/lib/vdr/libvdr-rpihddevice.so.2.3.8
Nov 28 21:43:45 raspberrypi vdr: [1299] loading /var/lib/vdr/setup.conf
Nov 28 21:43:46 raspberrypi vdr: [1299] loading /var/lib/vdr/sources.conf
Nov 28 21:43:46 raspberrypi vdr: [1299] loading /var/lib/vdr/diseqc.conf
Nov 28 21:43:46 raspberrypi vdr: [1299] loading /var/lib/vdr/scr.conf
Nov 28 21:43:46 raspberrypi vdr: [1299] loading /var/lib/vdr/channels.conf
Nov 28 21:43:46 raspberrypi vdr: [1299] loading /var/lib/vdr/timers.conf
Nov 

Re: [vdr] Trouble with DVB-T2 on frontend 1

2017-11-28 Thread Klaus Schmidinger

On 27.11.2017 19:55, Marko Mäkelä wrote:

On Sun, Nov 26, 2017 at 07:21:58PM +0200, Marko Mäkelä wrote:

Hi all,

I recently got a USB adapter "Astrometa DVB-T2" that I would like to use with 
VDR. It comprises two frontends:

/dev/dvb/adapter0/frontend0: Realtek RTL2832 (DVB-T)
/dev/dvb/adapter0/frontend1: Panasonic MN88473 (DVB-T2 and DVB-C)


Apart from these files, in /dev/dvb/adapter0 I can see the following:
demux0 dvr0 net0

It seems to me that the dvbdevice.c of VDR 2.3.8 assumes that all these files 
exist for all frontends. But there is no demux1, dvr1, or net1 on my system.


That's right, VDR assumes that if there is a frontend1 there is also demux1
and dvr1.


In dvbdevice.h, I think that the macros DEV_VIDEO, DEV_DVB_VIDEO, DEV_DVB_AUDIO 
are unused and the definitions could be removed.


DEV_DVB_VIDEO is still used by the dvb[sh]ddevice plugins.

For cDvbTuner::SetFrontend() the cDvbTuner::adapter and cDvbTuner::frontend are already fixed. For my device, frontend0 should only be valid for DVB-T, while frontend1 is valid for DVB-T2 and DVB-C. How to handle these known-invalid combinations? By 'return true'?  Or should I rather hack cDvbTuner 
so that it opens a file descriptor for each frontend, and then chooses the appropriate one in cDvbTuner::SetFrontend() based on frontendType?


Which devices does VDR create at startup?
Please post the related log entries.

Last, I noticed that there exists cDvbDevice::BondDevices() for bonding multiple DVB-S devices to the same dish. I guess it is not feasible to extend this to my DVB-T/DVB-T2 device, because I would suppose that unlike the DVB-S devices, my USB stick does not support concurrent reception from both 
frontends at the same time.


Device bonding is only meant for DVB-S devices.

Klaus

___
vdr mailing list
vdr@linuxtv.org
https://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr