Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] /dev/dvb0.dvr0 instead of /dev/dvb/adapter0/dvr0 ??



mailto:linux-dvb@linuxtv.org

/dev/dvb0.dvr0 instead of /dev/dvb/adapter0/dvr0 ??

Hi,

Config: FC3 + dvb-kernel from CVS (using ./insmod.sh load technique) + Nova-T (#

/sbin/lspci gives: 02:08.0 Multimedia controller: Philips Semiconductors SAA7146 (rev

01))

I am trying to use the udev method to get the /dev/dvb/adapter0/ device structure (see

below instrucctions for how I [am trying to] do this). However, I am not getting the

device structure I had in FC2:

[root@mythtv build-2.6]# ls /dev/dv*
/dev/dvb0.demux0 /dev/dvb0.dvr0 /dev/dvb0.frontend0 /dev/dvb0.net0

If this is some new FC3 / udev structure then great...however, I cannot test it to see

if it works because dvbscan & tzap are looking for a /dev/dvb/adapter0/xxx type

structure.

Any ideas?

Many thanks in advance,

Paul
Sydney, Australia.

===========================================================================
=========FC3 + CVS dvb-kernel + Nova-T INSTALL INSTRUCTIONS================
===========================================================================
Note: FC3 has switched from a static /dev/ directory to one that is dynamically managed

via udev. This allows device nodes to be created on demand as drivers are loaded. For

more information on udev, refer to the udev(8) man page and the following link:

http://people.redhat.com/~harald/udev.html

Examine the following file obtained in the CVS download for more info:
# vi /DOWNLOAD-DIR/dvb-cvs/dvb-kernel/linux/Documentation/dvb/udev.txt

Firstly, we need a helper script to transform the kernel sysfs device name into the

well known dvb adapter / device naming scheme. So, create a new file:
# vi /etc/udev/scripts/dvb.sh

And enter the following:
#!/bin/sh
/bin/echo $1 | /bin/sed -e 's,dvb\([0-9]\)\.\([^0-9]*\)\([0-9]\),dvb/adapter\1/\2\3,'

And make it executable with the following command:
# chmod 755 /etc/udev/scripts/dvb.sh

Now, we need to create a proper udev rule that will create the device nodes. The main

udev configuration file (/etc/udev/udev.conf) tells you the directory where the rules

are. Enter the following to find out:
# cat /etc/udev/udev.conf | grep udev_rules

You should see something like:
# udev_rules - The name and location of the udev rules file
udev_rules="/etc/udev/rules.d/"

Assuming you get the same output (vary to suit), enter the following to create a new

rule file:
# vi /etc/udev/rules.d/dvb.rule

And enter the following line:
KERNEL="dvb*", PROGRAM="/etc/udev/scripts/dvb.sh %k", NAME="%c"

The next step is to provide a little more control over the device nodes (i.e. to enable

a special group membership). We do this by adding a section to the udev permissions

file, enter:
# vi /etc/udev/permissions.d/50-udev.permissions

Add the following section to the end of the file:
# DVB devices
dvb/*:$local:video:0660
dvb:$local:video:0660
dvb/adapter*:$local:video:0660

Finished! Now, we do not need to run the MAKEDEV-DVB.sh script to create /dev/dvb/…

entries, because udev should automatically create them at the time the driver module is

loaded.

Now, compile the drivers, by entering the following:
# cd build-2.6
# make

At this stage, there will be no devices. Confirm by entering:
# ls /dev/d*

You will just see:
/dev/dnrtmsg /dev/dsp

To load the driver modules so we can test them, enter:
# ./insmod.sh load

There will be some errors, as drivers for cards we do not have will attempt to load (it

will seem to hang briefly, just before returning to the shell prompt – this delay is

good, as the driver we require is loading!). If you get this behaviour, this is fine

for now, as we will determine shortly if our drivers have loaded correctly. For me, I

get the following output:
Inserting DVB modules into kernel
FATAL: Module crc32 not found.
FATAL: Module firmware_class not found.
FATAL: Module evdev not found.

The devices will now be created. Confirm by entering:
# ls /dev/d*

You will now see:
/dev/dnrtmsg /dev/dvb0.demux0 /dev/dvb0.frontend0
/dev/dsp /dev/dvb0.dvr0 /dev/dvb0.net0

-------------------------------------------------------

ISSUE HERE: HUH???? WHERE IS THE STRUCTURE /dev/dvb/adapter0/blah-blah as per FC2???

All seems fine below???

# dmesg
Linux video capture interface: v1.00
saa7146: register extension 'dvb'.
saa7146: register extension 'budget dvb'.
saa7146: register extension 'budget_ci dvb'.
ACPI: PCI interrupt 0000:02:08.0[A] -> GSI 11 (level, low) -> IRQ 11
saa7146: found saa7146 @ mem 42a6c000 (revision 1, irq 11) (0x13c2,0x1011).
DVB: registering new adapter (TT-Budget/WinTV-NOVA-T PCI).
adapter has MAC addr = 00:d0:5c:23:14:74
DVB: registering frontend 0 (Philips TDA10045H DVB-T)...
saa7146: register extension 'budget dvb /w video in'.
usbcore: registered new driver Technotrend/Hauppauge USB-Nova
usbcore: registered new driver ttusb-dec
usbcore: registered new driver dvb_dibusb
usbcore: registered new driver cinergyT2

# cat /var/log/messages | grep NOVA
Dec 6 21:44:55 mythtv kernel: DVB: registering new adapter (TT-Budget/WinTV-NOVA-T

PCI).
-------------------------------------------------------




Home | Main Index | Thread Index