DVICO-Ultraview Install in Australia

From MythTV Official Wiki
Revision as of 01:43, 21 June 2006 by Cncook001 (talk | contribs) (Hardware)

Jump to: navigation, search

Background

The following text represents my working notes, made when I updated my analogue (PVR-350 based) mythtv box to use a Ultraview DVB-T (which is basically a DViCO DVB-T re-badged).

These notes have also been edited by Richard Dale who uses two DViCO FusionHDTV DVB-T Plus cards on FC4 in Melbourne, and Warwick Allison with slightly newer/different cards.

There are also notes for DViCO FusionHDTV DVB-T Dual Tuner cards.

These notes do *not* apply to the DVICO "Lite" cards (Warwick never got those to actually work, but Dane Allison did).

Before you Start

This assumes that you've followed the Fedora Myth(TV)ology HOWTO guide on Fedora Core 3 or Fedora Core 4.

For other distributions, YMMV, but things should be reasonably close.

I have also included some notes for Ubuntu Breezy that should help.

Card Source

I picked up my Ultraview card from AB&T in Philip, Canberra (Australia) - just under 200ish. Belconnen should have some also - apparently they're fairly easy to find around Canberra as of Nov 2005.

Hardware

When installing your card, ensure that you plug the ultraview/dvico audio-out port into the CD-in port (or AUX, if you have one), on your sound card. This is an on-card port in both cases - not one of the ones at the rear that you can access from outside your computer. A suitable cable is supplied with the Ultraview.

The "DViCO FusionHDTV DVB-T Dual Tuner" card has two tuners. One is PCI, the other is USB. You will either need to connect an external USB cable to your card, or use the supplied internal USB cable which connects to your motherboard.

Kernel / Packages

Older kernels may not have the drivers required, so update to the most recent kernel available using:

yum update

For the Ultraview card on FC3 with 2.6.12, Kudzu will automatically add an entry into /etc/modprobe.conf for you for the card, which should look like this:

   alias char-major-81 cx8800

On the Ultraview card on FC3 with 2.6.12 you will need to force the cx88xx module into DVICO mode by adding the following like

   options cx88xx card=21

On FC4, kernel 2.6.15 and the DViCO FusionHDTV cards I didn't need to make any changes to modprobe.conf but did need to add the following lines to the start function of /etc/rc.d/init.d/mythbackend

/sbin/modprobe video-buf-dvb
/sbin/modprobe cx88-dvb

For Ubuntu Breezy, modify the file /etc/modprobe.d/aliases, and change the line:

 alias char-major-81 videodev

to:

 alias char-major-81 cx8800

Also, create a file /etc/modprobe.d/dvico with the following contents:

 options cx88xx card=21

Breezy users will also want to use 'EasyUbuntu' to pull back the appropriate multimedia packages (win32codecs, etc). Once done, add the following to your /etc/apt/sources.list:

deb http://deb.thehunter.ws/ breezy mythtv-stable

  1. deb-src http://deb.thehunter.ws/ breezy mythtv-stable

.. and install the appropriate mythtv packages.

Alsa

Ensure that your 'CD' device on your sound card is enabled as a 'capture' device. Run: alsamixer, press F4 to switch to the 'Capture' options. Move to 'CD' and press 'space' to set CD as a capture device. Press F3 to jump back to 'Playback' and set the CD volume to 100%.

Permissions

