Hello,
I am looking for some help getting a TerraTec Cinergy T2 (T^2) USB DVB-T adapter working. The adapter is supported by linuxtv, and I have the appropriate kernel modules built. I think the problem I am having is in the devices that are being set up, or not being set up, when I plug the adapter in.
When I plug the adapter in after a reboot, that is, before any of the appropriate modules have been loaded, the system makes these devices in /dev/dvb/adapter0:
bash-3.1$ ls -l /dev/dvb/adapter0/
total 0
crw-rw---- 1 root video 212, 4 May 20 16:18 demux0
crw-rw---- 1 root video 212, 5 May 20 16:18 dvr0
crw-rw---- 1 root video 212, 3 May 20 16:18 frontend0
crw-rw---- 1 root video 212, 7 May 20 16:18 net0
If I remove the adapter, the frontend0 devices is deleted, but the others remain. When I plug the adapter back in, frontend0 is created again.
lsmod the shows these cinergyT2 specific modules as being loaded:
cinergyT2 13444 0
dvb_core 77992 1 cinergyT2
usbcore 119684 4 cinergyT2,uhci_hcd,ehci_hcd
My user account is included in the video group in /etc/groups, so I am ruling out a permissions problem.
Still, even though these devices are present, I can't get Kaffeine or Xine to recognize that I have a DVB-T receiver attached. In Kaffeine, the DVB tab didn't appear at all until I used the configuration settings to add it, but I am still not offered a menu or dialog to do any further configuration beyond a broadcast address, a broadcast port, an info port and a directory for timeshift files. It also complains that it, "Can't bind the info socket!!" (It is trying to bind to port 1235.) I should be able to access an option to scan for channels, but there are no other configuration options available.
Xine was complaining about a missing channel.conf, but using a number of tools available on the web, including linuxtv's scan utility, I have been able to develop a channels.conf for xine. Unfortunately, it still complains that, "There is no input plugin available to handle 'dvb:/ZDF'. Maybe MRL syntax is wrong or file/source stream does not exist." I am figuring that the "file/source stream does not exist" part of that is a good hint that the devices are not properly bound.
I used the dvb.sh script given in /usr/src/linux/Documentation/dvb/udev.txt (I am using kernel 2.6.16.14) to write /etc/udev/scripts/dvb.sh, and the script is executable for all users. It looks like this:
#!/bin/sh
/bin/echo $1 | /bin/sed -e 's,dvb\([0-9]\)\.\([^0-9]*\)\([0-9]\),dvb/adapter\1/\2\3,'
#end of script
My slack-current system has these lines in /etc/udev/rules.d/udev.rules:
# dvb devices
KERNEL="dvb*", PROGRAM="/etc/udev/scripts/dvb.sh %k", NAME="%c", GROUP="video", MODE="0660"
That line builds on the rule given in the kernel documentation and adds the video group binding and the mode.
When I plug the apapter in, usbmonitor shows this:
UEVENT[1148209418] add@/devices/pci0000:00/0000:00:10.3/usb1/1-6
UEVENT[1148209418] add@/devices/pci0000:00/0000:00:10.3/usb1/1-6/1-6:1.0
UEVENT[1148209418]
add@/class/dvb/dvb0.frontend0
UEVENT[1148209418] add@/class/input/input4
UEVENT[1148209418] add@/class/usb_device/usbdev1.5
That kind of surprises me, because I would expect to see some UDEV lines showing events udev sends out after rule processing.
Anyway, I am stumped. If anyone has some ideas on this, I would be grateful for the advice.