[mythtv-users] WinTV PVR350 PAL TV-OUT FC5

Damian OHara damian at cognoscente.uk.com
Sun Mar 26 18:22:55 UTC 2006


Hi Mark,

See if this helps (guess what I just spent a weekend doing ;o) ...

AKA what I needed to do to get MythTV working ....

System:
    Dell Dimension 2.4GHz Celeron
    Hauppauge PVR-350 (PAL)
    Fedora Core 4 (2.6.15-1.1833_FC4)
    MythTV 0.19
    512MB RAM
    160GB ATA133 HDD

Main Section:

I followed Jarod's howto at http://wilsonet.com/mythtv/fcmyth.php as far
as possible. Then the tricky part - how to get X working using the PVR-350 ?


Changes then appear from Jarod's instructions ....

First off - make sure ssh is working and use it from another machine. It
will save you a lot of time. When you load the ivtv-fb module later it
WILL crash your local monitor view (certainly did mine) but FC4 is still
going underneath.

....

yum install ivtv-firmware ivtv-firmware-audio

yum install ivtv-kmdl-2.6.15-1.1833_FC4
(I initially tried this for ivtv-kmdl-2.6.15-1.1831_FC4 as this was my
kernel version but there wasn't a version for 1831 on the website.
Vhanging it to 1833 also caused yum to upgrade the kernel ;o)

yum install ivtv

Install the ivtvdev_drv.o (PVR framebuffer driver) from
http://dl.ivtvdriver.org/xdriver/0.10.6/ivtvdev_drv.o.bz2, unpack it and
copy the file ivtvdev_drv.o into /usr/X11R6/lib/modules/drivers/. Then
chmod 444 /usr/X11R6/lib/modules/drivers/ivtvdev_drv.o

Then to set up the video config. Here's my working versions ...

/etc/modprobe.conf:
alias char-major-81 videodev
alias char-major-81-0 ivtv
install lirc_i2c /sbin/modprobe ivtv; /sbin/modprobe --ignore-install
lirc_i2c

/etc/rc.local:
VIDEO_OUT="/dev/video16"
/usr/bin/ivtvctl -d $VIDEO_OUT -c aspect=2               > /dev/null #
aspect ratio 4:3
/usr/bin/ivtvctl -d $VIDEO_OUT -c audio=0                > /dev/null #
40 kHz, stereo
/usr/bin/ivtvctl -d $VIDEO_OUT -c framerate=1            > /dev/null # PAL
/usr/bin/ivtvctl -d $VIDEO_OUT --set-standard=0x0000ff   > /dev/null # PAL
/usr/bin/ivtvctl -d $VIDEO_OUT --set-format=width=720,height=576 >
/dev/null # PAL
/usr/bin/ivtvctl -d $VIDEO_OUT --set-output=0            > /dev/null #
S-Video+Composite
/sbin/modprobe ivtv-fb

/etc/X11.xorg.conf:

Section "Files"
        RgbPath      "/usr/X11R6/lib/X11/rgb"
        ModulePath   "/usr/X11R6/lib/modules"
        FontPath     "/usr/X11R6/lib/X11/fonts/misc:unscaled"
        FontPath     "/usr/X11R6/lib/X11/fonts/misc"
        FontPath     "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
        FontPath     "/usr/X11R6/lib/X11/fonts/75dpi"
        FontPath     "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
        FontPath     "/usr/X11R6/lib/X11/fonts/100dpi"
        FontPath     "/usr/X11R6/lib/X11/fonts/Type1"
EndSection

Section "Module"
        Load  "ddc"  # ddc probing of monitor
        Load  "GLcore"
        Load  "dbe"
        Load  "dri"
        Load  "extmod"
        Load  "glx"
        Load  "bitmap" # bitmap-fonts
        Load  "type1"
        Load  "freetype"
        Load  "record"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "keyboard"
        Option      "CoreKeyboard"
        Option "XkbRules" "xfree86"
        Option "XkbModel" "pc105"
        Option "XkbLayout" "uk"
EndSection

