How to use a DVB-T TV capture device with Bubba Two

A collection of tips on howto tweak your Bubba.
Post Reply
bk
Posts: 12
Joined: 03 Mar 2009, 14:05

How to use a DVB-T TV capture device with Bubba Two

Post by bk » 14 Mar 2009, 11:27

Disclaimer: I am no great Linux expert and this howto installs new kernel modules. So if you break anything in the process, don't blame me.

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
I then made a directory called /root/projects/linux/ and did the following from there.

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
Unpack it:

Code: Select all

bunzip2 linux-2.6.26.5.tar.bz2
tar -xf linux-2.6.26.5.tar
(takes about four minutes)

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
Go to the new linux-2.6.26.5 directory and do the following:

Code: Select all

cp /proc/config.gz .
gunzip config
mv config .config
This gives us the Bubba specific configuration.

We then do some configuring and build some scripts:

Code: Select all

make oldconfig
make prepare
make scripts
(takes about two minutes)

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
(takes about five minutes)

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
Go back to the linux-26-5-26 folder and run:

Code: Select all

time make arch/powerpc/lib/crtsavres.o
You could probably also have done this before building the v4l-dvb code to avoid the error.

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/
Install the drivers:

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
Go to the /lib/firmware directory and get the firmware:

Code: Select all

wget "http://www.easy-it.co.uk/Temp/nova-t/dvb-usb-nova-t-usb2-02.fw"
Insert the USB device. If you run dmesg, one of the last lines lines should read something like this:

Code: Select all

dvb-usb: Hauppauge WinTV-NOVA-T usb2 successfully initialized and connected.
In general, dmesg is very useful for debugging this kind of stuff.

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
The dvb device is in the video group, so add the appropriate regular users to the video group:

Code: Select all

addgroup user video
Now we need to figure out if it is working. Get dvb-utils:

Code: Select all

apt-get install dvb-utils
Then you may switch to a non-root user.

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
You may be able to modify it to you area by changing the frequency (the second field, written in Hz). I made the file by modifying this guys' file: http://legart.dk/2006/07/06/dvb-t-and-linux.

Now, run scan:

Code: Select all

scan dk-Aarhus
The output should look something like this:

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.
When it looks right, put the stdout output in an appropriate file:

Code: Select all

mkdir ~/.tzap
scan dk-Aarhus > ~/.tzap/channels.conf
You can now run tzap using one of the channel names from the channels.conf file:

Code: Select all

tzap DR1
My output looks like this:

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
The signal column is the signal quality written as a hex value, where 0000 is 0% and ffff is 100%. So my signal quality is between 17% and 18%. That is just enough to get a useful result. It is quite useful to use tzap while messing with the antenna to get a good signal.

Now try running tzap with the -r option:

Code: Select all

tzap -r DR1
While it is running, use another terminal to run this:

Code: Select all

cat /dev/dvb/adapter0/dvr0 > test.mpg
If everything is working, you are getting an mpeg2 stream right out of the device into a file which should grow rather quickly. Try copying the file to another computer and see if you can watch it.

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.

art1go
Posts: 13
Joined: 05 Oct 2009, 05:51

Re: How to use a DVB-T TV capture device with Bubba Two

Post by art1go » 19 Jun 2011, 07:41

Thanks for these details.

Please find steps I've done to install a USB Elgato EyeTV Diversity
on bubba 2 kernel: Linux version 2.6.32.13 (tor@tor-desktop)

- Check the kernel

Code: Select all

cat /proc/version
Linux version 2.6.32.13 (tor@tor-desktop) (gcc version 4.3.4 (crosstool-NG-1.5.1) ) #1 Tue May 25 12:01:56 CEST 2010
- Install tools

Code: Select all

apt-get install bzip2 mercurial build-essential
Install kernel headers

Code: Select all

mkdir -p /root/projects/linux/
cd /root/projects/linux/
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.13.tar.bz2
bunzip2 linux-2.6.32.13.tar.bz2
tar xf linux-2.6.32.13.tar
rm linux-2.6.32.13.tar
mv /lib/modules/2.6.32.13/build /lib/modules/2.6.32.13/build.bak
ln -s /root/projects/linux/linux-2.6.32.13 /lib/modules/2.6.32.13/build
cp /proc/config.gz .
gunzip config.gz
mv .config linux-2.6.32.13/
cd linux-2.6.32.13/
make oldconfig
make prepare
make scripts
time make arch/powerpc/lib/crtsavres.o
- Install new drivers

Code: Select all

mkdir -p /root/projects/dvb/
cd /root/projects/dvb/
hg clone http://linuxtv.org/hg/v4l-dvb
cd v4l-dvb/
make
make install
Plug the USB stick and install tvheadend

