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

Reply via email to