[linux-dvb] udev problem

Razza rjames31 at btopenworld.com
Fri Apr 27 23:38:43 CEST 2007


Razza wrote on 26 April 2007 21:42:
> All,
> I have a problem whereby I need to pin a specific PCI card (slot) to a
> dvb
> node, otherwise it totally messes up my machine when a historic DVB-S
> node
> becomes a DVB-T node or vice versa.
> 
> I have been playing with udev and have found how to identify cards etc.
> But
> getting the (NAME) rule right is confusing me. I am running Fedora Core
> 5
> and have the following standard rule in "/etc/udev/rules.d/50-
> udev.rules" -
> 
> SUBSYSTEM=="dvb", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf
> dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}'", NAME="%c", MODE="0660"
> 
> The closest I got to getting things working was by substituting
> "dvb/adapter%%i/" with "dvb/adapter5/", thus forcing the adapter to
> /dev/dvb/adapter5, rule below -
> 
> BUS=="pci", ID=="0000:01:06.0", SYSFS{device}=="0x7146",
> SYSFS{vendor}=="0x1131", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf
> dvb/adapter5/%%s $${K%%%%.*} $${K#*.}'", NAME="%c", MODE="0660"
> 
> Unfortunately that changed the tree structure from -
> 
> /dev/dvb/
> `-- adapter5
>     |-- ca0
>     |-- demux0
>     |-- dvr0
>     |-- frontend0
>     `-- net0
> 
> To -
> 
> /dev/dvb/
> `-- adapter5
>     |-- 0dvb
>     |   `-- adapter5
>     |       |-- ca0
>     |       |-- demux0
>     |       |-- dvr0
>     |       |-- frontend0
>     |       `-- net0
>     `-- event3dvb
>         `-- adapter5
>             `-- event3
> 
> Can anyone please advise on what the rule should look like?
> 
> Thanks in advance.

Further to the post above, I have been playing further! I think the problem
I am having is that the original rule in my udev rules (see above) is based
on the top section of my "udevinfo -a -p $(udevinfo -q path -n
/dev/dvb/adapter0/frontend0)" response, my rule is based on the second
section, thus introducing additional layers as it's further down the
hardware/kernel stack?

Anyone able to offer and advice?
My "udevinfo -a -p $(udevinfo -q path -n /dev/dvb/adapter0/frontend0)"
response -

  looking at device '/class/dvb/dvb0.frontend0':
    KERNEL=="dvb0.frontend0"
    SUBSYSTEM=="dvb"
    SYSFS{dev}=="212:3"

  looking at device '/devices/pci0000:00/0000:00:10.0/0000:01:06.0':
    ID=="0000:01:06.0"
    BUS=="pci"
    DRIVER=="budget_ci dvb"
    SYSFS{msi_bus}==""
    SYSFS{broken_parity_status}=="0"
    SYSFS{enable}=="1"
    SYSFS{modalias}=="pci:v00001131d00007146sv000013C2sd00001017bc04sc80i00"
    SYSFS{local_cpus}=="1"
    SYSFS{irq}=="18"
    SYSFS{class}=="0x048000"
    SYSFS{subsystem_device}=="0x1017"
    SYSFS{subsystem_vendor}=="0x13c2"
    SYSFS{device}=="0x7146"
    SYSFS{vendor}=="0x1131"

  looking at device '/devices/pci0000:00/0000:00:10.0':
    ID=="0000:00:10.0"
    BUS=="pci"
    DRIVER==""
    SYSFS{msi_bus}=="1"
    SYSFS{broken_parity_status}=="0"
    SYSFS{enable}=="1"
    SYSFS{modalias}=="pci:v000010DEd0000026Fsv00000000sd00000000bc06sc04i01"
    SYSFS{local_cpus}=="1"
    SYSFS{irq}=="0"
    SYSFS{class}=="0x060401"
    SYSFS{subsystem_device}=="0x0000"
    SYSFS{subsystem_vendor}=="0x0000"
    SYSFS{device}=="0x026f"
    SYSFS{vendor}=="0x10de"




More information about the linux-dvb mailing list