Code: Select all

/root/projects/dvb/
wget http://www.lonelycoder.com/debian//dists/hts/main/source/hts-tvheadend_2.12.tar.gz
tar xzvf hts-tvheadend_2.12.tar.gz
apt-get install libavahi-client-dev
./configure
make
make install
adduser hts
addgroup hts video
Start tvheadend to create a user

Code: Select all

su hts
/usr/local/bin/tvheadend -C
Ctrl-C
Create a file with the following content in /usr/local/bin/tvheadend

Code: Select all

#! /bin/sh
### BEGIN INIT INFO
# Provides:          tvheadend
# Required-Start:    $local_fs $remote_fs udev
# Required-Stop:     $local_fs $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
### END INIT INFO

# Author: Andreas Öman

# Do NOT "set -e"

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/usr/sbin:/usr/bin:/sbin:/bin
DESC="HTS Tvheadend"
NAME=tvheadend
DAEMON=/usr/local/bin/$NAME
DAEMON_ARGS="-f -u hts -g video"
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME

# Load the VERBOSE setting and other rcS variables
[ -f /etc/default/rcS ] && . /etc/default/rcS

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

#
# Function that starts the daemon/service
#
do_start()
{
	# Return
	#   0 if daemon has been started
	#   1 if daemon was already running
	#   2 if daemon could not be started
#        udevadm settle
	start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
		|| return 1
	start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
		$DAEMON_ARGS \
		|| return 2
}

#
# Function that stops the daemon/service
#
do_stop()
{
	# Return
	#   0 if daemon has been stopped
	#   1 if daemon was already stopped
	#   2 if daemon could not be stopped
	#   other if a failure occurred
	start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
	RETVAL="$?"
	[ "$RETVAL" = 2 ] && return 2
	# Many daemons don't delete their pidfiles when they exit.
	rm -f $PIDFILE
	return "$RETVAL"
}


case "$1" in
  start)
	[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
	do_start
	case "$?" in
		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
	esac
	;;
  stop)
	[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
	do_stop
	case "$?" in
		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
	esac
	;;
  restart|force-reload)
	#
	# If the "reload" option is implemented then remove the
	# 'force-reload' alias
	#
	log_daemon_msg "Restarting $DESC" "$NAME"
	do_stop
	case "$?" in
	  0|1)
		do_start
		case "$?" in
			0) log_end_msg 0 ;;
			1) log_end_msg 1 ;; # Old process is still running
			*) log_end_msg 1 ;; # Failed to start
		esac
		;;
	  *)
	  	# Failed to stop
		log_end_msg 1
		;;
	esac
	;;
  *)
	echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
	exit 3
	;;
esac

:
start it

Code: Select all

/usr/local/bin/tvheadend start
Connect, record and enjoy
http://bubba:9981/extjs.html or http://bubba.local:9981/extjs.html

jonte
Posts: 65
Joined: 05 Nov 2008, 11:52

Re: How to use a DVB-T TV capture device with Bubba Two

Post by jonte » 07 Jul 2011, 11:16

art1go wrote: Plug the USB stick and install tvheadend

Code: Select all

/root/projects/dvb/
wget http://www.lonelycoder.com/debian//dists/hts/main/source/hts-tvheadend_2.12.tar.gz
tar xzvf hts-tvheadend_2.12.tar.gz
apt-get install libavahi-client-dev
./configure
make
make install
adduser hts
addgroup hts video
Start tvheadend to create a user

Code: Select all

su hts
/usr/local/bin/tvheadend -C
Ctrl-C
Create a file with the following content in /usr/local/bin/tvheadend

Code: Select all

#! /bin/sh
### BEGIN INIT INFO
# Provides:          tvheadend
# Required-Start:    $local_fs $remote_fs udev
# Required-Stop:     $local_fs $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
### END INIT INFO

# Author: Andreas Öman

# Do NOT "set -e"

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/usr/sbin:/usr/bin:/sbin:/bin
DESC="HTS Tvheadend"
NAME=tvheadend
DAEMON=/usr/local/bin/$NAME
DAEMON_ARGS="-f -u hts -g video"
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME

# Load the VERBOSE setting and other rcS variables
[ -f /etc/default/rcS ] && . /etc/default/rcS

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

#
# Function that starts the daemon/service
#
do_start()
{
	# Return
	#   0 if daemon has been started
	#   1 if daemon was already running
	#   2 if daemon could not be started
#        udevadm settle
	start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
		|| return 1
	start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
		$DAEMON_ARGS \
		|| return 2
}

