On Dec 4, 2005, at 4:36 PM, Keith Pyle wrote:
On Tuesday 22 November 2005 04:51, Keith Pyle wrote:
On Monday 21 November 2005 02:16, Keith Pyle wrote:
I have a PVR-500 that will function normally for a couple of
weeks,
and then fail with messages like this:
Nov 15 09:00:12 myhost kernel: ivtv0 warning: 1000 ms time out
waiting for firmware
Nov 15 09:00:12 myhost kernel: ivtv0 warning: Failed api call
0x000000d2 with result 0xfffffff0
Nov 15 09:00:22 myhost kernel: ivtv0 warning: 1000 ms time out
waiting for firmware
Nov 15 09:00:22 myhost kernel: ivtv0 warning: Failed api call
.....
flags 0x00000003
Nov 15 09:08:52 myhost kernel: ivtv0 warning: Firmware
UNRESPONSIVE
when trying cmd 0x000000cd!!!
Nov 15 09:09:02 myhost kernel: ivtv0 warning: 1000 ms time out
waiting for firmware
Nov 15 09:09:02 myhost kernel: ivtv0 warning: Failed api call
0x00000081 with result 0xfffffff0
Nov 15 09:09:02 myhost kernel: ivtv0 warning: Error starting
capture! Nov 15 09:09:02 myhost kernel: ivtv0 warning: Failed to
start capturing for stream 0
A system reboot is required to clear the condition. This has
happened with a 0.3.x version of ivtv and the version I'm now
running - 0.4.1 revision 2816. The problem can affect only one of
the two tuners; the other tuner will continue to work.
It is a symptom of a hanging firmware. I have to admit that it's
been awhile since I've seen this.
Which chipset do you have? (some older VIA chipsets have major
problems with the PVR cards). I also noticed that you are running
an SMP kernel. The driver is not well tested with SMP systems.
There is a possibility that there is a race condition somewhere
that causes this.
Hans
The system is a Pentium 4 (Northwood) on an Intel D875PBZ
motherboard
(875P chipset) with hyperthreading enabled.
Is there any way to reset the firmware short of a reboot? I tried
the -H option on ivtvctl to force reload the firmware, but it didn't
clear the problem.
Try unloading and reloading the driver. I don't think it will
help, though.
If there is something I can do to help identify the potential SMP
race condition, let me know. The system was very stable prior to
loading ivtv, with typical uptimes of 100-200 days. Since loading
ivtv, its average uptime is closer to 2 weeks due to reboots to
clear
the hung firmware.
Can you run for some time with Hyperthreading disabled and a
uniprocessor kernel installed? If this problem disappears then we
know for certain that it is SMP related.
How often is the PVR-500 used?
Regards,
Hans
To test the theory of a possible SMP problem in ivtv, I rebooted
with hyperthreading disabled in the BIOS. I used the same kernel,
same ivtv module, etc. to avoid introducing other variables. The
system remained stable. With HT enabled, the firmware hangs were
coming every 3-10 days, it seemed. So, I believe that this theory
is correct - there is some SMP-unclean code in ivtv.
While running without HT isn't a showstopper for me, it would be
very desirable to be able to run with HT again. Parallel makes,
generating .tar.gz files, etc. are much faster with HT. For
example, creating a 1.1 GB bzipped backup file with "tar cj" from
one disk to a second disk takes 1 hour with HT and 2.5 hours
without HT.
The PVR-500 is used 10-15 times per week, typically. Additionally,
when the firmware hang occurs, you cannot unload the driver. A
reboot is required.
I use a PVR-500 with an SMP kernel and an Athlon64 3800+ X2. 100%
stable with the 0.4.0 tagged release.
Keith C
_______________________________________________
ivtv-devel mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-devel