Mailinglist Archive: opensuse (3100 mails)

< Previous Next >
MythTV, SuSE 9.3, PVR 350: my notes
  • From: Adriaan van Nijendaal <adriaan@xxxxxxxxx>
  • Date: Fri, 31 Mar 2006 16:53:00 +0200 (CEST)
  • Message-id: <Pine.LNX.4.61.0603311211570.8569@xxxxxxxxxxxxxxxxxx>
Hi list!

I've successfully installed MythTV 0.19 from source with a Hauppauge
PVR 350 on a SuSE 9.3 on an old Pentium III 450 Mhz with 512M RAM. I
wanted to install from source so I would have matching documentation
and sources to figure things out. (Haven't even considered RPMs.)

I currently have the database on our central machine; eventually I
will buy a PVR150 for the central machine and install the backend
there. The PVR350 will remain in (a diskless?) PC in the living room
as a frontend. I have NO KDE/gnome, NO xdm on the frontend.

I live in Belgium (Europe) and watch TV from 5 countries (be, nl, fr,
de, uk) in four languages on PAL equipment.

What follows is a list of things I did 'wrong' that cost me (some)
time.

<Lengthy post warning>

1. Start with ivtv setup.

Following the MythTV howto, I went for the MythTV package first (I did
install rpms for most of its dependents). I had better started with
ivtv so that I knew my hardware was working, which is perfectly
possible just using ivtv.

2. Make sure your console runs on a framebuffer

If not, loading the framebuffer for ivtv will hijack your console
keyboard (and mouse). Most monitors will do 1024x768: include at least
vga=791 in your /boot/grub/menu.lst.

3. Look for ivtv in the distribution and remove it

Modprobe gets confused if you leave SuSE distributed ivtv modules
lying around. Perform the instructions for 10.0 even though it's 9.3
you're working on. http://www.ivtvdriver.org/index.php/Howto:Suse

4. Load the modules late in boot process

For reasons unclear to me, my /etc/init.d/ivtv needs to run very late
in the boot process. A copy of my boot script is available - just
ask me. (I have another to start the mythbackend and a small thingy to
do an autologin (on tty5) for user mythtv, who runs startx at the end
of .bashrc. His .xinitrc starts the mythfrontend. Without a CRT (just
the TV) and no keyboard/mouse, the machine boots up and shows MythTV
(eventually) on the TV. No intervention needed.)

5. Build your own xorg.conf

I've come up with one X server with two screens (host:0.0 and
host:0.1) and set $DISPLAY to host:0.1 for myth[tv-setup|frontend].
Take a close look at /var/log/Xorg.0.log and modify xorg.conf until
the server stops complaining. A copy of my xorg.conf is available
upon request.

-----

IF you install all dependents beforehand, you should have NO problem
compiling MythTV - just follow the HowTo in the myth-0.19/docs dir.

-----

6. Test your MySQL setup

There's a script (mc.sql in the MythTV source) that will setup the
database for you. DO run it on the host that runs the mySQL server
(and add additional GRANT statements for mythtv users from other
hosts). For non-SQL speakers, "IDENTIFIED BY "mythtv"" means: password
for this user will be "mythtv". Use mysql-query-browser to look at the
database yourself.

7. MythTV setup is a challenge

Expect to go back and forth a few times. Even though the backend needs
to be setup first, it is the frontend that allows you to point out
where the SQL server is. (It makes a file ~/.mythtv/mysql.txt which is
evaluated by mythtv-setup.) Mythtv-setup will complain about the
database if it's on another machine. If you want to start over with a
clean slate, delete the database by including "DROP DATABASE
mythconverg;" on the first line of mc.sql.

8. XMLTV-MythTV integration is a stumbling block

It took me a long time to figure out how MythTV works. A synopsis
would have been helpful!

Also, there's no standard nomenclature for 'things'. A channel number,
channel ID, "just like xawtv" - they're all used for different things.
This how I see it: A 'station' is the name of a broadcaster. A
'channel' is a symbolic representation for the frequency you need to
tune your TV to. A 'pre-select' is a number that defines the order in
which the stations are visible on your TV set.

Make sure you have printed a table with the stations on your cable,
your preselect number and the frequency and/or channel. Use "ivtv-tune
-t europe-west -l" to see a conversion table.

You will have to load the "channel" table in the database with the
stations on your cable. The way to do that is to run mythfilldatabase
(either direct or from the mythtv-setup menu). Mythfilldatabase will
try eating an XML file made by a (perl) script that you have chosen in
"video sources". For Belgium, tv_grab_be does not work at all -
mythtv-setup will search for tv_grab_be_tvb or .._tlm instead.

If Myth has taken over your X-screen, you will never see those
"tv_grab_* --configure" questions showing up at the controlling
X-terminal! Your system does not hang - it's waiting for keyboard
interaction!

Anyways, I ended up running "tv_grab_nl --configure" manually on a
terminal window. It results in a ~/.xmltv/tv_grab_nl.conf that
lists the selection of YOUR stations.

Then, go back to mythtv-setup and have it get your stations from the
web-site (do: 4. Input connections, choose Tuner 0, and select "Get
stations from TV guide", the right one of the two buttons on the
screen). It will run mythfilldatabase (for a looong time) and use the
XML output to add the stations to your "channels" table. If it asks
you (on another screen!) if you want to overwrite the config file, say
NO. You've already done the --configure, above. The mythfilldatabase
--manual just runs the tv_grab_* script with --configure.

9. Avoid to use the GUI for everything

After this, you'll have the stations in your database, but your PVR
will remain clueless about how to tune to one.

You could use the "5. Channel editor" (which could be called station
editor) but that takes forever - the user interface may work for a
remote control but not for me. Besides, in between database purges
(I've started over numerous times) I have changed the language but I
have not figured out where to re-set the language. The Dutch
translation adds to the mess.

The first field on the screen is the long name 'name', next one is the
preselect 'channum', the third one a short name 'callsign'. On the
next screen, the first box is the (symbolic!) frequency 'freqid'.
(Names in ' ' are the column names in table 'channel'.)

My advice: start mysql-query-browser and hit "start editing" (lower
part of the screen). Have your printed station list handy.

The channel table has (amoungst others): 'chanid' (a unique number to
match the program details to the station - DO NOT change these numbers).
'channum' is a text field that will hold your preselect, ordering is
NOT numerical - use 01, 02, 03 and then 10, 11 etc. 'freqid' is a
channel and has a form of E8, SE10, S21. Typing a number in MHz will
NOT work.

10. If living in Europe, make sure you speak only one language!

I opened another can of worms by trying to combine the XML output of
four tv_grab scripts (for four countries) into one. It seems to work -
if you're interested, drop me a line. Haven't figured out how to get
UK listings in Continental time.

</Lengthy post warning>

So far, only ten pitfalls. Need to fine-tune lirc and gracefully
shutting the system after the frontend terminates. Should be trivial
:-)

Regards,

Adriaan


Windows: n.; 32 bit extensions and a graphical shell for a 16 bit patch
to an 8 bit operating system originally coded for a 4 bit microprocessor,
written by a 2 bit company that can't stand 1 bit of competition!

< Previous Next >
This Thread
Follow Ups