On 20/08/2013 19:45, Marc wrote:
On 20/08/2013 18:48, Brian-Imap wrote:
Hi Marc, you've lost me.
If FE0/0 is a DDBridge tuner, and I make the FF card tuner FE0/0, then I still need to rename the DDBridge Tuner that was FE0/0 to another one within FE{1-3}/0. That means potentially overwriting the names of some of the other DDBridge tuners, and then renaming them later on too. Unfortunately the same rule will pop for all four DDBridge tuners, so I guess I must keep track of what I have already renamed.
That's what the external program is intended for. It will be launched for every tuner of the ddbridge. The example I give is basic, if the node of the first front end isn't already created, then echo the name of the first front end. If not, test the second node and do the same thing for all the 4 fronts end. Maybe you can use a better logic by passing some parameters.
Of course, this is possible only if the tuners of the ddbridge keep the same order but if would be weird if the driver doesn't use the same order every time (no module loading order at this level).
You still need a rule for the FF card because there are more node created for each adapter. Without a rule the number of this card could change too despite the rule for the ddbridge.
To avoid overwriting when a new tuner (without a udev rule) is added, perhaps you can start numbering at 10 or more if vdr can handle it.
Or, hows about I just go in and rename the devices, same scheme every time. I think that would work if I knew how to differentiate between the 4 Cine S2 tuners, currently I dont know how to do that.
That's a more standard way but according to the output of udevadm, there is only an empty DRIVER field after the ddbridge, nothing to write the rule witch differentiate the tuners.
Marc
One more thing. Meanwhile, you can use the solution of blacklisting the dvb modules and manually load them before starting vdr. This solution should works but is not very stable: the modules name could change from time to time and you have to take care to not start vdr before all the front end are fully initialized.
Marc.