Section "InputDevice"
        Identifier  "PS/2 Mouse"
        Driver      "mouse"
        Option      "Protocol" "auto"
Option          "ZAxisMapping"          "4 5"
        Option      "Device" "/dev/psaux"
        Option      "Emulate3Buttons" "true"
        Option      "Emulate3Timeout" "70"
        Option      "SendCoreEvents"  "true"
EndSection

Section "Monitor"
        Identifier      "Monitor0"
        Option  "DPMS"  "true"
        VendorName      "MAG"
        ModelName       "MAG6589"
        HorizSync 30 - 86 # DDC-probed
        VertRefresh 50 - 120 # DDC-probed
        # These are the DDC-probed settings reported by your monitor.
        # 1600x1200, 65.0Hz; hfreq=81.25, vfreq=65.00
        ModeLine "1600x1200"    175.50 1600 1664 1856 2160 1200 1201
1204 1250 + hsync +vsync
EndSection

Section "Device"
        Identifier  "Card0"
        Driver      "i810"
        VendorName  "All"
        BoardName   "All"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        DefaultColorDepth 16
        SubSection "Display"
                Depth     1
                Modes "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth     4
                Modes "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth     8
                Modes "800x600" "640x480"
des "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth     32
                Modes "800x600" "640x480"
        EndSubSection
EndSection

Section "ServerLayout"
        Identifier     "XFree86 Configured"
        Screen  0 "TV Screen"
        InputDevice    "PS/2 Mouse" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "ServerFlags"
        Option "AllowMouseOpenFail"  "true"
EndSection

Section "Monitor"
        Identifier  "PAL 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 576 484 488 504
          Flags    "-HSync" "-VSync"
        EndMode
EndSection

Section "Device"
        Identifier  "Hauppauge PVR 350 iTVC15 Framebuffer"
        Driver      "ivtvdev"

        ### change fb1 to whatever number you got in the previous section
        Option      "fbdev" "/dev/fb0"

        ### change the busid to whatever is reported by lspci. Note that
        ### output of lspci is hex, so add a preceding "0x" to the BusID
        BusID "PCI:1:5:0"
EndSection

Section "Screen"
        Identifier  "TV Screen"
        Device      "Hauppauge PVR 350 iTVC15 Framebuffer"
        Monitor     "PAL Monitor"
        DefaultDepth 24
        DefaultFbbpp 32
        Subsection "Display"
          Depth 24
          FbBpp 32
          Modes "720x576"
        EndSubsection
EndSection

Section "DRI"
        Mode 0666
EndSection

I bought a new PVR-350 card which came with the silver grey remote so
here are the config files for it:

/etc/lircd.conf:
# brand:   Hauppauge                    lirc.conf
# model no. of remote control:  PVR-350
# devices being controlled by this remote:
#
#

begin remote

  name  grayHauppauge
  bits           13
  flags RC5
  eps            30
  aeps          100

  one             0     0
  zero            0     0
  gap          200966
  repeat_bit    2

      begin codes
          Power                    0x00000000000017BD
          Go                       0x0000000000001FBB
          TV                       0x000000000000179C
          Videos                   0x0000000000001F98
          Music                    0x0000000000001799
          Pictures                 0x0000000000001F9A
          Guide                    0x000000000000179B
          Radio                    0x0000000000001F8C
          UP                       0x0000000000001794
          LEFT                     0x0000000000001F96
          RIGHT                    0x0000000000001797
          DOWN                     0x0000000000001F95
          OK                       0x00000000000017A5
          Back-Exit                0x0000000000001F9F
          Menu                     0x000000000000178D
          Prev-Channel             0x0000000000001F92
          Mute                     0x000000000000178F
          Volume-UP                0x0000000000001F90
          Volume-DOWN              0x0000000000001791
          Channel-UP               0x0000000000001FA0
          Channel-DOWN             0x00000000000017A1
          Record                   0x0000000000001FB7
          Stop                     0x00000000000017B6
          Rewind                   0x0000000000001FB2
          Forward                  0x00000000000017B4
          Play                     0x0000000000001FB5
          Previous                 0x00000000000017A4
          Next                     0x0000000000001F9E
          Pause                    0x00000000000017B0
          1                        0x0000000000001F81
          2                        0x0000000000001782
          3                        0x0000000000001F83
          4                        0x0000000000001784
          5                        0x0000000000001F85
          6                        0x0000000000001786
          7                        0x0000000000001F87
          8                        0x0000000000001788
          9                        0x0000000000001F89
          0                        0x0000000000001780
          star                     0x0000000000001F8A
          hash                     0x000000000000178E
          red                      0x0000000000001F8B
          green                    0x00000000000017AE
          yellow                   0x0000000000001FB8
          blue                     0x00000000000017A9
      end codes

