DVICO-Ultraview Install in Australia

From MythTV Official Wiki
Revision as of 03:01, 21 February 2006 by Redphoenix (talk | contribs) (Ubuntu breezy update)

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.

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.

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.

Kernel

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

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

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.

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_tuhs

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

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.

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. 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'

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. Channel frequencies for Tuggeranong are provided here:

   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).

modify /etc/sysconfig/lircd to:

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

(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).

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

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.