[mythtv-users] Playback issues and kernel oops with pvr 350

John Allman allmanj at gmail.com
Thu Aug 28 18:09:20 UTC 2008


Hi all,

I just installed a fresh copy of knoppmyth R5.5 on my pvr. It had
previously been running an older version and was working fine, but
then my hard drive died. I've gotten tv out to work after making a few
changes (I'm using PAL, not NTSC) but I can't get proper playback
without using the hardware mpeg 2 decoder. I would rather not use that
as I get better audio quality using the output directly. Even if I do
use that for content I recorded, I can't playback anything else
without a traceback from the kernel in syslog and extremely slow
video.

I can confirm that this is *playback* related, and not recording
related as I can use mythfrontend on my laptop to connect to the
server and play back recorded content just fine.

Here's an example

Aug 27 19:23:14 mythtv kernel: PREEMPT SMP
Aug 27 19:23:14 mythtv kernel: Modules linked in: autofs4 ipv6 efs via
drm af_packet fuse usbhid ff_memless pcmcia yenta_socket
rsrc_nonstatic pcmcia_core video output sbs fan dock container battery
ac aufs sbp2 usb_storage ohci_hcd nvram cx8800 cx88xx bttv ir_common
compat_ioctl32 videobuf_dma_sg videobuf_core btcx_risc lirc_i2c
lirc_dev ivtvfb snd_via82xx gameport snd_ac97_codec ac97_bus
snd_pcm_oss snd_mixer_oss snd_pcm snd_page_alloc snd_mpu401_uart
snd_seq_dummy snd_seq_oss saa7127 snd_seq_midi snd_seq_midi_event ivtv
parport_pc parport snd_seq saa7115 snd_timer snd_rawmidi msp3400
i2c_viapro snd_seq_device tuner tea5767 tda8290 tda18271 tda827x
8250_pnp button tuner_xc2028 thermal 8250 serial_core tda9887
tuner_simple mt20xx tea5761 processor firmware_class i2c_algo_bit
cx2341x tveeprom videodev v4l2_common ohci1394 ehci_hcd via_ircc
uhci_hcd i2c_core pcspkr via_agp agpgart v4l1_compat ieee1394 snd irda
shpchp pci_hotplug usbcore soundcore rtc_cmos rtc_core rtc_lib evdev
tsdev
Aug 27 19:23:14 mythtv kernel: CPU:    0
Aug 27 19:23:14 mythtv kernel: EIP:    0060:[<fa0fa86a>]    Not tainted VLI
Aug 27 19:23:14 mythtv kernel: EFLAGS: 00010286   (2.6.23-chw-4 #1)
Aug 27 19:23:14 mythtv kernel: EIP is at via_driver_vblank_wait+0x2a/0x150 [via]
Aug 27 19:23:14 mythtv kernel: eax: 00000000   ebx: f4d40000   ecx:
fa0fa840   edx: e7f8bf08
Aug 27 19:23:14 mythtv kernel: esi: f4d10c00   edi: 00000000   ebp:
e7f8bf08   esp: e7f8beb0
Aug 27 19:23:14 mythtv kernel: ds: 007b   es: 007b   fs: 00d8  gs:
0033  ss: 0068
Aug 27 19:23:14 mythtv kernel: Process mythfrontend (pid: 3713,
ti=e7f8a000 task=ec1c21b0 task.ti=e7f8a000)
Aug 27 19:23:14 mythtv kernel: Stack: f6092c10 efaf3180 fa0f0c40
fa0eb143 000000ff c0186a70 00000001 00000000
Aug 27 19:23:14 mythtv kernel:        f4cfe520 00000000 00000000
f4d10c00 fa0f7490 fa0ec098 f6092c10 00000000
Aug 27 19:23:14 mythtv kernel:        c0186d60 c018273d c18a5da0
f670363c 00000000 00000000 00000001 b7f071b8
Aug 27 19:23:14 mythtv kernel: Call Trace:
Aug 27 19:23:14 mythtv kernel:  [<fa0eb143>] drm_stub_open+0x173/0x1a0 [drm]
Aug 27 19:23:14 mythtv kernel:  [<c0186a70>] exact_match+0x0/0x10
Aug 27 19:23:14 mythtv kernel:  [<fa0ec098>] drm_wait_vblank+0x278/0x2b0 [drm]
Aug 27 19:23:14 mythtv kernel:  [<c0186d60>] chrdev_open+0x0/0x1b0
Aug 27 19:23:14 mythtv kernel:  [<c018273d>] __dentry_open+0x16d/0x1f0
Aug 27 19:23:14 mythtv kernel:  [<fa0ebe20>] drm_wait_vblank+0x0/0x2b0 [drm]
Aug 27 19:23:14 mythtv kernel:  [<fa0ea5f0>] drm_ioctl+0xb0/0x200 [drm]
Aug 27 19:23:14 mythtv kernel:  [<c010643a>] do_invalid_op+0x1a/0x90
Aug 27 19:23:14 mythtv kernel:  [<c010643a>] do_invalid_op+0x1a/0x90
Aug 27 19:23:14 mythtv kernel:  [<c01918d8>] do_ioctl+0x78/0x90
Aug 27 19:23:14 mythtv kernel:  [<c0191b1e>] vfs_ioctl+0x22e/0x2b0
Aug 27 19:23:14 mythtv kernel:  [<c018299e>] do_sys_open+0xbe/0xe0
Aug 27 19:23:14 mythtv kernel:  [<c0191bfd>] sys_ioctl+0x5d/0x70
Aug 27 19:23:14 mythtv kernel:  [<c0104412>] syscall_call+0x7/0xb
Aug 27 19:23:14 mythtv kernel:  [<c010643a>] do_invalid_op+0x1a/0x90
Aug 27 19:23:14 mythtv kernel:  =======================
Aug 27 19:23:14 mythtv kernel: Code: 00 55 89 d5 57 56 89 c6 53 83 ec
24 8b 3d 84 87 0f fa 8b 98 84 02 00 00 85 ff 0f 85 e1 00 00 00 85 db
0f 84 f9 00 00 00 8b 43 0c <8b> 50 10 8b 82 00 02 00 00 0b 83 cc fc 00
00 89 82 00 02 00 00
Aug 27 19:23:14 mythtv kernel: EIP: [<fa0fa86a>]
via_driver_vblank_wait+0x2a/0x150 [via] SS:ESP 0068:e7f8beb0

In dmesg I see:

EIP:    0060:[<fa0fa86a>]    Not tainted VLI
EFLAGS: 00010286   (2.6.23-chw-4 #1)
EIP is at via_driver_vblank_wait+0x2a/0x150 [via]
eax: 00000000   ebx: f4d40000   ecx: fa0fa840   edx: e7f8bf08
esi: f4d10c00   edi: 00000000   ebp: e7f8bf08   esp: e7f8beb0
ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068
Process mythfrontend (pid: 3713, ti=e7f8a000 task=ec1c21b0 task.ti=e7f8a000)
Stack: f6092c10 efaf3180 fa0f0c40 fa0eb143 000000ff c0186a70 00000001 00000000
      f4cfe520 00000000 00000000 f4d10c00 fa0f7490 fa0ec098 f6092c10 00000000
      c0186d60 c018273d c18a5da0 f670363c 00000000 00000000 00000001 b7f071b8
Call Trace:
 [<fa0eb143>] drm_stub_open+0x173/0x1a0 [drm]
 [<c0186a70>] exact_match+0x0/0x10
 [<fa0ec098>] drm_wait_vblank+0x278/0x2b0 [drm]
 [<c0186d60>] chrdev_open+0x0/0x1b0
 [<c018273d>] __dentry_open+0x16d/0x1f0
 [<fa0ebe20>] drm_wait_vblank+0x0/0x2b0 [drm]
 [<fa0ea5f0>] drm_ioctl+0xb0/0x200 [drm]
 [<c010643a>] do_invalid_op+0x1a/0x90
 [<c010643a>] do_invalid_op+0x1a/0x90
 [<c01918d8>] do_ioctl+0x78/0x90
 [<c0191b1e>] vfs_ioctl+0x22e/0x2b0
 [<c018299e>] do_sys_open+0xbe/0xe0
 [<c0191bfd>] sys_ioctl+0x5d/0x70
 [<c0104412>] syscall_call+0x7/0xb
 [<c010643a>] do_invalid_op+0x1a/0x90
 =======================
Code: 00 55 89 d5 57 56 89 c6 53 83 ec 24 8b 3d 84 87 0f fa 8b 98 84
02 00 00 85 ff 0f 85 e1 00 00 00 85 db 0f 84 f9 00 00 00 8b 43 0c <8b>
50 10 8b 82 00 02 00 00 0b 83 cc fc 00 00 89 82 00 02 00 00
EIP: [<fa0fa86a>] via_driver_vblank_wait+0x2a/0x150 [via] SS:ESP 0068:e7f8beb0
mythfrontend[3420]: segfault at 106858a0 eip 0831771c esp b241822c error 6


lspci output:

00:00.0 Host bridge: VIA Technologies, Inc. VT8623 [Apollo CLE266]
00:01.0 PCI bridge: VIA Technologies, Inc. VT8633 [Apollo Pro266 AGP]
00:0d.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host
Controller (rev 80)
00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1
Controller (rev 80)
00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1
Controller (rev 80)
00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1
Controller (rev 80)
00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82)
00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge
00:11.1 IDE interface: VIA Technologies, Inc.
VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)
00:11.5 Multimedia audio controller: VIA Technologies, Inc.
VT8233/A/8235/8237 AC97 Audio Controller (rev 50)
00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 74)
00:13.0 Multimedia video controller: Internext Compression Inc iTVC15
MPEG-2 Encoder (rev 01)
01:00.0 VGA compatible controller: VIA Technologies, Inc. VT8623
[Apollo CLE266] integrated CastleRock graphics (rev 03)