end remote

~mythtv/.mythtv/lircrc:
# MythTV LIRC config file for the gray Hauppauge remote
# Sticker on the inside of battery compartment
#     A415-HPG
#     1004  032400
#
### RESET THE MYTH BOX or REBOOT IT
# 1 click is reset front end, 2 clicks is reboot
#
begin
   prog = irexec
   button = Power
   config = /home/mythtv/scripts/mypower.sh &
end
#
### MYTHTV SETTINGS FOR IT'S CONTROL
#
# Program Guide
begin
   remote = grayHauppauge
   prog = mythtv
   button = green
   config = F2
end
#
# TV Recording Playback
begin
   remote = grayHauppauge
   prog = mythtv
   button = Videos
   config = F3
end
#
# Live TV
begin
   remote = grayHauppauge
   prog = mythtv
   button = TV
   config = F4
end
#
# MythWeather
begin
   remote = grayHauppauge
   prog = mythtv
   button = Go
   config = F7
end
#
# MythGame
begin
   remote = grayHauppauge
   prog = mythtv
   button = Green
   config = F5
end
#
# MythMusic
begin
   remote = grayHauppauge
   prog = mythtv
   button = Music
   config = F6
end
#
# Previous Channel
begin
   remote = grayHauppauge
   prog = mythtv
   button = Prev-Channel
   config = H
end
#
# Channel Up
begin
   remote = grayHauppauge
   prog = mythtv
   button = Channel-UP
   repeat = 3
   config = Up
end

# Channel Down
begin
 prog = mythtv
 button = Channel-DOWN
 repeat = 3
 config = Down
end

# OK/Select
begin
 prog = mythtv
 button = OK
 config = Space
end

# Play
begin
prog = mythtv
button = Play
config = Return
end

# Stop
begin
prog = mythtv
button = Stop
config = Esc
end

# Escape/Exit/Back
begin
prog = mythtv
button = Back-Exit
config = Esc
end

# Power Off/Exit
# begin
# prog = mythtv
# button = Power
# config = Esc
# end

# Red means stop!
#begin
#prog = mythtv
#button = red
#config = Esc
#end

# Pause
begin
prog = mythtv
button = Pause
repeat = 3
config = P
end

# Mute
begin
prog = mythtv
button = Mute
repeat = 3
config = F9
end

begin
prog = mythtv
button = UP
repeat = 3
config = Up
end

begin
prog = mythtv
button = RIGHT
repeat = 3
config = Right
end

begin
prog = mythtv
button = DOWN
repeat = 3
config = Down
end

begin
prog = mythtv
button = LEFT
repeat = 3
config = Left
end




# Fast forward (while viewing)
begin
prog = mythtv
button = Forward
repeat = 3
config = >
end

# Rewind (while viewing)
begin
prog = mythtv
button = Rewind
repeat = 3
config = <
end

# Skip forward (10 min default)
begin
prog = mythtv
button = Next
repeat = 3
config = PgDown
end

# Skip backward (10 min default)
begin
prog = mythtv
button = Previous
repeat = 3
config = PgUp
end

# Record
begin
prog = mythtv
button = Record
repeat = 3
config = R
end

# Delete
begin
prog = mythtv
button = red
repeat = 3
config = D
end

# OSD browse

begin
prog = mythtv
button = Menu
repeat = 3
config = O
end

