Tune in for more
Last night I spent some time wrestling with trying to tune in a channel but no luck. MythTV has a ‘FrequencyID’ part of the channel page under mythtv-setup, but I’ve not yet verified what it’s supposed to be. I tried putting in the frequency for RTE1 that is shown on the NTL Frequency List. That didn’t quite do it. With a little digging, I then discovered /usr/share/xawtv/ and next tried “ptune.pl -f pal-ireland A6“. Almost! It showed a snowy picture of what I later found to be TV3 with a football match (soccer). But it was really hard to see, and more interestingly it was moving in bursts. Like the system couldn’t keep up with it and was dropping frames. Hmm.
Running MythTV by hand as the mythtv user, I saw:
2004-10-19 19:15:07 Running as SUID root would allow some threads to run with realtime priority, improving video smoothness. *** * Your system is not capable of displaying the * full framerate at 720x576 resolution. Frames * will be skipped in order to keep the audio and * video in sync.
That’s what makes me suspect both about what’s in /etc/mythtv/modules/ivtv but also if I’m missing a bit in /etc/X11/XF86Config-4
I’m digging around for the efforts of others, including a helpful HowTo about using KnoppMyth with a PAL signal. With some instructions on installing with the Hauppauge PVR-350, I found that by running tveeprom I’m able to get this in /var/log/messages (or dmesg):
Oct 19 20:00:39 p kernel: tvee: Hauppauge: model=48135, rev=J324, serial#=2760998 Oct 19 20:00:39 p kernel: tvee: tuner=Philips FM1246 (idx=24, type=1) Oct 19 20:00:39 p kernel: tvee: tuner fmt=PAL(I) (eeprom=0x10, v4l2=0x00000010) Oct 19 20:00:39 p kernel: tvee: audio_processor=CS5331 (type=9)
Ok, that tells me the tuner type.
I also discovered the /etc/init.d/set_ivtv_params script. It will set the various parts of the video device for me if I put the correct values into /etc/sysconfig/ivtv/cfg-0. So that now has the right values of
IVTV_TUNER='1' IVTV_TYPE='PAL'
That choice is backed up by the header /usr/local/lib/ivtv/driver/tuner.h which lists the different tuners, with my choice being
#define TUNER_PHILIPS_PAL_I 1
That matches the PAL_I sticker on the replacement PVR-350 card that I got the other day. A step closer?
Well, I think so; with some grepping, I discovered /usr/local/lib/ivtv/utils/videodev2.h, which would seem to suggest I honor the value of V4L2_TUNER_ANALOG_TV which is 2. Hmm. Well, for the moment in /etc/mythtv/modules/ivtv I’ll try out
options tuner type=2 pal=1
but that seems to contradict the suspected value for IVTV_TUNER. Gahh. Time to read more sources I think. There’s lots of good stuff under /usr/local/lib/ivtv.
I’ve put copies of each of these files online so others can see them, and I’ll be keeping them in sync with what’s really being used:
- /etc/X11/XF86Config-4
- /etc/mythtv/modules/ivtv
- /etc/sysconfig/ivtv/cfg-0
- /etc/init.d/set_ivtv_params
(Any suggestions on how to better offer these are welcome.)
Now /etc/mythtv/modules/ivtv contains
alias char-major-81 videodev alias char-major-61 lirc_i2c alias char-major-81-0 ivtv alias char-major-81-1 bttv alias /dev/v4l ivtv options ivtv debug=1 ivtv_pal=1 options tuner type=2 pal=1 options saa7127 enable_output=1 output_select=1 pal=1 options msp3400 once=1 simple=1 add below ivtv msp3400 saa7115 saa7127 tuner add above ivtv lirc_dev lirc_i2c ivtv-fb
Anything look really wrong?
I think when I’m all done and have this actually working, I’m going to create my own HowTo combining the efforts of the others, but also including links to example files for everything. And then pitch to have those included in some future release of mythtv. If everybody wants lots of people to be able to use and enjoy this cool stuff, there are still a few things past the great KnoppMyth packaging that have to happen. At least, for anybody who’s not in the US. Wouldn’t it be cool if KnoopMyth let you choose (or even click on) where you live, and have it auto-configure most of the stuff that really doesn’t need to be done manually? And no command-line mythfilldatabase invocation?