Moderator Control Panel ]

Out-of-tree driver?

It's important to keep your driver and software updated.

Out-of-tree driver?

Postby AlexanderS » Tue Oct 24, 2017 11:15 pm

Hi,

can we please get proper "Out-of-tree" driver? I do not want to replace the complete v4l tree from my kernel just to get the tbs driver. It seems that it should be possible to only provide the tbs modules (and maybe a very few other modules with required patches like maybe the si2157) and compile it against the dvb-core and v4l tree from the running kernel.

A quick scan through:

Code: Select All Code
git log origin/latest ^origin/master --no-merges

(in the tbsdtv/linux_media repo) shows, that only very few special cases needs modification of dvb-core (I found modification for the tbs6301 mcu control, the ecp3 update interface and some CAM init time fix). So it seems to be possible, that the other drivers should work with the dvb-core from the kernel.

Currently the linux_media tree is installing something about 690 modules. May of them are unrelated to tbs devices. I would welcome, if that number could be reduced.


Let me know if I can help you in some way.

Thanks,
Alex
AlexanderS
 
Posts: 4
Joined: Fri Oct 20, 2017 4:50 pm

Re: Out-of-tree driver?

Postby updatelee » Wed Oct 25, 2017 2:19 pm

As soon as you make any changes to core files all the modules that use that file must be recompiled.

If you only installed the TBS drivers (you can do this manually) you'd find that they wouldn't work until you copied over the dvb-core modules as well. But now you'd find that every single other driver stopped working.

If you want to attempt to revert those changes, you need to ensure that all the includes and the entire dvb-core folder remain original. You can modify them but you cant modify existing structs

It's a task and a half and you're going to lose some functionality and some support for some devices. Ie you should be able to make most USB devices work, might lose some functionality. But others will be more difficult

Most users are using older kernels with older v4l trees. TBS uses a much more current version so it actually updates all those other cards you use to the latest version of drivers. I do the same with my kernel tree. It's imo a much better approach them only copying the individual drivers. TBS updates all your v4l devices drivers not host their own

UDL
TBS6925/5980, Prof 7301/7500/8000, Genpix Skywalker-1, Skystar 2 Express HD
Hauppauge 950Q, Kworld 330U/435v3/445v3
Dreambox 800

I use Linux and support open source projects.
User avatar
updatelee
 
Posts: 374
Joined: Wed Jul 25, 2012 11:48 am
Location: CFB Edmonton

Re: Out-of-tree driver?

Postby AlexanderS » Thu Oct 26, 2017 10:51 pm

updatelee Wrote:As soon as you make any changes to core files all the modules that use that file must be recompiled.


I was hoping, that there are no required changes to core files for most cards. It should not be a problem to patch a single tuner/frontend, only dvb-core.c or similar files are critical.

With real out-of-tree modules it would be possible to create dkms packages for the distributions. This would allow to install the drivers via a package and rebuild it automatically after each kernel update. Currently the package would require to install about 690 modules (and this number changes every update of the v4l tree).


I will try to check what changes are required in the dvb-core modules.


Alex
AlexanderS
 
Posts: 4
Joined: Fri Oct 20, 2017 4:50 pm

Re: Out-of-tree driver?

Postby updatelee » Fri Oct 27, 2017 3:16 pm

I use a program called 'meld' it's a graphical version of diff. You can do to way or even 3 way compares of entire folders. Download the TBS driver tree then download the v4l media tree. Meld will make it easy to spot the differences

UDL
TBS6925/5980, Prof 7301/7500/8000, Genpix Skywalker-1, Skystar 2 Express HD
Hauppauge 950Q, Kworld 330U/435v3/445v3
Dreambox 800

I use Linux and support open source projects.
User avatar
updatelee
 
Posts: 374
Joined: Wed Jul 25, 2012 11:48 am
Location: CFB Edmonton

Re: Out-of-tree driver?

Postby iridium » Thu Nov 09, 2017 10:56 pm

updatelee Wrote:If you only installed the TBS drivers (you can do this manually) you'd find that they wouldn't work until you copied over the dvb-core modules as well. But now you'd find that every single other driver stopped working.


At least for the saa716x and all frontends I've looked at (and specifically the TAS2101 and AV201x my TBS6982se uses), this is not true. I've built the (3) modules I need against my current kernel myself and it is working fine. Marginal modifications are needed, depending on the kernel you are using, but for most uses, there is usually no reason to touch the DVB Core just for a new TV card driver.
iridium
 
Posts: 4
Joined: Tue Oct 10, 2017 12:13 am

Re: Out-of-tree driver?

Postby Scritch » Wed Nov 15, 2017 3:52 am

@iridium: Is there a way to explain how you did this?

I would like to do the same for my TBS5922.

Just explain using the kernel version which you used for your build.
Eg just send me the patch file.
Do you have to compile the whole kernel or can you create modules which are simply compiled additionally against the kernel headers?

I just need the idea and the steps.
I should be able to map this to the kernel version which I need.
Scritch
 
Posts: 4
Joined: Mon May 08, 2017 3:59 am


Return to Driver & Software Update

Who is online

Users browsing this forum: No registered users and 15 guests