[Linux-bruxelles] [udev rules] Récepteur TNT (DVB-T) pour portable sous Debian.

GNUtoo at no-log.org GNUtoo at no-log.org
Jeu 20 Déc 22:01:29 CET 2007


> Pour un coup de main sur udev, un bon point de départ est la commande :
> udevinfo -a -p $(udevinfo -q path -n /dev/dvb/adapter0)
>
> Elle te donnera la liste des attributs utilisables dans un fichier <rule>.
>
> Jean-Marc
> -----
> http://jim.brubel.net/
> jim at jabber.belnet.be
> -----
> 1 personne sur 10 comprend le binaire.  L'autre pas.
>
>
>
en fait je bloque juste apres ca...a l'ecriture des regles udeev...
j'ai suivi ce guide:
http://www.mythtv.org/wiki/index.php/Device_Filenames_and_udev
le probleme c'est qu'il n'y as aucun exemple pour les stick dvb-t sur
internet...

voici le resultat de la commande:


# udevinfo -a -p /devices/pci0000:00/0000:00:1d.7/usb1/1-2/dvb/dvb0.dvr0

Udevinfo starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device
'/devices/pci0000:00/0000:00:1d.7/usb1/1-2/dvb/dvb0.dvr0':
    KERNEL=="dvb0.dvr0"
    SUBSYSTEM=="dvb"
    DRIVER==""
    ATTR{dev}=="212:5"

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb1/1-2/dvb':
    KERNELS=="dvb"
    SUBSYSTEMS==""
    DRIVERS==""

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb1/1-2':
    KERNELS=="1-2"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{serial}=="127"
    ATTRS{product}=="PCTV 2000e"
    ATTRS{manufacturer}=="Pinnacle System"
    ATTRS{quirks}=="0x0"
    ATTRS{maxchild}=="0"
    ATTRS{version}==" 2.00"
    ATTRS{devnum}=="9"
    ATTRS{busnum}=="1"
    ATTRS{speed}=="480"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bcdDevice}=="0001"
    ATTRS{idProduct}=="022c"
    ATTRS{idVendor}=="2304"
    ATTRS{bMaxPower}=="500mA"
    ATTRS{bmAttributes}=="a0"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{configuration}==""
    ATTRS{dev}=="189:8"

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb1':
    KERNELS=="usb1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{serial}=="0000:00:1d.7"
    ATTRS{product}=="EHCI Host Controller"
    ATTRS{manufacturer}=="Linux 2.6.23-gentoo_port4 ehci_hcd"
    ATTRS{quirks}=="0x0"
    ATTRS{maxchild}=="8"
    ATTRS{version}==" 2.00"
    ATTRS{devnum}=="1"
    ATTRS{busnum}=="1"
    ATTRS{speed}=="480"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bcdDevice}=="0206"
    ATTRS{idProduct}=="0000"
    ATTRS{idVendor}=="0000"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{configuration}==""
    ATTRS{dev}=="189:0"

  looking at parent device '/devices/pci0000:00/0000:00:1d.7':
    KERNELS=="0000:00:1d.7"
    SUBSYSTEMS=="pci"
    DRIVERS=="ehci_hcd"
    ATTRS{msi_bus}==""
    ATTRS{broken_parity_status}=="0"
    ATTRS{enable}=="1"
    ATTRS{modalias}=="pci:v00008086d0000265Csv0000104Dsd000081E8bc0Csc03i20"
    ATTRS{local_cpus}=="1"
    ATTRS{irq}=="22"
    ATTRS{class}=="0x0c0320"
    ATTRS{subsystem_device}=="0x81e8"
    ATTRS{subsystem_vendor}=="0x104d"
    ATTRS{device}=="0x265c"
    ATTRS{vendor}=="0x8086"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""
    ATTRS{uevent}==""

je refait donc le diff car je ne le retrouve plus

# diff -u 0 1
--- 0   2007-12-20 21:51:48.000000000 +0100
+++ 1   2007-12-20 21:53:04.000000000 +0100
@@ -5,11 +5,11 @@
 A rule to match, can be composed by the attributes of the device
 and the attributes from one single parent device.

-  looking at device
'/devices/pci0000:00/0000:00:1d.7/usb1/1-2/dvb/dvb0.dvr0':
-    KERNEL=="dvb0.dvr0"
+  looking at device
'/devices/pci0000:00/0000:00:1d.7/usb1/1-2/dvb/dvb1.dvr0':
+    KERNEL=="dvb1.dvr0"
     SUBSYSTEM=="dvb"
     DRIVER==""
-    ATTR{dev}=="212:5"
+    ATTR{dev}=="212:69"

   looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb1/1-2/dvb':
     KERNELS=="dvb"

le parametre udev deja present:
# dvb devices
SUBSYSTEM=="dvb", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf
dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}'", NAME="%c", GROUP="video"

si je me sovient bien j'ai essayer le parametre simlink:
KERNEL=="dvb1.dvr0",SYMLINK+="/dev/dvb/adapter0/dvr0"
mais ca n'as pas marche...
j'ai ensuite enleve la ligne du dessus(SUBSYSTEM=="dvb", PROGRAM="/bin/sh
-c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}'",
NAME="%c", GROUP="video")
mais tout a disparu...
j'ai aussi essaye le simlink avec = au lieu du +=

merci d'avance pour ton aide...





Plus d'informations sur la liste de diffusion Linux-bruxelles