[mythtv-users] My first attempt at PVR-350 TV-out "howto" (very LONG)

Dave Anderson dave at ineedasite.com
Wed Nov 12 18:33:09 EST 2003


I've been trying to follow all this, but when I try to run depmod -a `uname 
-r` I get the following.

[root at mythtv01 utils]# depmod -a `uname -r`
depmod: *** Unresolved symbols in 
/lib/modules/2.4.20-20_29.rh9.at/kernel/drivers/media/video/ivtv-fb.o
depmod: *** Unresolved symbols in 
/lib/modules/2.4.20-20_29.rh9.at/kernel/drivers/media/video/ivtv.o
depmod: *** Unresolved symbols in 
/lib/modules/2.4.20-20_29.rh9.at/kernel/drivers/media/video/msp3400.o

What do I need to do about this?


At 08:28 PM 11/5/2003, you wrote:
>Folks,
>
>It took me some time to figure out how to get PVR350 tv-out, and now that I
>have and I'm enjoying an amazingly high-quality picture, I'd like to share my
>findings with other people still struggling.
>
>NOTE: This is geared towards NTSC users.  Sorry, I don't know how to do PAL,
>but I suspect the following instructions should work with some minor tweaks.
>
>First, a few preliminaries:
>I'm running MythTV 0.12
>with decoder-alpha-311003A
>on a PVR-350
>
>I would suggest you set your default init level to 3 for now until you get
>everything working.
>
>Boot into runlevel 3 with:
>init 3
>
>1) get and compile MythTV
>
>Not discussed here, because there is perfectly good documentation on
>http://www.mythtv.org
>
>2) Get the latest decoder-alpha driver from
>http://www.kernel.org/pub/linux/kernel/people/axboe/ivtv/
>NOTE: Jens's changes seem to have been merged back into the main cvs as of 
>Oct
>31, 2003 so you can probably just extract the latest cvs.
>
>compile the drivers in drivers/ (possibly you'll need to do from inside
>drivers/ cp ../utils/videodev2.h . ), then make install.  Then move to the
>utils/ directory do another make and copy the four binaries into
>/usr/local/bin (QUESTION: Do they really need to be in the PATH?)
>
>3) /etc/modules.conf
>
>put this block in your /etc/modules.conf
>
>==== START ====
>
># This is for WinTV PVR-350 IVTV
>alias char-major-61 lirc_i2c
>alias char-major-81     videodev
>alias char-major-81-0   ivtv
>alias char-major-81-1   bttv
>options ivtv debug=1
>options tuner type=2
>options saa7127 enable_output=1 output_select=0
>options msp3400 once=1 simple=1
>add below ivtv msp3400 saa7115 saa7127 tuner
>add above ivtv lirc_dev lirc_i2c ivtv-fb
>post-install ivtv /usr/local/bin/test_ioctl -d /dev/video0 -u 0x3000
>post-install ivtv /usr/local/bin/test_ioctl -d /dev/video16 -u 0x3000
>post-install ivtv /usr/local/bin/test_ioctl -d /dev/video32 -u 0x3000
>post-install ivtv /usr/local/bin/test_ioctl -d /dev/video224 -u 0x3000
>
>==== END ====
>
>Note: you probably don't need the four post-install lines if you use MythTV,
>because MythTV should probably do that for you anyway.
>
>Also, the alias char-major-81-1   bttv line is not necessary unless you have
>an old Brooktree bt8x8-based card.  If you don't, remove the line.
>
>I suggest you create a user group for people who can run MythTV.  On my 
>system
>I call it video.  I run mythbackend as root, but I have a user mythtv that
>runs mythfrontend.  The user mythtv is member of the video group.
>
>Now that you have changed /etc/modules.conf, run depmod -a `uname -r`
>
>You may need to create some device files.  Run this command (on one line):
>for i in 0 1 2 3 16 32 224 ;do if [ !  -f /dev/video$i ]; then echo "Creating
>/dev/video$i" && mknod /dev/video$i c 81 $i && chown :video /dev/video$i &&
>chmod 660 /dev/video$i; else echo "/dev/video$i already exists";fi;done
>
>Finaly create a link from /dev/video0 to /dev/video with this:
>
>ln -s video0 /dev/video
>
>If you get a message saying /dev/video exists, you can ignore it if 
>/dev/video
>points to /dev/video0.  If it doesn't, you have to figure out what device the
>PVR-350 input is using.  Normally whatever driver is loaded first, it grabs
>/dev/video0.  So if you load bttv before ivtv, bttv will use /dev/video0, and
>ivtv will use /dev/video1.  If you have multiple of the same cards in the
>system, say a few PVR-x50s, the closer the card is to the AGP slot, the
>lesser the device number it gets assigned -- the PCI slot closest to the AGP
>will be /dev/video0, the next after that (not necessarily the one adjacent)
>will be /dev/video1, etc.
>
>So figure out what device ivtv is using if it's not /dev/video0.
>
>Ok, at this point you can attempt loading the ivtv-fb driver.  Open another
>bash session (I do this from another computer) and do tail -f
>/var/log/messages
>Then do:
>modprobe ivtv-fb
>
>In the window where you're tailing the messages, look for a line that says
>something like this:
>
>fb1: iTVC15 TV out frame buffer device
>
>Mind you, it can say fb0.  It doesn't matter.  What matters is that this is
>the frame buffer allocated to PVR-350.  Remember this number! You'll need it
>in the next section.
>
>Now just a quick test.  Hook up your TV set to the composite out rca jack of
>your PVR-350 and do this:
>rmmod saa7127
>insmod saa7127 enable_output=1 output_select=0 test_image=1
>
>Do you see the color pattern on the TV screen?  If yes, good, if not.. hmmm,
>something went wrong.  Don't blame MythTV, because it has nothing to do with
>it.  Don't blame X, because it has nothing to do with it either.  Possibly
>try older/newer ivtv decoder drivers.  Read these instruction again.  Post to
>the list.
>
>If you see the pattern in black and white, try loading saa7127 with option
>output_select set to 1.
>
>If you see the color pattern, that is a very good sign.  Now remove the
>saa7127 module and reload it without the test_image option:
>rmmod saa7127
>insmod saa7127 enable_output=1 output_select=0
>
>Before you run the next test, you need to set your input, your TV standard,
>etc:
>
>do this with:
>
>/usr/local/bin/test_ioctl -u 0x3000 -p 6
>
>-u 0x3000 is for NTSC
>-p 6 is for S-Video input
>-p 0 I think was for Television (the coax cable)
>
>Now do this:
>
>cat /dev/video > test.mpg
>
>(assuming /dev/video points to the ivtv device)
>
>After a few seconds, pres Ctrl-C and you should end up with a mpg file.  Copy
>that file to a computer that can play it and verify you're capturing fine.
>
>If yes, proceed to testing tv-out.  If not, read the instructions again.  Try
>a different -p argument to test_ioctl.
>
>If you got a working mpg, try watching TV with:
>
>dd if=/dev/video of=/dev/video16 bs=64k
>(substitute /dev/video with whatever device ivtv is using -- it should say in
>/var/log/messages)
>
>If you see picture, congrats.  In order to hear the sound, hook up the RCA
>audio out jack of the PVR-350 to the line-in of your sound card.  You should
>now be enjoying a stunningly clear picture and good sound.  If not, sorry,
>try again.  Watch those /var/log/messages for hints.
>
>Now that tv-out is working, log in as the user who'll be running MytTV and
>repeat the last test to make sure you can still get picture and sound
>working.  Then proceed to the next section -- Xfree.
>
>4)  XFree part
>
>Here are the relevant sections from my /etc/X11/XF86Config-4
>
>Section "ServerLayout"
>         Identifier     "XFree86 Configured"
>         Screen  0 "TV Screen"
>         InputDevice    "Mouse0" "CorePointer"
>         InputDevice    "Keyboard0" "CoreKeyboard"
>EndSection
>
>Section "Monitor"
>         Identifier  "NTSC Monitor"
>         HorizSync  30-68
>         VertRefresh 50-120
>         Mode "720x480"
>           # D: 34.563 MHz, H: 37.244 kHz, V: 73.897 Hz
>           DotClock 34.564
>           HTimings 720 752 840 928
>           VTimings 480 484 488 504
>           Flags    "-HSync" "-VSync"
>         EndMode
>EndSection
>
>Section "Device"
>         Identifier  "Hauppauge PVR 350 iTVC15 Framebuffer"
>         Driver      "fbdev"
>         Option      "fbdev" "/dev/fb1"
>         ### change fb1 to whatever number you got in the previous section
>         BusID "0:08:0"
>         ### change the busid to whatever is reported by lspci -v
>EndSection
>
>Section "Screen"
>         Identifier  "TV Screen"
>         Device      "Hauppauge PVR 350 iTVC15 Framebuffer"
>         Monitor     "NTSC Monitor"
>         DefaultDepth 24
>         DefaultFbbpp 32
>         Subsection "Display"
>           Depth 24
>           FbBpp 32
>           Modes "720x480"
>         EndSubsection
>EndSection
>
>Save you XF86Config-4
>
>I am using KDE with kdm set up to login the user mythtv automatically and
>without a password.  In ~mythtv/.kde/Autostart I have a link to
>/usr/local/bin/mythfrontend
>
>What happens when I boot (with runlevel 5 being the default)is this: kdm logs
>mythtv in automatically and starts mythfrontend.  Mind you, this will fail
>unless you start mythbackend as a daemon prior to starting X.
>
>You need to switch to runlevel 5 now.  Do so by running:
>init 5
>
>You should see mythfrontend load.  Go to Settings/TV Setting/Playback and on
>the second (I think) screen check the "Use PVR-350" thing.  Make sure it says
>/dev/video16 in the box.
>
>That's it folks.  That was all I needed to do to get my PVR-350 TV out.  Now
>it's just sweet.  Finally I have MythTV in all its glory and what a treat!
>
>Hope this helps.  Sorry for typos and mistakes -- they are unintentional.
>Please correct me when you see me giving wrong instructions.
>
>IvanK.
>
>
>_______________________________________________
>mythtv-users mailing list
>mythtv-users at mythtv.org
>http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users



More information about the mythtv-users mailing list