#
# Function that stops the daemon/service
#
do_stop()
{
	# Return
	#   0 if daemon has been stopped
	#   1 if daemon was already stopped
	#   2 if daemon could not be stopped
	#   other if a failure occurred
	start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
	RETVAL="$?"
	[ "$RETVAL" = 2 ] && return 2
	# Many daemons don't delete their pidfiles when they exit.
	rm -f $PIDFILE
	return "$RETVAL"
}


case "$1" in
  start)
	[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
	do_start
	case "$?" in
		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
	esac
	;;
  stop)
	[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
	do_stop
	case "$?" in
		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
	esac
	;;
  restart|force-reload)
	#
	# If the "reload" option is implemented then remove the
	# 'force-reload' alias
	#
	log_daemon_msg "Restarting $DESC" "$NAME"
	do_stop
	case "$?" in
	  0|1)
		do_start
		case "$?" in
			0) log_end_msg 0 ;;
			1) log_end_msg 1 ;; # Old process is still running
			*) log_end_msg 1 ;; # Failed to start
		esac
		;;
	  *)
	  	# Failed to stop
		log_end_msg 1
		;;
	esac
	;;
  *)
	echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
	exit 3
	;;
esac

:
start it

Code: Select all

/usr/local/bin/tvheadend start
Connect, record and enjoy
http://bubba:9981/extjs.html or http://bubba.local:9981/extjs.html
I'm curious about HTS TVheadend (http://www.lonelycoder.com/hts/tvheadend_overview.html) and B3 in my case. Is it working satisfactory on the B2? Anybody else tried it?

It's available as a Debian repository at "deb http://www.lonelycoder.com/debian/ hts main". I've become less adventurous and risktaking when it comes to installing software on my b3 with time ;)

//Jonte

art1go
Posts: 13
Joined: 05 Oct 2009, 05:51

Re: How to use a DVB-T TV capture device with Bubba Two

Post by art1go » 29 Sep 2011, 11:51

Hi Jonte,
it is working fine for me, I've connected it to a jailbroken ATV2 and I can record and watch live tv. streaming over the network works fine too.
Because of a lack of good programs on the British tv, I use it less than expected but I think you get the cable working and more.

meta96
Posts: 6
Joined: 19 Sep 2011, 06:22

Re: How to use a DVB-T TV capture device with Bubba Two

Post by meta96 » 08 Dec 2011, 05:51

Hi

I ve tried to get TVheadend on my B3 working, because "on my one and only 24/7 machine" this is the best place for DVB-T. I ve used a Terratec XXS which is supported by the B3 Kernel without an issue (i ve just to copy the firmware to the right folder, check v4l wiki for other usb sticks). TVheadend is a nice and easy DVB backend for a recording solution. But I run into some troubles with the wonderful howto(s) in this thread.

First attempt (not working in my case)
Methode “art1go“: [/b]

After this line:

$ /usr/local/bin/tvheadend –C

I get some OKs but also one Error block:

xyz
[ERROR]:webui: No source path providing HTTP content: "/static".Checked in "/root/projects/dvb/hts-tvheadend-2.12" and in the binary's embedded file system. If you need to move or install the binary, reconfigure with --release
[ERROR]:webui: No source path providing HTTP content: "/docs".Checked in "/root/projects/dvb/hts-tvheadend-2.12" and in the binary's embedded file system. If you need to move or install the binary, reconfigure with --release
[ERROR]:webui: No source path providing HTTP content: "/docresources".Checked in "/root/projects/dvb/hts-tvheadend-2.12" and in the binary's embedded file system. If you need to move or install the binary, reconfigure with –release
xyz


Second attempt (not working in my case)

As root I ve done:
$ apt-get install build-essential libavahi-client-dev git
$ apt-get install openssl
$ git clone https://github.com/andoma/tvheadend.git
$ cd tvheadend
$ git init
$ ./configure

After this, i get this error massage:

Using C compiler: cc
Using AVAHI client: 0.6.27
libssl or openssl not found

Third attempt, I not often install programs from source, so please correct me (e.g. user rights etc.) but this solved my problems:

As root I ve done:

$ mkdir -p /root/projects/dvb/
$ cd /root/projects/dvb/
$ cd /usr/local/bin
$ apt-get install build-essential libavahi-client-dev git
$ git init
$ wget http://www.lonelycoder.com/debian//dists/hts/main/source/hts-tvheadend_2.12.tar.gz
$ tar xzvf hts-tvheadend_2.12.tar.gz
$ cd hts-tvheadend-2.12
$ git init
$ ./configure
$ make

I think this works, but I also get “bad default revision 'HEAD' “-messages

$ make install
$ adduser hts
$ addgroup hts video

$ exit
$ su hts
$ /usr/local/bin/tvheadend –C
Press Crtl-C


