<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 19/08/2013 21:11, Brian-Imap wrote:<br>
    </div>
    <blockquote cite="mid:52126DC4.6080808@192.168.95.249" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      <div class="moz-cite-prefix">On 8/18/2013 8:15 PM, Marc wrote:<br>
      </div>
      <blockquote cite="mid:52110F48.7050407@ekass.net" type="cite">
        <meta content="text/html; charset=ISO-8859-1"
          http-equiv="Content-Type">
        <div class="moz-cite-prefix">On 18/08/2013 19:27, Brian-Imap
          wrote:<br>
        </div>
        <blockquote cite="mid:5211040F.3090908@192.168.95.249"
          type="cite">
          <meta content="text/html; charset=ISO-8859-1"
            http-equiv="Content-Type">
          Hi,<br>
          so I tried to look for some kind of info to help me identify
          the tuners, this is the most interesting bit I guess:<br>
          <br>
          VDR-test-cellar (SDB1): udevadm info --query=all
          --name=/dev/dvb/adapter1/frontend0 --attribute-walk<br>
            looking at device
          '/devices/pci0000:00/0000:00:0d.0/0000:02:00.0/dvb/dvb1.frontend0':<br>
              KERNEL=="dvb1.frontend0"<br>
              SUBSYSTEM=="dvb"<br>
              DRIVER==""<br>
          <br>
        </blockquote>
        You can use this command :<br>
        udevadm info -a -p $(udevadm info -q path -n /dev/your/path)<br>
        <br>
        to get the complete tree and watch if you can differentiate your
        front end with one or more attributes of the subsystems.<br>
        <br>
        Marc.<br>
        <blockquote cite="mid:5211040F.3090908@192.168.95.249"
          type="cite"> VDR-test-cellar (SDB1): udevadm info --query=all
          --name=/dev/dvb/adapter0/frontend0 --attribute-walk<br>
            looking at device
          '/devices/pci0000:00/0000:00:0d.0/0000:02:00.0/dvb/dvb0.frontend0':<br>
              KERNEL=="dvb0.frontend0"<br>
              SUBSYSTEM=="dvb"<br>
              DRIVER==""<br>
          <br>
          VDR-test-cellar (SDB1): udevadm info --query=all
          --name=/dev/dvb/adapter2/frontend0 --attribute-walk<br>
            looking at device
          '/devices/pci0000:00/0000:00:0d.0/0000:02:00.0/dvb/dvb2.frontend0':<br>
              KERNEL=="dvb2.frontend0"<br>
              SUBSYSTEM=="dvb"<br>
              DRIVER==""<br>
          <br>
          VDR-test-cellar (SDB1): udevadm info --query=all
          --name=/dev/dvb/adapter3/frontend0 --attribute-walk<br>
            looking at device
          '/devices/pci0000:00/0000:00:06.0/0000:01:06.0/dvb/dvb3.frontend0':<br>
              KERNEL=="dvb3.frontend0"<br>
              SUBSYSTEM=="dvb"<br>
              DRIVER==""<br>
          <br>
          VDR-test-cellar (SDB1): udevadm info --query=all
          --name=/dev/dvb/adapter4/frontend0 --attribute-walk<br>
            looking at device
          '/devices/pci0000:00/0000:00:0d.0/0000:02:00.0/dvb/dvb4.frontend0':<br>
              KERNEL=="dvb4.frontend0"<br>
              SUBSYSTEM=="dvb"<br>
              DRIVER==""<br>
          <br>
          At the moment I cannot find anything to identify the 4 Tuners
          on the Cine S2, the FF on 01:06 is easy.<br>
          I got hit by tuning problems a few days ago as the tuner
          without a cable was given FE3/0. The FF got FE4/0<br>
          at that time.  I'm wondering if the DDBridge driver will
          always number in the correct order.<br>
          <br>
          So I guess I'll try to make the FF FE0/0, and hope that the
          DDBRidge driver will do the rest.<br>
          <br>
          Cheers Brian<br>
          <br>
          <br>
          <br>
          <br>
          <br>
          <fieldset class="mimeAttachmentHeader"></fieldset>
          <br>
          <pre wrap="">_______________________________________________