For Fedora, add to /etc/security/console.perms:

   # Mythtv permissions
   <dvb>=/dev/dvb/adapter?/*
   <console> 0660 /dev/lirc0 0660 root.uucp
   <console> 0660 <dvb> 0660 root.root

Reboot. This will allow the mythtv user (or whoever logs into the console) to access the card, rather than restricting it to root only.

For Ubuntu Breezy, add the 'mythtv' user to the following groups in /etc/group:

 cdrom, audio, video, plugdev

Tuner

Go to http://www.dba.org.au/index.asp?sectionID=22, put in your post-code (eg: 2902) Select the region that is closest to you (eg: Tuggeranong Hill) Note down the "middle frequency" for each channel. Convert it to HZ by multiplying by 1000000 (788.5 becomes 788500000).

tv_grab_au_reg

Option 1

Download tv_grab_au_reg, and follow the instructions from http://www.cse.unsw.edu.au/~willu/xmltv/tv_grab_au_reg.html

Note the new grabber can obtain data from both Oztivo and ICE

Note: I fired up phpmyadmin at this point, and threw the xmlid into the channels table (I didn't follow the above instructions exactly) - I suspect you won't need to do this, so I won't go into significant detail.

Note: once you create the "video source".xml file you will need to update the registration/password details as per your http://www.tvguide.org.au/ userid/passwd and configure your channels in the file as well

Option 2

Alternatively, you can use the tv_grab_au script from imir which downloads the channel guide from NineMSN, which is surprisingly accurate. http://www.immir.com/tv_grab_au

MythTV Setup

Run mythtvsetup

Set up the 'General' options as appropriate

Define a new Capture card, and configure it as a "Digital Video Broadcast Card (DVB)" The DVB Card Number, is generally '0', but may be different on your system.

If you have the Dual Tuner card you will have a DVB Card Number '1' as well as '0'. Add this as a second card.

Once you have the correct Card type, and card number, the 'Card Name' and 'Type' should show appropriate values. Under Advanced -> Recording Options: Check 'Use Hardware MPEG Encoder' Finish

Video Sources -> New Video Source Video Source Name: HDTV Tuner (this name can be pretty-much arbitrary) XMLTV Listings Grabber: Australia Channel frequency table: default

Input Connections: Set DVB0 to a video source of 'HDTV Tuner'. If you have the Dual Tuner card set DVB1 to a video source of 'HDTV Tuner' as well.

Channel Editor

Go to 'Advanced' (Note: the 'm' key will allow you to edit/delete stuff in this submenu) Select 'New Transport' Enter each frequency you found above (in Hz). Select a Bandwidth of 7Hz

Select 'scan for channels' Change 'scan type' to 'Existing transport scan' Select each transport in turn, and Scan. Channels should be added to the main listing once they're found.

NOTE: This process didn't want to work for me under 0.19. I later worked out though, that I didn't have the 'timeout' settings set to an acceptable value. Try at least doubling the default values, and you should be fine. However, channel frequencies for Kambah/Tuggeranong are provided here if you need them:

   INSERT INTO `channel` VALUES (1002, '2', '31', 1, 'ABC TV Canberra', 'ABC TV Canberra', '/home/mythtv/.mythtv/channels/abc.png', NULL, , 'ABC-Can', 0, 32768, 32768, 32768, 32768, 'Default', 0, 1, , 0, 1, 529, 0);
   INSERT INTO `channel` VALUES (1021, '21', '31', 1, 'ABC2', 'ABC2', '/home/mythtv/.mythtv/channels/abc.png', NULL, , 'ABC2', 0, 32768, 32768, 32768, 32768, 'Default', 0, 1, , 0, 1, 530, 0);
   INSERT INTO `channel` VALUES (1022, '22', '31', 1, 'ABC TV', 'ABC TV', '/home/mythtv/.mythtv/channels/abc.png', NULL, , , 0, 32768, 32768, 32768, 32768, 'Default', 0, 0, , 0, 1, 531, 0);
   INSERT INTO `channel` VALUES (1020, '20', '31', 1, 'ABC HDTV', 'ABC HDTV', '/home/mythtv/.mythtv/channels/abc.png', NULL, , , 0, 32768, 32768, 32768, 32768, 'Default', 0, 0, , 0, 1, 848, 0);
   INSERT INTO `channel` VALUES (3374, '2374', NULL, 1, 'PRIME Canberra', 'PRIME Canberra', '/home/mythtv/.mythtv/channels/prime.png', NULL, , 'Prime-Can', 0, 32768, 32768, 32768, 32768, 'Default', 0, 1, , 0, 6, 2374, 0);
   INSERT INTO `channel` VALUES (3400, '2400', NULL, 1, 'PRIME HD', 'PRIME HD', '/home/mythtv/.mythtv/channels/prime.png', NULL, , , 0, 32768, 32768, 32768, 32768, 'Default', 0, 0, , 0, 6, 2400, 0);
   INSERT INTO `channel` VALUES (3401, '2401', NULL, 1, 'PRIME View 1', 'PRIME View 1', '/home/mythtv/.mythtv/channels/prime.png', NULL, , , 0, 32768, 32768, 32768, 32768, 'Default', 0, 0, , 0, 6, 2401, 0);
   INSERT INTO `channel` VALUES (3402, '2402', NULL, 1, 'PRIME View 2', 'PRIME View 2', '/home/mythtv/.mythtv/channels/prime.png', NULL, , , 0, 32768, 32768, 32768, 32768, 'Default', 0, 0, , 0, 6, 2402, 0);
   INSERT INTO `channel` VALUES (3403, '2403', NULL, 1, 'PRIME View 3', 'PRIME View 3', '/home/mythtv/.mythtv/channels/prime.png', NULL, , , 0, 32768, 32768, 32768, 32768, 'Default', 0, 0, , 0, 6, 2403, 0);
   INSERT INTO `channel` VALUES (1030, '30', NULL, 1, 'SBS HD', 'SBS HD', '/home/mythtv/.mythtv/channels/sbs.png', NULL, , , 0, 32768, 32768, 32768, 32768, 'Default', 0, 0, , 0, 3, 848, 0);
   INSERT INTO `channel` VALUES (1003, '3', NULL, 1, 'SBS DIGITAL 1', 'SBS DIGITAL 1', '/home/mythtv/.mythtv/channels/sbs.png', NULL, , 'SBS-Can', 0, 32768, 32768, 32768, 32768, 'Default', 0, 1, , 0, 3, 849, 0);
   INSERT INTO `channel` VALUES (1033, '33', NULL, 1, 'SBS DIGITAL 2', 'SBS DIGITAL 2', '/home/mythtv/.mythtv/channels/sbs.png', NULL, , 'SBS-NEWS', 0, 32768, 32768, 32768, 32768, 'Default', 0, 1, , 0, 3, 850, 0);
   INSERT INTO `channel` VALUES (1031, '31', NULL, 1, 'SBS EPG', 'SBS EPG', '/home/mythtv/.mythtv/channels/sbs.png', NULL, , , 0, 32768, 32768, 32768, 32768, 'Default', 0, 0, , 0, 3, 851, 0);
   INSERT INTO `channel` VALUES (1001, '1', NULL, 1, 'WIN TV Canberra', 'WIN TV Canberra', '/home/mythtv/.mythtv/channels/win.png', NULL, , 'WIN-Can', 0, 32768, 32768, 32768, 32768, 'Default', 0, 1, , 0, 5, 1, 0);
   INSERT INTO `channel` VALUES (1010, '10', NULL, 1, 'WIN TV HD', 'WIN TV HD', '/home/mythtv/.mythtv/channels/win.png', NULL, , , 0, 32768, 32768, 32768, 32768, 'Default', 0, 0, , 0, 5, 10, 0);
   INSERT INTO `channel` VALUES (3055, '2055', NULL, 1, 'SC10 Canberra', 'SC10 Canberra', '/home/mythtv/.mythtv/channels/10.png', NULL, , 'Ten-Can', 0, 32768, 32768, 32768, 32768, 'Default', 0, 1, , 0, 4, 2055, 0);
   INSERT INTO `channel` VALUES (3087, '2087', NULL, 1, 'SC10 HD', 'SC10 HD', '/home/mythtv/.mythtv/channels/10.png', NULL, , , 0, 32768, 32768, 32768, 32768, 'Default', 0, 0, , 0, 4, 2087, 0);


   INSERT INTO `dtv_multiplex` VALUES (1, 1, 529, 4112, 746500000, '1', NULL, NULL, NULL, 'qam_16', '7', '1/2', '8', '1/16', 0, 'qam_64', 'n', '3/4', 'dvb', 16, '20060218194836');
   INSERT INTO `dtv_multiplex` VALUES (2, 1, NULL, NULL, 774500000, '0', NULL, NULL, NULL, 'qam_16', '7', 'Auto', '8', 'auto', 0, 'qam_64', 'n', 'Auto', 'dvb', 33, '20060218195323');
   INSERT INTO `dtv_multiplex` VALUES (3, 1, NULL, NULL, 732500000, 'a', NULL, 'auto', NULL, 'auto', '7', 'auto', 'a', 'auto', 0, 'auto', 'a', 'auto', 'dvb', 33, '20060218201128');
   INSERT INTO `dtv_multiplex` VALUES (4, 1, NULL, NULL, 767500000, 'a', NULL, 'auto', NULL, 'auto', '7', 'auto', 'a', 'auto', 0, 'auto', 'a', 'auto', 'dvb', 33, '20060218201158');
   INSERT INTO `dtv_multiplex` VALUES (5, 1, 12922, 12915, 788500000, 'a', NULL, 'auto', NULL, 'auto', '7', 'auto', 'a', 'auto', 0, 'auto', 'a', 'auto', 'dvb', 7, '20060220232313');
   INSERT INTO `dtv_multiplex` VALUES (6, 1, 2462, 12929, 809500000, 'a', NULL, 'auto', NULL, 'auto', '7', 'auto', 'a', 'auto', 0, 'auto', 'a', 'auto', 'dvb', 17, '20060218202301');

LIRC

Grab lircd patch from http://www.itee.uq.edu.au/~chrisp/Linux-DVB/DVICO/. download lircd 07, patch, make as per instructions on the site. Copy the resulting lircd binary over /usr/sbin/lircd (beware: apt-get upgrades that include lircd may break your remote config. Might be worth saving off a copy of the binary somewhere else).

The latest FC4 kernel contains updated drivers to make these cards work (2.16.1+). You will not need to download any patches, you may need to compile lirc 0.8.0 or later though.

Fedora users: modify /etc/sysconfig/lircd to:

   LIRCD_OPTIONS="--driver=dvico --device=/dev/hiddev0"

Ubuntu users: modify /etc/lirc/hardware.conf to include:

   DEVICE="/dev/usb/hiddev0"
   DRIVER="dvico"

(NOTE: There could potentially be other hiddev devices on your system.. in this case, your tuner may be hiddev1 or 2 - not sure how to best determine this).

Beware if you have the Dual Tuner card. You will probably need to use the "dev/input" drivers. The "dvico" driver is for "hiddev" support, not for "dev/input" input support.

Fedora users: modify /etc/sysconfig/lircd to:

   LIRCD_OPTIONS="--driver=dev/input --device=/dev/input/event2"

(NOTE: You could need event3 or higher. Look for event entries in the dir "/sys/class/input")

~mythtv/.mythtv/lirc: Set as follows:

Note: DVICO cards that ship with a "Windows Media Center" orient controller, have slightly different bindings - the set-up below appears to accomodate both, to a degree. Feel free to tweak to your own personal habits.

Note: This config roughly mirrors the Hauppauge grey remote configuration, with a few extras added to cope with the specific buttons on the DVICO remote.


   # Ultraview / dvico DVB-T Black remote
   
   # Channel Up
   begin
   prog = mythtv
   button = ch_up
   repeat = 3
   config = Up
   end
   
   # Channel Down
   begin
   prog = mythtv
   button = ch_down
   repeat = 3
   config = Down
   end
   
   # OK/Select
   begin
   prog = mythtv
   button = ok
   config = Space
   end
   
   # Play/Pause
   begin
   prog = mythtv
   button = playpause
   config = P
   end
   
   begin
   prog = mythtv
   button = stop
   config = Esc
   end
   
   # Escape/Exit/Back
   begin
   prog = mythtv
   button = back
   config = Esc
   end
   
   # Escape/Exit/Back
   begin
   prog = mythtv
   button = tv_onoff
   config = Esc
   end
   
   # big green start button
   begin
   prog = mythtv
   button = start
   repeat = 3
   config = Esc
   end
   
   # Mute
   begin
   prog = mythtv
   button = mute
   repeat = 3
   config = F9
   end
   
   # Fast forward (30 sec default)
   begin
   prog = mythtv
   button = fastforward
   repeat = 24
   config = Right
   end
   
   # Back (10 sec default)
   begin
   prog = mythtv
   button = rewind
   repeat = 24
   config = Left
   end
   
   # Skip forward (10 min default)
   begin
   prog = mythtv
   button = skip
   repeat = 3
   config = PgDown
   end
   
   # Skip backward (10 min default)
   begin
   prog = mythtv
   button = replay
   repeat = 3
   config = PgUp
   end
   
   # Record
   begin
   prog = mythtv
   button = record
   repeat = 3
   config = R
   end
   
   # OSD browse
   begin
   prog = mythtv
   button = guide
   repeat = 3
   config = O
   end
   
   # Display EPG while in live TV,
   # View selected show while in EPG
   begin
   prog = mythtv
   button = setup
   repeat = 3
   config = M
   end
   
   # Scroll up
   begin
   prog = mythtv
   button = up
   repeat = 3
   config = Up
   end
   
   # Scroll down
   begin
   prog = mythtv
   button = down
   repeat = 3
   config = Down
   end
   
   # Scroll Left
   begin
   prog = mythtv
   button = left
   repeat = 3
   config = Left
   end
   
   # Scroll Right
   begin
   prog = mythtv
   button = right
   repeat = 3
   config = Right
   end
   
   # Bring up OSD info
   begin
   prog = mythtv
   button = more
   repeat = 3
   config = I
   end
   
   # Change display aspect ratio
   begin
   prog = mythtv
   button = aspect
   repeat = 3
   config = W
   end
   
   # Seek to previous commercial cut point
   begin
   prog = mythtv
   button = snapshot
   repeat = 3
   config = Q
   end
   
   # Seek to next commercial cut point
   begin
   prog = mythtv
   button = folder_open
   repeat = 3
   config = Z
   end
   
   # Numbers 0-9
   
   begin
   prog = mythtv
   button = 0
   repeat = 3
   config = 0
   end
   
   begin
   prog = mythtv
   button = 1
   repeat = 3
   config = 1
   end
   
   begin
   prog = mythtv
   button = 2
   repeat = 3
   config = 2
   end
   
   begin
   prog = mythtv
   button = 3
   repeat = 3
   config = 3
   end
   
   begin
   prog = mythtv
   button = 4
   repeat = 3
   config = 4
   end
   
   begin
   prog = mythtv
   button = 5
   repeat = 3
   config = 5
   end
   
   begin
   prog = mythtv
   button = 6
   repeat = 3
   config = 6
   end
   
   begin
   prog = mythtv
   button = 7
   repeat = 3
   config = 7
   end
   
   begin
   prog = mythtv
   button = 8
   repeat = 3
   config = 8
   end
   
   begin
   prog = mythtv
   button = 9
   repeat = 3
   config = 9
   end
   
   begin
   prog = mythtv
   button = dvd_menu
   config = M
   end
   
   begin
   prog = mythtv
   button = vol_down
   repeat = 3
   config = [
   end
   
   begin
   prog = mythtv
   button = vol_up
   repeat = 3
   config = ]
   end
   
   begin
   prog = mythtv
   button = dtv
   config = C
   end


~mythtv/lirc: Set as follows:

   ### MPlayer/Xine lirc setup
   
   # Show OSD
   begin
   prog = mplayer
   button = guide
   repeat = 3
   config = osd
   end
   
   # Pause playback
   begin
   prog = mplayer
   button = stop
   repeat = 3
   config = pause
   end
   
   # Skip ahead a minute if playing
   # If paused, resume playing
   begin
   prog = mplayer
   button = playpause
   repeat = 3
   config = seek +1
   end
   
   # Stop playback and exit
   begin
   prog = mplayer
   button = tv_onoff
   repeat = 3
   config = quit
   end
   begin
   prog = mplayer
   button = back
   repeat = 3
   config = quit
   end
   
   # big green start button
   begin
   prog = mplayer
   button = start
   repeat = 3
   config = quit
   end
   
   # Mute
   begin
   prog = mplayer
   button = mute
   repeat = 3
   config = mute
   end
   
   # Seek back 10 seconds
   begin
   prog = mplayer
   button = left
   repeat = 3
   config = seek -10
   end
   
   # Seek forward 30 seconds
   begin
   prog = mplayer
   button = right
   repeat = 3
   config = seek +30
   end
   
   # Seek forward 3 minutes
   begin
   prog = mplayer
   button = fastforward
   repeat = 3
   config = seek +180
   end
   
   # Seek backward 3 minutes
   begin
   prog = mplayer
   button = rewind
   repeat = 3
   config = seek -180
   end
   
   # Seek forward 10 minutes
   begin
   prog = mplayer
   button = skip
   repeat = 3
   config = seek +600
   end
   
   # Seek backward 10 minutes
   begin
   prog = mplayer
   button = replay
   repeat = 3
   config = seek -600
   end
   
   # Toggle full-screen
   begin
   prog = mplayer
   button = fullscreen
   repeat = 3
   config = vo_fullscreen
   end
   
   # Xine
   
   begin
   prog = xine
   button = playpause
   repeat = 3
   config = Play
   end
   
   begin
   prog = xine
   button = stop
   repeat = 3
   config = Pause
   end
   
   begin
   prog = xine
   button = back
   config = Quit
   end
   
   begin
   prog = xine
   button = tv_onoff
   config = Quit
   end
   
   begin
   prog = xine
   button = right
   repeat = 3
   config = SeekRelative+10
   end
   
   begin
   prog = xine
   button = left
   repeat = 3
   config = SeekRelative-10
   end
   
   begin
   prog = xine
   button = fastforward
   repeat = 3
   config = SeekRelative+30
   end
   
   begin
   prog = xine
   button = rewind
   repeat = 3
   config = SeekRelative-30
   end
   
   begin
   prog = xine
   button = skip
   repeat = 3
   config = SeekRelative+300
   end
   
   begin
   prog = xine
   button = replay
   repeat = 3
   config = SeekRelative-300
   end
   
   begin
   prog = xine
   button = up
   repeat = 1
   config = EventUp
   end
   
   begin
   prog = xine
   button = down
   repeat = 1
   config = EventDown
   end
   
   begin
   prog = xine
   button = ok
   repeat = 0
   config = EventSelect
   end
   
   begin
   prog = xine
   button = guide
   repeat = 0
   config = Menu
   end
   
   begin
   prog = xine
   button = setup
   repeat = 0
   config = Menu
   end
   
   begin
   prog = xine
   button = vol_up
   repeat = 1
   config = Volume+
   end
   
   begin
   prog = xine
   button = vol_down
   repeat = 1
   config = Volume-
   end


reboot.