# Test A:

$ /usr/local/bin/tvheadend
# Open browser and: http://b3:9981/extjs.html

# working?

# Create a Start script

$ cd /usr/local/bin/tvheadend
# back to root
$ su
$ nano

# use Script from „ art1go “ save as /usr/local/bin/tvheadend.sh

$ chmod a+x tvheadend.sh
# (the chmod line above should be checked by a linux master, because of user rights)
$ exit

# Test B:
# /home/storage/video/server.11.video/archive.recordings

$ /usr/local/bin/tvheadend.sh start
# Open browser and: http://b3:9981/extjs.html
# working?

# END: starting on boot

$ su
$ cd /usr/local/bin/
$ cp tvheadend.sh /etc/init.d/tvheadend.sh
$ cd /etc/init.d/
$ chmod a-w tvheadend.sh
$ chmod u+w tvheadend.sh
# (the chmod lines above should be corrected by a linux master because of user rights)

# Test C:

/etc/init.d/tvheadend.sh start
# Open browser and: http://b3:9981/extjs.html
# working?

$ update-rc.d tvheadend.sh defaults

# reboot
# Open browser and: http://b3:9981/extjs.html

# change the recording path to /home/storage/video/dvb-recordings
# check minidlna
# and your 24/7 video recording solution is OnAir
#
# kudos to Andreas Öman and his tvheadend team
#
# (open port 9982 in the firewall, install tvheadend-client for android/iOS and you can schedule your recordings from everywhere)

art1go
Posts: 13
Joined: 05 Oct 2009, 05:51

Re: How to use a DVB-T TV capture device with Bubba Two

Post by art1go » 04 Jan 2012, 17:14

Out of curiosity, can't you install TVheadend using a deb package on B3?

Science
Posts: 2
Joined: 31 May 2012, 14:05

Re: How to use a DVB-T TV capture device with Bubba Two

Post by Science » 31 May 2012, 14:15

This might be outdated, but it probably should apply to the B3 too, shouldn't it?
Well, things have changed, so has the kernel updated and the linnuxtv has changed. (http://www.linuxtv.org/wiki/index.php/H ... ce_Drivers).
Now compiling is not a problem, it just takes ages. I tried both kernels 2.6.39.4 and the one from github (https://github.com/Excito/kernel). I can't find 2.5.39.4-11. Well, when i try to install the em28xx-driver, wich my card needs, it failes with:

Code: Select all

root@b3:~/test/media_build# modprobe em28xx
WARNING: Error inserting videobuf_core (/lib/modules/2.6.39.4-11/kernel/drivers/media/video/videobuf-core.ko): Invalid module format
WARNING: Error inserting videobuf_vmalloc (/lib/modules/2.6.39.4-11/kernel/drivers/media/video/videobuf-vmalloc.ko): Invalid module format
WARNING: Error inserting media (/lib/modules/2.6.39.4-11/kernel/drivers/media/media.ko): Invalid module format
WARNING: Error inserting videodev (/lib/modules/2.6.39.4-11/kernel/drivers/media/video/videodev.ko): Invalid module format
WARNING: Error inserting v4l2_common (/lib/modules/2.6.39.4-11/kernel/drivers/media/video/v4l2-common.ko): Invalid module format
FATAL: Error inserting em28xx (/lib/modules/2.6.39.4-11/kernel/drivers/media/video/em28xx/em28xx.ko): Invalid module format
and dmesg shows:

Code: Select all

[   46.540043] ttpci_eeprom: version magic '2.6.39.4-00001-gf6750c1 mod_unload ARMv5 ' should be '2.6.39.4-11 mod_unload ARMv5 '
[ 1240.287652] tveeprom: version magic '2.6.39.4-00001-gf6750c1 mod_unload ARMv5 ' should be '2.6.39.4-11 mod_unload ARMv5 '
[ 2563.520374] tveeprom: version magic '2.6.39.4-00001-gf6750c1 mod_unload ARMv5 ' should be '2.6.39.4-11 mod_unload ARMv5 '
[ 2629.027184] tveeprom: version magic '2.6.39.4-00001-gf6750c1 mod_unload ARMv5 ' should be '2.6.39.4-11 mod_unload ARMv5 '
[ 2939.929992] rc_core: version magic '2.6.39.4-00001-gf6750c1 mod_unload ARMv5 ' should be '2.6.39.4-11 mod_unload ARMv5 '
[ 3730.349062] tveeprom: version magic '2.6.39.4-00001-gf6750c1 mod_unload ARMv5 ' should be '2.6.39.4-11 mod_unload ARMv5 '
Any idea why this fails? And where can i get the 2.6.39.4-11 kernel?

Post Reply