[mythtv-users] Hauppauge 1950, was: (no subject)

Simon Hobson linux at thehobsons.co.uk
Fri Oct 1 07:07:44 UTC 2010

Rafic Gho wrote:

>Hello Simon. My kernel version is 2.6.32. Should I upgrade to 
> that I found as the latest stable Kernel? And how is 
>possible to upgrade, I can not make internet connections either. 

I'd say not - 32 is higher than 26 and so the drivers you need should 
be both present and stable, or at least I'd have thought so. I know 
that when I started off, while the drivers I needed were in the 
version of the kernel I had, it was the first release with them and 
they weren't complete/stable. IIRC I pulled in a later version from 
the testing version of the distro I use (Debian) - but that was a 
while ago.

Which brings me to something else that I missed from my earlier post 
... and straying very much to the edges of my limited knowledge on 
the subject :

In the Windows world, the equivalent of what we call the kernel has 
relatively stable software interfaces (APIs, Application Programming 
Interfaces) - hence you can make a driver that will work with Windows 
2000 and XP and in most cases it should work with anything in that 
range. Linux is less stable for various reasons, not least the rapid 
development of new features. The result of that is that making a 
driver to install "after the fact" into any old kernel isn't as easy 
- it's a lot easier to have the drivers integrated into the kernel 
sources so they can be compiled along with the kernel itself.

Stepping aside for a moment, most Linux drivers are compiled as 
separate modules - ie a file on disk that can be loaded as needed. 
This means the kernel itself can be moderate in size, while still 
having access to all the different hardware a user may throw at it. 
Some common ones (especially those required to access and mount 
filesystems on disk) tend to be "built-in" to the kernel as it eases 
the problem of how to load something off disk that is required to 
access that disk.
In theory such a module can be supplied by a third party - but it had 
to be specific to the version of kernel in use.

Of course, in the Windows world, many people found out the hard way 
about this - and Microsoft had to put an enormous amount of effort 
into making Vista and 7 work with at least some of the older drivers. 
In other words, the stability now became a problem since no-one was 
prepared for the changes as they had been used to things being set in 
stone (and thus also set in the stoneage in computing terms).

The best example of a third party driver for Linux I can think of is 
the NVidia driver. Because there is stuff they don't want to make 
public, this is a binary only file which cannot (for various legal 
and moral reasons) be made part of the Linux source. To make the 
binary driver compatible with all kernels, they supply another layer 
of software which is supplied as source, and that has to be compiled 
against the source (actually the headers which are the API 
definitions without the actual code) by the user. And every time you 
upgrade your kernel, this abstraction layer has to be re-compiled.

Given that, it's easy to see why some manufacturers might decide that 
Linux is "too hard" to support and leave the users (or rather, the 
developers) to come up with their own drivers. Some are more helpful 
than others on this.
In the Windows world, a lot of people had to leave behind their 
hardware when upgraded to Vista or 7 - simply because no-one was 
bothered enough to update drivers for old hardware.

And having read that, as someone new to Linux, you are probably 
appreciating why it's seen as having such a high "entry level" for 
knowledge - at least if you aren't using really common and well 
supported hardware.

Simon Hobson

Visit http://www.magpiesnestpublishing.co.uk/ for books by acclaimed
author Gladys Hobson. Novels - poetry - short stories - ideal as
Christmas stocking fillers. Some available as e-books.

More information about the mythtv-users mailing list