I have a Hauppauge WinTV NOVA-T-USB2 DVB-T capture device. It is a USB device for capturing TV signals over the air. The device delivers an mpeg2 stream to the computer. Here is a description of how I got it working with Bubba Two.
The following needs to be done as root.
First, we need some tools:
Code: Select all
apt-get install bzip2 mercurial build-essential
We then need to get the kernel module code:
Code: Select all
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.5.tar.bz2
Code: Select all
bunzip2 linux-2.6.26.5.tar.bz2
tar -xf linux-2.6.26.5.tar
Note that the file /lib/modules/2.6.26.5/build is a symbolic link to Tor's home directory. We replace it with a link to the downloaded module code:
Code: Select all
mv /lib/modules/2.6.26.5/build /lib/modules/2.6.26.5/build.bak
ln -s /root/projects/linux/linux-2.6.26.5 /lib/modules/2.6.26.5/build
Code: Select all
cp /proc/config.gz .
gunzip config
mv config .config
We then do some configuring and build some scripts:
Code: Select all
make oldconfig
make prepare
make scripts
I then made a directory called /root/projects/dvb/ and did the following from there.
Check out the latest v4l-dvb code from linuxtv.org:
Code: Select all
hg clone http://linuxtv.org/hg/v4l-dvb
When I ran this, the revision number was 11038. If you run into problems, going back to this revision may help.
Go to the new v4l-dvb folder and run make. After about 75 minutes, you get this error:
Code: Select all
ld: arch/powerpc/lib/crtsavres.o: No such file: No such file or directory
Code: Select all
time make arch/powerpc/lib/crtsavres.o
Now, go back to the new v4l-dvb folder and run make again. (takes about 15 minutes).
We have now built the necessary drivers.
Go to the v4l folder and copy the needed drivers to a suitable location:
Code: Select all
mkdir -p /lib/modules/2.6.26.5/kernel/drivers/media/dvb/dvb-usb/
cp dibx000_common.ko dib3000mc.ko dvb-core.ko dvb-usb.ko dvb-usb-dibusb-common.ko dvb-usb-nova-t-usb2.ko mt2060.ko dvb-pll.ko /lib/modules/2.6.26.5/kernel/drivers/media/dvb/dvb-usb/
Code: Select all
depmod -a
modprobe firmware_class
modprobe dibx000_common
modprobe dib3000mc
modprobe dvb-core
modprobe dvb-usb
modprobe dvb-usb-dibusb-common
modprobe dvb-usb-nova-t-usb2
modprobe mt2060
modprobe dvb-pll
Code: Select all
wget "http://www.easy-it.co.uk/Temp/nova-t/dvb-usb-nova-t-usb2-02.fw"
Code: Select all
dvb-usb: Hauppauge WinTV-NOVA-T usb2 successfully initialized and connected.
There should now be a dvb folder under /dev:
Code: Select all
bubba:~# ls -l /dev/dvb/adapter0/
total 0
crw-rw---- 1 root video 212, 0 Mar 14 16:04 demux0
crw-rw---- 1 root video 212, 1 Mar 14 16:04 dvr0
crw-rw---- 1 root video 212, 3 Mar 14 16:04 frontend0
crw-rw---- 1 root video 212, 2 Mar 14 16:04 net0
Code: Select all
addgroup user video
Code: Select all
apt-get install dvb-utils
We need to get information about TV channels. There are a number of predefined regions in dvb-utils. So look in the /usr/share/doc/dvb-utils/examples/scan/dvb-t directory to see if something suits you. Sweden is particularly well covered. I live in Denmark, though, so I made a file called dk-Aarhus containing this:
Code: Select all
# Denmark - Aarhus
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
T 658000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
Now, run scan:
Code: Select all
scan dk-Aarhus
Code: Select all
scanning dk-Aarhus
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
initial transponder 658000000 0 3 9 3 1 3 0
>>> tune to: 658000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE
0x0000 0x00d5: pmt_pid 0x0835 DIGI-TV -- TV 2 (Ostjylland) (running)
0x0000 0x0067: pmt_pid 0x012d DIGI-TV -- DR UPDATE / Tegnsprog (running)
0x0000 0x0066: pmt_pid 0x00c9 DIGI-TV -- DR2 (running)
0x0000 0x006f: pmt_pid 0x0068 DIGI-TV -- DR Synstolkning (running)
0x0000 0x0065: pmt_pid 0x0065 DIGI-TV -- DR1 (running)
0x0000 0x0051: pmt_pid 0x0050 DIGI-TV -- STB Opdateringer (running)
Network Name 'Arhus-Hadsten'
dumping lists (6 services)
TV 2 (Ostjylland):658000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:2111:2121:213
DR1:658000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:111:121:101
DR2:658000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:211:221:102
DR UPDATE / Tegnsprog:658000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:311:321:103
STB Opdateringer:658000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:0:81
DR Synstolkning:658000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:111:121:111
Done.
Code: Select all
mkdir ~/.tzap
scan dk-Aarhus > ~/.tzap/channels.conf
Code: Select all
tzap DR1
Code: Select all
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
tuning to 658000000 Hz
video pid 0x006f, audio pid 0x0079
status 03 | signal 2d35 | snr 0000 | ber 001fffff | unc 00000000 |
status 1f | signal 2cf6 | snr 0000 | ber 00000060 | unc 00000000 | FE_HAS_LOCK
status 1f | signal 2ccc | snr 0000 | ber 00000000 | unc 00000016 | FE_HAS_LOCK
status 1f | signal 2c7b | snr 0000 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal 2cb2 | snr 0000 | ber 000075d0 | unc 00000000 | FE_HAS_LOCK
status 1f | signal 2c74 | snr 0000 | ber 00000060 | unc 00000002 | FE_HAS_LOCK
status 1f | signal 2c69 | snr 0000 | ber 00000060 | unc 00000000 | FE_HAS_LOCK
status 1f | signal 2c61 | snr 0000 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal 2c7e | snr 0000 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
Now try running tzap with the -r option:
Code: Select all
tzap -r DR1
Code: Select all
cat /dev/dvb/adapter0/dvr0 > test.mpg
That is it. If you want a little more user friendly interface, hang on while I am trying to get the last kinks worked out in my MythTV installation on Bubba Two. I will post a howto for that once it works.
A similar approach should probably work for other DVB devices too.
Thanks to 6feet5 for helping me out in this thread: http://forum.excito.net/viewtopic.php?t=1630.