[linux-dvb] DVB-S2 / Multiproto and future modulation support

Steven Toth stoth at linuxtv.org
Thu Sep 11 03:00:45 CEST 2008

Christophe Thommeret wrote:
> Le Thursday 11 September 2008 00:59:31 Andreas Oberritter, vous avez écrit :
>> Hans Werner wrote:
>>>> So applications could know that these 2 frontends are exclusive.
>>>> That would not require any API change, but would have to be a rule
>>>> followed by
>>>> all drivers.
>>> Yes, if we keep to that rule then only frontends which can operate truly
>>> simultaneously should have a different adapter number.
>> An adapter refers to a self-contained piece of hardware, whose parts can
>> not be used by a second adapter (e.g. adapter0/demux0 can not access the
>> data from adapter1/frontend1). In a commonly used setup it means that
>> adapter0 is the first initialized PCI card and adapter1 is the second.
>> Now, if you want a device with two tuners that can be accessed
>> simultaneously to create a second adapter, then you would have to
>> artificially divide its components so that it looks like two independant
>> PCI cards. This might become very complicated and limits the functions
>> of the hardware.
>> However, on a setup with multiple accessible tuners you can expect at
>> least the same amount of accessible demux devices on the same adapter
>> (and also dvr devices for that matter). There is an ioctl to connect a
>> frontend to a specific demux (DMX_SET_SOURCE).
>> So, if there are demux0, frontend0 and frontend1, then the application
>> knows that it can't use both frontends simultaneously. Otherwise, if 
>> there are demux0, demux1, frontend0 and frontend1, then it can use both
>> of them (by using both demux devices and connecting them to the
>> frontends via the ioctl mentioned above).
> Sounds logical. And that's why Kaffeine search for frontend/demux/dvr > 0 and 
> uses demux1 with frontend1. (That was just a guess since i've never seen 
> neither any such devices nor comments/recommendations/rules about such case).
> However, all dual tuners devices drivers i know expose the 2 frontends as 
> frontend0 in separate adapters. But all these devices seems to be USB.
> The fact that Kaffeine works with the experimental hvr4000 driver indicates 
> that this driver populates frontend1/demux1/dvr1 and then doesn't follow the 
> way you describe (since the tuners can't be used at once).
> I would like to hear from Steve on this point.

Correct, frontend1, demux1, dvr1 etc. All on the same adapter. The 
driver and multi-frontend patches manage exclusive access to the single 
internal resource.

- Steve

More information about the linux-dvb mailing list