| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | The DVB subsystem currently registers to the sysfs subsystem using the | 
					
						
							|  |  |  | "class_simple" interface. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-04-04 15:04:46 -07:00
										 |  |  | This means that only the basic information like module loading parameters | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | are presented through sysfs. Other things that might be interesting are | 
					
						
							|  |  |  | currently *not* available. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Nevertheless it's now possible to add proper udev rules so that the | 
					
						
							|  |  |  | DVB device nodes are created automatically. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | We assume that you have udev already up and running and that have been | 
					
						
							|  |  |  | creating the DVB device nodes manually up to now due to the missing sysfs | 
					
						
							|  |  |  | support. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 0. Don't forget to disable your current method of creating the | 
					
						
							|  |  |  | device nodes manually. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 1. Unfortunately, you'll need a helper script to transform the kernel | 
					
						
							|  |  |  | sysfs device name into the well known dvb adapter / device naming scheme. | 
					
						
							|  |  |  | The script should be called "dvb.sh" and should be placed into a script | 
					
						
							|  |  |  | dir where udev can execute it, most likely /etc/udev/scripts/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | So, create a new file /etc/udev/scripts/dvb.sh and add the following: | 
					
						
							|  |  |  | ------------------------------schnipp------------------------------------------------ | 
					
						
							|  |  |  | #!/bin/sh | 
					
						
							|  |  |  | /bin/echo $1 | /bin/sed -e 's,dvb\([0-9]\)\.\([^0-9]*\)\([0-9]\),dvb/adapter\1/\2\3,' | 
					
						
							|  |  |  | ------------------------------schnipp------------------------------------------------ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Don't forget to make the script executable with "chmod". | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 1. You need to create a proper udev rule that will create the device nodes | 
					
						
							|  |  |  | like you know them. All real distributions out there scan the /etc/udev/rules.d | 
					
						
							|  |  |  | directory for rule files. The main udev configuration file /etc/udev/udev.conf | 
					
						
							|  |  |  | will tell you the directory where the rules are, most likely it's /etc/udev/rules.d/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Create a new rule file in that directory called "dvb.rule" and add the following line: | 
					
						
							|  |  |  | ------------------------------schnipp------------------------------------------------ | 
					
						
							|  |  |  | KERNEL="dvb*", PROGRAM="/etc/udev/scripts/dvb.sh %k", NAME="%c" | 
					
						
							|  |  |  | ------------------------------schnipp------------------------------------------------ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | If you want more control over the device nodes (for example a special group membership) | 
					
						
							|  |  |  | have a look at "man udev". | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | For every device that registers to the sysfs subsystem with a "dvb" prefix, | 
					
						
							|  |  |  | the helper script /etc/udev/scripts/dvb.sh is invoked, which will then | 
					
						
							|  |  |  | create the proper device node in your /dev/ directory. |