vdr mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:vdr@linuxtv.org">vdr@linuxtv.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr">http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr</a>
</pre>
        </blockquote>
        <br>
        <br>
        <fieldset class="mimeAttachmentHeader"></fieldset>
        <br>
        <pre wrap="">_______________________________________________
vdr mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:vdr@linuxtv.org">vdr@linuxtv.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr">http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr</a>
</pre>
      </blockquote>
      Hi,<br>
      well Its exactly what I was doing, and I cant see a difference.
      Here an example of two of the Cine S2 Tuners:<br>
      <br>
      VDR-test-cellar (SDB1): udevadm info -a -p $(udevadm info -q path
      -n /dev/dvb/adapter3/frontend0)<br>
      <br>
      Udevadm info starts with the device specified by the devpath and
      then<br>
      walks up the chain of parent devices. It prints for every device<br>
      found, all possible attributes in the udev rules key format.<br>
      A rule to match, can be composed by the attributes of the device<br>
      and the attributes from one single parent device.<br>
      <br>
        looking at device
      '/devices/pci0000:00/0000:00:0d.0/0000:02:00.0/dvb/dvb3.frontend0':<br>
          KERNEL=="dvb3.frontend0"<br>
          SUBSYSTEM=="dvb"<br>
          DRIVER==""<br>
      <br>
        looking at parent device
      '/devices/pci0000:00/0000:00:0d.0/0000:02:00.0':<br>
          KERNELS=="0000:02:00.0"<br>
          SUBSYSTEMS=="pci"<br>
          DRIVERS=="DDBridge"<br>
          ATTRS{irq}=="16"<br>
          ATTRS{subsystem_vendor}=="0xdd01"<br>
          ATTRS{broken_parity_status}=="0"<br>
          ATTRS{class}=="0x048000"<br>
          ATTRS{consistent_dma_mask_bits}=="32"<br>
          ATTRS{dma_mask_bits}=="32"<br>
          ATTRS{local_cpus}=="ff"<br>
          ATTRS{device}=="0x0003"<br>
          ATTRS{enable}=="1"<br>
          ATTRS{msi_bus}==""<br>
          ATTRS{local_cpulist}=="0-7"<br>
          ATTRS{vendor}=="0xdd01"<br>
          ATTRS{subsystem_device}=="0x0020"<br>
      <br>
        looking at parent device '/devices/pci0000:00/0000:00:0d.0':<br>
          KERNELS=="0000:00:0d.0"<br>
          SUBSYSTEMS=="pci"<br>
          DRIVERS=="pcieport"<br>
          ATTRS{irq}=="40"<br>
          ATTRS{subsystem_vendor}=="0x10de"<br>
          ATTRS{broken_parity_status}=="0"<br>
          ATTRS{class}=="0x060400"<br>
          ATTRS{consistent_dma_mask_bits}=="32"<br>
          ATTRS{dma_mask_bits}=="32"<br>
          ATTRS{local_cpus}=="ff"<br>
          ATTRS{device}=="0x0378"<br>
          ATTRS{enable}=="2"<br>
          ATTRS{msi_bus}=="1"<br>
          ATTRS{local_cpulist}=="0-7"<br>
          ATTRS{vendor}=="0x10de"<br>
          ATTRS{subsystem_device}=="0x0000"<br>
      <br>
        looking at parent device '/devices/pci0000:00':<br>
          KERNELS=="pci0000:00"<br>
          SUBSYSTEMS==""<br>
          DRIVERS==""<br>
      <br>
      VDR-test-cellar (SDB1): udevadm info -a -p $(udevadm info -q path
      -n /dev/dvb/adapter4/frontend0)<br>
      <br>
      Udevadm info starts with the device specified by the devpath and
      then<br>
      walks up the chain of parent devices. It prints for every device<br>
      found, all possible attributes in the udev rules key format.<br>
      A rule to match, can be composed by the attributes of the device<br>
      and the attributes from one single parent device.<br>
      <br>
        looking at device
      '/devices/pci0000:00/0000:00:0d.0/0000:02:00.0/dvb/dvb4.frontend0':<br>
          KERNEL=="dvb4.frontend0"<br>
          SUBSYSTEM=="dvb"<br>
          DRIVER==""<br>
      <br>
        looking at parent device
      '/devices/pci0000:00/0000:00:0d.0/0000:02:00.0':<br>
          KERNELS=="0000:02:00.0"<br>
          SUBSYSTEMS=="pci"<br>
          DRIVERS=="DDBridge"<br>
          ATTRS{irq}=="16"<br>
          ATTRS{subsystem_vendor}=="0xdd01"<br>
          ATTRS{broken_parity_status}=="0"<br>
          ATTRS{class}=="0x048000"<br>
          ATTRS{consistent_dma_mask_bits}=="32"<br>
          ATTRS{dma_mask_bits}=="32"<br>
          ATTRS{local_cpus}=="ff"<br>
          ATTRS{device}=="0x0003"<br>
          ATTRS{enable}=="1"<br>
          ATTRS{msi_bus}==""<br>
          ATTRS{local_cpulist}=="0-7"<br>
          ATTRS{vendor}=="0xdd01"<br>
          ATTRS{subsystem_device}=="0x0020"<br>
      <br>
        looking at parent device '/devices/pci0000:00/0000:00:0d.0':<br>
          KERNELS=="0000:00:0d.0"<br>
          SUBSYSTEMS=="pci"<br>
          DRIVERS=="pcieport"<br>
          ATTRS{irq}=="40"<br>
          ATTRS{subsystem_vendor}=="0x10de"<br>
          ATTRS{broken_parity_status}=="0"<br>
          ATTRS{class}=="0x060400"<br>
          ATTRS{consistent_dma_mask_bits}=="32"<br>
          ATTRS{dma_mask_bits}=="32"<br>
          ATTRS{local_cpus}=="ff"<br>
          ATTRS{device}=="0x0378"<br>
          ATTRS{enable}=="2"<br>
          ATTRS{msi_bus}=="1"<br>
          ATTRS{local_cpulist}=="0-7"<br>
          ATTRS{vendor}=="0x10de"<br>
          ATTRS{subsystem_device}=="0x0000"<br>
      <br>
        looking at parent device '/devices/pci0000:00':<br>
          KERNELS=="pci0000:00"<br>
          SUBSYSTEMS==""<br>
          DRIVERS==""<br>
      <br>
    </blockquote>
    In this case, you can write an external program witch output the
    name when you match a front end of ddbridge :<br>
    KERNEL=="dvb[0-9]*.frontend0", SUBSYSTEMS=="pci",
    DRIVERS=="DDBridge", PROGRAM="/your/program %k", NAME="%c"<br>
    <br>
    Something like :<br>
    if [ ! -a /path/frontendname1 ]; then echo frontendname1; exit; fi;<br>
    same with frontendname2 and frontendname3<br>
    <br>
    The kernel name of the device is available if needed (%k in the udev
    rule).<br>
    <br>
    Marc.<br>
    <blockquote cite="mid:52126DC4.6080808@192.168.95.249" type="cite">
      <br>
      Thanks for the suggestions though.<br>
      <br>
      So now I'm looking for other ideas. Hows about blacklisting
      DDBridge and then modprobeing<br>
      it before VDR starts? That way the FF will get FE0/0, and I assume
      the Cine S2 tuners will enumerate<br>
      in ascending order.<br>
      <br>
      <br>
    </blockquote>
    <blockquote cite="mid:52126DC4.6080808@192.168.95.249" type="cite">
      Cheers Brian<br>
      <br>
      <br>
    </blockquote>
    <br>
  </body>
</html>