[ivtv-users] PVR-500 sporadically failing: DMA TIMEOUT 00000001 0
pete-ivtv at ziiz.us
Fri Mar 19 09:59:08 CET 2010
On Feb 8, 2010, 2:12 PM, cybertron at nemebean wrote:
> On Mon, 8 Feb 2010 16:49:45 -0500, "Matt S." <skd5aner [at] gmail>
>> I'm running Ubuntu 9.10 (server): 2.6.31-17-server #54-Ubuntu SMP
>> Thu Dec 10 18:06:56 UTC 2009 x86_64 GNU/Linux
>> The card has been fairly rock solid for several years, but it
>> seems over the past week or so (following an apt-get
>> update/apt-get dist-update) that it frequently becomes unusable
>> after a few hours/days.
> I've run into the same problem, although I've had it for a bit
> longer. There's a workaround from a couple of years ago that you
> can find here:
I've been having this dreaded problem as well, since about
10/2009, and cannot find a kernel/driver just prior to that
which resolves the issue. I also switched motherboards around
that time (to an Asus M3N78-VM, nVidia 8200/AMD-based), and so
have been trying to figure out whether it is an IRQ hardware
issue, as this board seems to assign the same (shared) IRQ to
every PCI and PCIe slot. No BIOS option to give the PVR-500
its own IRQ, though it flakes out after a few minutes to a
couple hours of recording even when the other cards are idle.
Tried every ACPI switch, increased IRQ latency, all to no avail.
I turned on debug=0x63, and found that there are some
warnings that may give further hints:
[75352.975814] ivtv1: warn: DMA ERROR 00000003 00000000 00000013 0
[75523.644223] ivtv1: warn: DMA ERROR 00000003 00000000 00000013 0
[80997.874066] ivtv1: warn: DMA ERROR 00000003 00000000 00000013 0
[81138.711795] ivtv1: warn: DMA ERROR 00000003 00000000 00000011 0
[81139.011347] ivtv1: DMA TIMEOUT 00000001 0
[81141.397531] ivtv1: info: close stopping capture
[81141.397545] ivtv1: info: Stop Capture
[81141.490391] ivtv1: info: Start encoder stream encoder MPG
[81141.512265] ivtv1: info: Setup VBI API header 0x0000bd03 pkts 1
buffs 4 ln 24 sz 1456
[81141.512387] ivtv1: info: Setup VBI start 0x002fea04 frames 4 fpi 1
[81141.516587] ivtv1: info: PGM Index at 0x00180150 with 400 elements
kernel: [81142.401605] ivtv1: DMA TIMEOUT 00000001 0
Note that the warning with status 0x13 appears infrequently,
and doesn't seem to be harmful. The 0x11 is fatal, as it is
always followed by the dreaded DMA TIMEOUT exactly 300ms later
(corresponding to the hardcoded DMA timeout value in ivtv-irq.c).
Interesting that the tuner remains broken even after
reloading the driver and firmware with rmmod/modprobe, and
only a reboot makes it operational again. Wonder if there's
something more the driver should be doing to reinitialize it?
Switching from DMA to PIO using the patch you refer to seems to
work so far, but is clearly a last resort. When one program is
recording, the CPU runs at full speed (unthrottled); when both
PVR-500 tuners are recording, the load avg shoots up to 10.
Especially bad in a combined mythtv front/backend where heat
and fan noise need to be minimized.
If PIO turns out to be the only long-term solution, that switch
should probably be made into a per-card modprobe parameter, so
we don't have to keep maintaining our own custom kernel builds.
More information about the ivtv-users