blob: 412305b7c55792efecb825ebbafd646019f5bf4b [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001The DVB subsystem currently registers to the sysfs subsystem using the
2"class_simple" interface.
3
Sylvestre Ledruf65e51d2011-04-04 15:04:46 -07004This means that only the basic information like module loading parameters
Linus Torvalds1da177e2005-04-16 15:20:36 -07005are presented through sysfs. Other things that might be interesting are
6currently *not* available.
7
8Nevertheless it's now possible to add proper udev rules so that the
9DVB device nodes are created automatically.
10
11We assume that you have udev already up and running and that have been
12creating the DVB device nodes manually up to now due to the missing sysfs
13support.
14
150. Don't forget to disable your current method of creating the
16device nodes manually.
17
181. Unfortunately, you'll need a helper script to transform the kernel
19sysfs device name into the well known dvb adapter / device naming scheme.
20The script should be called "dvb.sh" and should be placed into a script
21dir where udev can execute it, most likely /etc/udev/scripts/
22
23So, create a new file /etc/udev/scripts/dvb.sh and add the following:
24------------------------------schnipp------------------------------------------------
25#!/bin/sh
26/bin/echo $1 | /bin/sed -e 's,dvb\([0-9]\)\.\([^0-9]*\)\([0-9]\),dvb/adapter\1/\2\3,'
27------------------------------schnipp------------------------------------------------
28
29Don't forget to make the script executable with "chmod".
30
311. You need to create a proper udev rule that will create the device nodes
32like you know them. All real distributions out there scan the /etc/udev/rules.d
33directory for rule files. The main udev configuration file /etc/udev/udev.conf
34will tell you the directory where the rules are, most likely it's /etc/udev/rules.d/
35
36Create a new rule file in that directory called "dvb.rule" and add the following line:
37------------------------------schnipp------------------------------------------------
38KERNEL="dvb*", PROGRAM="/etc/udev/scripts/dvb.sh %k", NAME="%c"
39------------------------------schnipp------------------------------------------------
40
41If you want more control over the device nodes (for example a special group membership)
42have a look at "man udev".
43
44For every device that registers to the sysfs subsystem with a "dvb" prefix,
45the helper script /etc/udev/scripts/dvb.sh is invoked, which will then
46create the proper device node in your /dev/ directory.