# Display EPG while in live TV,
# View selected show while in EPG
begin
prog = mythtv
button = Guide
repeat = 3
config = M
end

# Volume-Up
begin
prog = mythtv
button = Volume-UP
repeat = 3
config = ]
end

# Volume-Down
begin
prog = mythtv
button = Volume-DOWN
repeat = 3
config = [
end

# Bring up OSD info
begin
prog = mythtv
button = Go
repeat = 3
config = I
end

# Change display aspect ratio
#begin
#prog = mythtv
#button = FULL
#repeat = 3
#config = W
#end

# Seek to previous commercial cut point
begin
prog = mythtv
button = yellow
repeat = 3
config = Q
end

# Seek to next commercial cut point
begin
prog = mythtv
button = blue
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

#
### MPlayer lirc setup
#
# Show OSD
begin
prog = mplayer
button = Menu
repeat = 3
config = osd
end

# Pause playback
begin
prog = mplayer
button = Pause
repeat = 3
config = pause
end

# Skip ahead a minute if playing
# If paused, resume playing
begin
prog = mplayer
button = Play
repeat = 3
config = seek +1
end

# Stop playback and exit
begin
prog = mplayer
button = Stop
repeat = 3
config = quit
end

# Mute
begin
prog = mplayer
button = Mute
repeat = 3
config = mute
end

# Seek back 10 seconds
begin
prog = mplayer
button = Rewind
repeat = 3
config = seek -10
end

# Seek forward 30 seconds
begin
prog = mplayer
button = Forward
repeat = 3
config = seek +30
end

# Quit
begin
prog = mplayer
button = Back-Exit
repeat = 3
config = quit
end

# Seek forward 10 minutes
begin
prog = mplayer
button = Next
repeat = 3
config = seek +600
end

# Seek backward 10 minutes
begin
prog = mplayer
button = Previous
repeat = 3
config = seek -600
end

# Toggle full-screen
#begin
#prog = mplayer
#button = FULL
#repeat = 3
#config = vo_fullscreen
#end
#
#
### XINE CONFIGURATION
#
##
# xine key bindings.
# Automatically generated by xine-ui version 0.99.2.
##

# start playback
begin
   button = Play
   prog   = xine
   repeat = 3
   config = Play
end

# playback pause toggle
begin
   button = Pause
   prog   = xine
   repeat = 3
   config = Pause
end

# stop playback
begin
   button = Stop
   prog   = xine
   repeat = 3
   config = Stop
end

# take a snapshot
begin
   button = Record
   prog   = xine
   repeat = 3
   config = Snapshot
end

# eject the current medium
begin
   remote = xxxxx
   button = xxxxx
   prog   = xine
   repeat = 3
   config = Eject
end

# set position to -60 seconds in current stream
begin
   button = Previous
   prog   = xine
   repeat = 3
   config = SeekRelative-60
end

# set position to +60 seconds in current stream
begin
   button = Next
   prog   = xine
   repeat = 3
   config = SeekRelative+60
end

# set position to -30 seconds in current stream
begin
   button = Rewind
   prog   = xine
   repeat = 3
   config = SeekRelative-30
end

# set position to +30 seconds in current stream
begin
   button = Forward
   prog   = xine
   repeat = 3
   config = SeekRelative+30
end

# set position to +7 and -7 seconds in current stream
begin
   button = 1
   prog   = xine
   repeat = 3
   config = SeekRelative-7
end

begin
   button = 2
   prog   = xine
   repeat = 3
   config = SeekRelative+7
end

begin
   button = 4
   prog   = xine
        repeat = 3
   config = SetPosition40%
end

begin
   button = 5
   prog   = xine
   repeat = 3
   config = SetPosition70%
end

begin
   button = UP
   prog   = xine
   repeat = 3
   config = SpeedFaster
end

begin
   button = DOWN
   prog   = xine
   repeat = 3
   config = SpeedSlower
end

begin
   button = OK
   prog   = xine
   repeat = 3
   config = SpeedReset
end

# increment audio volume
begin
   button = Volume-UP
   prog   = xine
   repeat = 3
   config = Volume+
end

# decrement audio volume
begin
   button = Volume-DOWN
   prog   = xine
   repeat = 3
   config = Volume-
end

# audio muting toggle
begin
   button = Mute
   prog   = xine
   repeat = 3
   config = Mute
end

# set video output window to 100%
begin
   remote = xxxxx
   button = xxxxx
   prog   = xine
   repeat = 3
   config = Window100
end

# set video output window to 200%
begin
   remote = xxxxx
   button = xxxxx
   prog   = xine
   repeat = 3
   config = Window200
end

# zoom in
begin
   remote = xxxxx
   button = xxxxx
   prog   = xine
   repeat = 3
   config = ZoomIn
end

# zoom out
begin
   remote = xxxxx
   button = xxxxx
   prog   = xine
   repeat = 3
   config = ZoomOut
end

# fullscreen toggle
begin
   remote = xxxxx
   button = xxxxx
   prog   = xine
   repeat = 3
   config = ToggleFullscreen
end

# Xinerama fullscreen toggle
begin
   remote = xxxxx
   button = xxxxx
   prog   = xine
   repeat = 3
   config = ToggleXineramaFullscr
end

# jump to Title Menu
begin
   button = Go
   prog   = xine
   repeat = 3
   config = TitleMenu
end

# jump to Root Menu
begin
   remote = xxxxx
   button = xxxxx
   prog   = xine
   repeat = 3
   config = RootMenu
end

# menu navigate up
begin
   button = xxxx
   prog   = xine
   repeat = 3
   config = EventUp
end

# menu navigate down
begin
   button = xxxx
   prog   = xine
   repeat = 3
   config = EventDown
end

# menu navigate left
begin
   button = LEFT
   prog   = xine
   repeat = 3
   config = EventLeft
end

# menu navigate right
begin
   button = RIGHT
   prog   = xine
   repeat = 3
   config = EventRight
end

# visibility toggle of stream info window
begin
   button = Guide
   prog   = xine
   repeat = 3
   config = StreamInfosShow
end

# display stream information using OSD
begin
   button = Menu
   prog   = xine
   repeat = 3
   config = OSDStreamInfos
end



# increase brightness by 10
begin
   button = Channel-UP
   prog   = xine
   repeat = 3
   config = BrightnessControl+
end

# decrease brightness by 10
begin
   button = Channel-DOWN
   prog   = xine
   repeat = 3
   config = BrightnessControl-
end

# quit the program
begin
   button = Back-Exit
   prog   = xine
   repeat = 3
   config = Quit
end

##
# End of xine key bindings.
##



Other things maybe worth mentioning ....

After scanning for channels I found I had a load of poor reception
channels but didn't know which were which as they're all identified as
"unknown". So to know which channel number you're atually tuned to in
mythfrontend, make sure you have web access running and go to
http://IP_OF_MYTHTV:6544
It will tell you which channel ID it's tuned to.

Once I'd identified the duff channels I deleted them using sql
statements (see http://www.mythtv.org/docs/mythtv-HOWTO-23.html#ss23.9)

The default device for decoding is /dev/video0 for me and you set it up
under Tuner0 (don;t know what all the composites etc are for)
Playback device is /dev/video16. Make sure both are writeable by the
mythtv user.


Mark Emery wrote:
>Hi,
>
>Anyone got a PVR-350 working with TV-Out in PAL?  Yes I've seen the 
>notes about PVR-350 TV-Out support being dropped soon.  I'd had problems 
>with my two video cards & TV-Out since FC3 so thought I'd go for a 
>PVR-350. What a bad move!
>
>I've got MythTV installed from yum and ivtv from source.  TV capture is 
>working okay, but TV-Out isn't.  I get two yellow lines with the TV 
>connected to the composite output of the card.   ivtvctl -l 1 or ivtvctl 
>-l 0 only switched between a black screen and the bars.
>
>If someone in the UK does have it working, would they mind sharing their 
>modprobe.conf?
>
>Thanks,
>Mark
>_______________________________________________
>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