Relevant sections of xorg.conf:


Section "Module"
# Comments: see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=346408
      Load  "dbe" # Double Buffering Extension, very important.
      Load  "dri" # This shouldn't be available choice if user has
selected driver vga, vesa or nv.
      Load  "glx" # GLX Extension.
      Load  "freetype" # Freetype fonts.
      Load  "type1"  # Type 1 fonts
      Load  "record" # Developer extension, usually not needed
#       Load  "extmod" # This is okay, but if you look into "man xorg.conf"
you'll find option NOT to include DGA extension with extmod, and for a
good reason.. DGA causes instability as it access videoram without
consulting X about it.
      SubSection      "extmod"
              Option          "omit xfree86-dga"
      EndSubSection
#       Load  "speedo" # Speedo fonts, this module doesn't exist in Xorg 7.0.17
# The following are deprecated/unstable/unneeded in Xorg 7.0
#       Load  "ddc"  # ddc probing of monitor, this should be never
present, as it gets automatically loaded.
#       Load  "GLcore" # This should be never present, as it gets
automatically loaded.
#       Load  "bitmap" # Should be never present, as it gets
automatically loaded. This is a font module, and loading it in
xorg.conf makes X try to load it twice.
EndSection



Section "ServerFlags"
      Option "AllowMouseOpenFail"  "true"
      Option "IgnoreABI"  "true"
