Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] dvb-kernel and upcoming Linux kernel 2.6
Hello all,
I think all of you have noticed already that the official 2.6 Linux
kernel is out. It's the first kernel that officially contains the
LinuxTV.org DVB subsystem plus a variety of drivers for different DVB cards.
Thanks to everyone who contributed!
Because of the recent feature freeze, however, the DVB subsystem in
2.6.0 is not quite up-to-date.
I already made a set of 12 patches that syncs the "dvb-kernel" CVS
archive with 2.6.0 and put it into the "patches-2.6" directory. The
patches have already been queued by Andrew Morton, the official 2.6
maintainer, and I expect them to be part of the 2.6.1 release.
As one of the last bigger changes, the core developers decided to remove
the firmware from the av7110/dvb-ttpci driver. I know that this is a
controversial step, so I'd like to explain it further.
Here are some cons that speak against this step:
Some people say that the firmware is an integral part of the driver,
because without it, the device is nearly useless. Because of this, a
working version of the firmware should be distributed with the driver.
The need to load the firmware adds one additional step that makes things
more complicated. The user needs to find and download a recent firmware
file from the internet. It's likely that there will be firmware updates
that will be incompatible with earlier versions of the firmware. The
objectors say, a "version mess" is going to happen, especially for newbies.
Here are some pros of this step:
Even if the firmware is "encoded" as a header file, it's basically a big
binary blob in the kernel. Changes to the firmware always usually result
in a real big diff which needs to be applied to the kernel tree.
The DVB drivers are prone to have firmware coming with them. Currently
it's the av7110, the TT-USB Dec, the TT-USB-Budget and some of the
frontends already. It's likely that the kernel maintainers get pissed by
the fact that the DVB subsystem contains several megabytes of binary
firmware within easily.
The main concern, howeverm, is that the legal status of most of the
firmware files is unknown. Except of the av7110 firmware, there is no
clear message from the manufacturer if it's ok to include the binary
firmware.
The Debian distribution has announced to rip out every firmware blob
from the kernel because of this problem. (I guess this is the reason why
they sponsored the firmware_class firmware loading code in 2.6) I think
other big distributions like SuSE or RedHat don't want to risc to get
sued by some manufacturer because of some firmware file they distributed
within their distribution either.
Ok, I know some people that say that this is not the problem of the
LinuxTV.org project and that companies should get used to the fact that
firmware under some copyright is part of open-source drivers.
But even if we like it or not: Linux has gone commercial in the last
years and this brings problems from the "old" world to the realatively
young Linux world, where people did not care about these things. I'm
sure most of the contributors of the DVB project don't care a thing
either about this, me included. But I think we should do everything to
keep the legal status of our project clear, just to be on the safe side.
(see below of what has to be done to achieve this)
As a first step, the av7110 firmware file is gone now. Several people
have tested the firmware loading by using the hotplug system or by
manually loading the firmware. All this is described in the new
"Documentation/dvb" directory, please read it.
Part of the new documentation is the "contributors" list. If you are not
in the list but you think you should be (or someone else should) please
send me a patch. I think that everyone involved in the project should be
named there.
I admit that there are some things on the todo list for the av7110
driver, that I did not have the time to test yet. Tests and patches are
very welcome. Although I have some christmas holidays now, I don't want
to spend them entirely on the av7110 driver... ;-)
1) It's unclear/untested what happens if you compile the driver
statically into the kernel now and what has to be done to make it work
again if there are problems.
2) It should still be possible to compile the firmware into the driver,
both for a module build and a build into the kernel if you know what
your're doing. This is what some drivers are already doing, this should
be available for the av7110 driver too.
3) The other drivers that have firmware blobs should get converted one
after another. If the firmware does not change, however, there is no
hurry to do so.
4) People should ask the manufacturers to provide a firmware version
that can be used freely with the Linux driver and that can be put into
the LinuxTV.org download directory. We should not wait until companies
vanish and leave us with devices where no firmware is available any
more. (Yes, this has nearly happened recently with the Kfir driver)
5) With the recent patches, 2.6 and "dvb-kernel" are further drifting
apart. We need to decide when to drop the backward compatiblity to 2.4
kernels via "build-2.4" for the DVB drivers. (The dvb-core needs to
remain stable and backward compatible of course)
It's utopian to keep it up for much longer (say until 2.6.3 or 4),
because we need to add new features like acpi sleep modes, full sysfs
compatility, udev compatiblity and so on. The USB drivers already have
much crap related to 2.4 compatibility, that make it harder and harded
to keep both versions. I know that this is an important thing for
example for emebedded folks who cannot always use the
latest-and-greatest kernels. Please tell your ideas to the mailing list,
I'd like to hear especially from people that would be affected by this step.
Ok, that's for it now. Have a happy christmas and use the spare time for
coding! ;-)
CU
Michael.
--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index