[mythtv-users] UDEV rules

Yianni yiannividalis at hotmail.com
Tue Jan 28 08:32:33 UTC 2014


> MY bad, The rules I have in place are:
> KERNEL=="video[0-9]", ATTR{name}=="ivtv[0-1] encoder MPG",
> ATTRS{subsystem_device}=="0x8801",SYMLINK+="videopvr150",GROUP="video"
> KERNEL=="video[0-9]", ATTR{name}=="saa7133[0] video (Kworld PC150-",
> ATTRS{subsystem_device}=="0xa135",SYMLINK+="videoKWd150",GROUP="video"
> KERNEL=="video[0-9]", ATTR{name}=="Hauppauge WinTV-HVR1250 (video)",
> ATTRS{subsystem_device}=="0x7911",SYMLINK+="videoHP1250",GROUP="video"
> KERNEL=="dvb?.frontend?",SUBSYSTEM=="dvb",ATTRS{subsystem_vendor}=="0x0070",ATTRS{subsystem_device}=="0x7911",SYMLINK+="dvbHP1250",GROUP="video"
> KERNEL=="dvb?.frontend?",SUBSYSTEM=="dvb",ATTRS{subsystem_vendor}=="0x17de",ATTRS{subsystem_device}=="0xa135",SYMLINK+="dvbKWd150",GROUP="video"
>
> Which results in:
> daryl at daryl-A780L3C:~$ ls -lah /dev/video*
> crw-rw----+ 1 root video 81, 0 Jan 27 15:18 /dev/video0
> crw-rw----+ 1 root video 81, 5 Jan 27 15:18 /dev/video1
> crw-rw----+ 1 root video 81, 7 Jan 27 15:18 /dev/video2
> crw-rw----+ 1 root video 81, 3 Jan 27 15:18 /dev/video24
> crw-rw----+ 1 root video 81, 1 Jan 27 15:18 /dev/video32
> lrwxrwxrwx 1 root root 6 Jan 27 15:18 /dev/videoHP1250 -> video1
> lrwxrwxrwx 1 root root 6 Jan 27 15:18 /dev/videopvr150 -> video0
> daryl at daryl-A780L3C:~$ ls -lah /dev/dvb*
> lrwxrwxrwx 1 root root 22 Jan 27 15:18 /dev/dvbHP1250 -> dvb/adapter0/frontend0
> lrwxrwxrwx 1 root root 22 Jan 27 15:18 /dev/dvbKWd150 -> dvb/adapter1/frontend0
>
> /dev/dvb:
> total 0
> drwxr-xr-x 4 root root 80 Jan 27 15:18 .
> drwxr-xr-x 16 root root 4.6K Jan 27 15:18 ..
> drwxr-xr-x 2 root root 120 Jan 27 15:18 adapter0
> drwxr-xr-x 2 root root 120 Jan 27 15:18 adapter1
> daryl at daryl-A780L3C:~$
>
> And all that looks good except for no "dvbKWd150" symlink
> Daryl

Hi, Daryl

Since there is a /dev/dvbKWd150 -> dvb/adapter1/frontend0 symlink, I assume you mean there's not a videoKWd150 symlink.


I'd like to suggest some things regarding the udev rules you have.

- You'd better keep each rule in one line, and not spanned across 2 or three.

KERNEL=="video[0-9]", ATTR{name}=="ivtv[0-1] encoder MPG",ATTRS{subsystem_device}=="0x8801",SYMLINK+="videopvr150",GROUP="video"
KERNEL=="video[0-9]", ATTR{name}=="saa7133[0] video (Kworld PC150-",ATTRS{subsystem_device}=="0xa135",SYMLINK+="videoKWd150",GROUP="video"
KERNEL=="video[0-9]", ATTR{name}=="Hauppauge WinTV-HVR1250 (video)",ATTRS{subsystem_device}=="0x7911",SYMLINK+="videoHP1250",GROUP="video"
KERNEL=="dvb?.frontend?",SUBSYSTEM=="dvb",ATTRS{subsystem_vendor}=="0x0070",ATTRS{subsystem_device}=="0x7911",SYMLINK+="dvbHP1250",GROUP="video"
KERNEL=="dvb?.frontend?",SUBSYSTEM=="dvb",ATTRS{subsystem_vendor}=="0x17de",ATTRS{subsystem_device}=="0xa135",SYMLINK+="dvbKWd150",GROUP="video"

- The ATTR{name} for the cards is dynamically given by udev or by the kernel and in the case of the ivtv it contains the device number (ivtv0)
Because the analog saa7133 uses brackets in it's name, you have to follow Hika's advice (Post #96), i.e the rule will become:

KERNEL=="video[0-9]", ATTR{name}=="saa7133\[0\] video (Kworld PC150-",ATTRS{subsystem_device}=="0xa135",SYMLINK+="videoKWd150",GROUP="video"

or 
KERNEL=="video[0-9]", ATTR{name}=="saa7133??? video ?Kworld PC150-",ATTRS{subsystem_device}=="0xa135",SYMLINK+="videoKWd150",GROUP="video"

which is more flexible.

Hoping we're not drowing you in too much advice, and trying to group the symlinks:
 - analog as video*
 - digital under /dev/dvb as adapter*, 
 
I suggest using:

KERNEL=="video[0-9]", ATTR{name}=="ivtv[0-1] encoder MPG",ATTRS{subsystem_device}=="0x8801",SYMLINK+="videopvr150",GROUP="video"
KERNEL=="video[0-9]", ATTR{name}=="saa7133??? video ?Kworld PC150-",ATTRS{subsystem_device}=="0xa135",SYMLINK+="videoKWd150",GROUP="video"
KERNEL=="video[0-9]", ATTR{name}=="Hauppauge WinTV-HVR1250 (video)",ATTRS{subsystem_device}=="0x7911",SYMLINK+="videoHP1250",GROUP="video"
KERNEL=="dvb?.frontend?",SUBSYSTEM=="dvb",ATTRS{subsystem_vendor}=="0x0070",ATTRS{subsystem_device}=="0x7911",SYMLINK+="dvb/adapterHP1250",GROUP="video"
KERNEL=="dvb?.frontend?",SUBSYSTEM=="dvb",ATTRS{subsystem_vendor}=="0x17de",ATTRS{subsystem_device}=="0xa135",SYMLINK+="dvb/adapterKWd150",GROUP="video"

Until next time ;)

Yianni. 		 	   		  


More information about the mythtv-users mailing list