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.
Keith
_______________________________________________
ivtv-devel mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-devel