[linux-dvb] DVB-S2 API vs. HVR4000: When?

Manu Abraham abraham.manu at gmail.com
Fri Nov 2 17:13:06 CET 2007

Steven Toth wrote:
> Manu Abraham wrote:
>> Steven Toth wrote:
>>> The design goals for me are:
>>> 1) We stop trying to predict what the API will need in 5 years, and
>>> focus on building a very simplistic ioctl API for getting and setting
>>> generic frontend properties, it should be basic enough to deal with any
>>> new modulation type (or advanced tuner) that we know of today.
>>> 2) We change the tuning mechanism from being (mostly) atomic
>>> (SET_FRONTEND) to a looser command/sequence definition. (Thereby
>>> stepping away from fixed structs that define the ABI). With two new
>>> ioctls (get_property/set_property) and a simple property struct which
>>> specifies how generic types are passed to/from the kernel.
>>> 3) A userland library _may_ offer a number of helper functions to
>>> simplify in terms of applications development, turning this:
>> [..]
>>> command.id = END_TRANSACTION
>>> ioctl(SET_PROPERTY, &command);
>>> Into a more human readable form like this:
>>> int tune_8vsb(frequency);
>> Even before you thought even, we (myself and adq) have had an
>> implementation to do this, in kernel it was called "mti" and the
>> userspace interface called "libdvbapi". The sample implementation was
>> with the stv0299 and the ttpci card. This was more than 18 months
>> back. The reason for that cause was another specific
>> demodulator.
>> You can read through the archives, on the same, tuning algorithms and
>> so on. In that scenario, we additionally had the tuning algorithm
>> in userspace too, simplifying many other things.
> Interesting, I'll dig back and read. Why didn't it gain any traction?

It was done around 70%, but then the STB0899 got a higher priority.

Markus's userspace approach is also similar, not much different, small 
differences. ;-)

When so much is done, then i would say better it is to move all frontends
to userspace as well. but mti/libdvbapi had the best of both the worlds, It 
was to be working with both in kernel and userspace drivers, quite flexible.

The whole thing started of with a small thing, an idea from Johannes 
about a "simple user space tuning".

I had even pointed it to Greg KH when he introduced UIO and eventually 
it was on LWN as well. probably if you Google you might find the same.
Greg was happy to see such things which were completely different.

It wasn't that it didn't gain any traction, Ralph at that time advised me to 
pay more attention to DVB-S2/STB0899.


More information about the linux-dvb mailing list