EndSection
Section "Monitor"
      Identifier  "PAL Monitor"
      HorizSync  30-68
      VertRefresh 50-120
      Mode "720x576"
        DotClock 42.6
        HTimings 720 760 832 944
        VTimings 576 577 580 602
        Flags    "-HSync" "-VSync"
      EndMode
EndSection

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

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

      ### 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:0:19:0"

#       Screen          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 have ivtv xorg driver 1.0.0~svn4049-3 installed

My kernel version is 2.6.23-chw-4

In dmesg, I see the following relating to the ivtv module:

ivtv:  Start initialization, version 1.2.0
ivtv0: Initializing card #0
ivtv0: Autodetected Hauppauge card (cx23415 based)
ivtv0: Unreasonably low latency timer, setting to 64 (was 32)
ivtv0: YUV filter table not found in firmware.
tveeprom 1-0050: has radio, has IR receiver, has no IR transmitter
ivtv0: Autodetected Hauppauge WinTV PVR-350
saa7115 1-0021: saa7115 found (1f7115d0e100000) @ 0x42 (ivtv i2c driver #0)
saa7127 1-0044: saa7129 found @ 0x88 (ivtv i2c driver #0)
msp3400 1-0040: MSP4418G-B3 found @ 0x80 (ivtv i2c driver #0)
tuner 1-0043: chip found @ 0x86 (ivtv i2c driver #0)
tuner 1-0061: chip found @ 0xc2 (ivtv i2c driver #0)
ivtv0: Registered device video0 for encoder MPG (4096 kB)
ivtv0: Registered device video32 for encoder YUV (2048 kB)
ivtv0: Registered device vbi0 for encoder VBI (1024 kB)
ivtv0: Registered device video24 for encoder PCM (320 kB)
ivtv0: Registered device radio0 for encoder radio
ivtv0: Registered device video16 for decoder MPG (1024 kB)
ivtv0: Registered device vbi8 for decoder VBI (64 kB)
ivtv0: Registered device vbi16 for decoder VOUT
ivtv0: Registered device video48 for decoder YUV (1024 kB)
ivtv0: Initialized card #0: Hauppauge WinTV PVR-350
ivtv:  End initialization
ivtv0: Loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
ivtv0: Loaded v4l-cx2341x-dec.fw firmware (262144 bytes)
ivtv0: Encoder revision: 0x02060039
ivtv0: Decoder revision: 0x02020023
ivtv0: Loaded v4l-cx2341x-init.mpg firmware (155648 bytes)
ivtvfb0: Framebuffer at 0xdd510000, mapped to 0xf9c90000, size 1665k
ivtvfb0: Framebuffer registered on ivtv card id 0

The motherboard is a via epia m1000. It has its own video out, but I'm
using the pvr 350s tv out.

I really am quite stumped here. I know the hardware is fast enough to
do this as it used to work fine - this must be a software problem (or,
more likely, a configuration problem) but I'm not getting it.

I've included all the information I could thing you might possibly
find useful (sorry for the long post as a result) but if there's
anything else you need, please don't hesitate to let me know.

Thanks,

John


More information about the mythtv-users mailing list