[vdr] VDR and Hybrid DVB Cards ( was "HVR 4000 drivers broken - adapter0/frontend1 busy" in linux-media list )

L. Hanisch dvb at flensrocker.de
Tue Nov 15 19:50:37 CET 2011


Am 15.11.2011 11:52, schrieb Steffen Barszus:
> 2011/11/15 Hawes, Mark<MARK.HAWES at au.fujitsu.com>:
>>> What i got from previous discussions on linux-media is, that if the
>>> device nodes are created within one adapter, an application needs to
>>> assume that
>>> the devices can not be used concurrently and needs to close
>>> one "device node group" before opening the other one.
>>>
>> This suggests a constraint in the current design of the way VDR handles
>> the detection and use of DVB devices in that it cannot handle so called
>> 'hybrid' cards where two (or more!) frontends are attached via a single
>> adaptor without restarting VDR and identifying which frontend to use.
>>
>> As already mentioned I wish to use both cards on my system and I'd be
>> interested and happy to help in developing a patch to overcome this
>> constraint. However I would need some VDR architectural guidance to
>> suggest how this might be done with minimal disruption to the current
>> DVB device handling. Any direction would be much appreciated.
>
> What i said above is AFAIK more or less undocumented up to now. But it
> seems to be a consensus between most driver developers now.
>
> Yes vdr needs to change to handle this devices properly based on the
> previous assumptions, i think soneone else can be more helpful than me
> ;).

  I'm just preparing a test environment for extending the vdr to use multi-frontend devices. Good to know that there are 
drivers which behaves different in creating device nodes. The Cine-C/T cards for example creates only one demux/dvr node 
and two frontends. Soon I will have my hands on such a device. If I can get a patch working for this card it's only a 
small step to support the HVR 4000, two.

  I have already dealt with vdr devices and have some knowledge about the concepts. I developed the dynamite plugin 
which extends vdr with some device hotplugging capabilities. It also requires patching the vdr. But with this you can 
use both devices without restarting vdr and affecting timers and recordings. But for now there's no automatism so that 
the right device for the watched/recorded channel is attached. Please have a look at the README if you're interested. If 
you have questions, just ask.

  http://projects.vdr-developer.org/projects/plg-dynamite
  https://github.com/flensrocker/vdr-plugin-dynamite

  If you want to develop something on your own, start reading device.[hc] and dvbdevice.[hc] at the vdr source.
  I definitly will try to develop a "multi-frontend-patch" but spare time is always rare. I will reserve one evening per 
week for this. And I hope to finish it till christmas. ;-)

  If you have ideas please let me know. I'm looking for some inspiration for storing the different frontend capabilities 
at the cDvbDevice and how to maintain the different cDvbTuner objects. My experience while working on dynamite will help 
me in particular since I invested some time on closing/reopening the file handles at the right places. Hotplugging 
"single frontend" devices seems to be a good first step towards the solution of this problem.

Lars.



More information about the vdr mailing list