Hallo zusammen,
beim suchen nach den Ursachen für massive Bildaussetzer bin ich auf folgende Warnung gestoßen, die von der skystar S2 PCI kommen:
Jan 14 16:00:16 media-sack2 kernel: [19931.344199] saa7146 (0) vpeirq: used 1 times >80% of buffer (168072 bytes now)
Jan 14 16:00:46 media-sack2 kernel: [19961.276718] saa7146 (0) vpeirq: used 10 times >80% of buffer (50572 bytes now)
Jan 14 16:01:16 media-sack2 kernel: [19991.205526] saa7146 (0) vpeirq: used 6 times >80% of buffer (65612 bytes now)
Jan 14 16:10:53 media-sack2 kernel: [20566.728187] saa7146 (0) vpeirq: used 1 times >80% of buffer (168072 bytes now)
Jan 14 16:11:23 media-sack2 kernel: [20596.660803] saa7146 (0) vpeirq: used 10 times >80% of buffer (50760 bytes now)
Jan 14 16:11:53 media-sack2 kernel: [20626.589602] saa7146 (0) vpeirq: used 3 times >80% of buffer (65612 bytes now)
Jan 14 16:21:13 media-sack2 kernel: [21185.155733] saa7146 (0) vpeirq: used 1 times >80% of buffer (155476 bytes now)
Jan 14 16:21:43 media-sack2 kernel: [21215.090692] saa7146 (0) vpeirq: used 5 times >80% of buffer (61476 bytes now)
Jan 14 16:22:13 media-sack2 kernel: [21245.019511] saa7146 (0) vpeirq: used 6 times >80% of buffer (65612 bytes now)
Jan 14 16:31:45 media-sack2 kernel: [21815.552610] saa7146 (0) vpeirq: used 1 times >80% of buffer (171832 bytes now)
Jan 14 16:32:15 media-sack2 kernel: [21845.485215] saa7146 (0) vpeirq: used 10 times >80% of buffer (50760 bytes now)
Das Problem ist altbekannt und kann zu Bildstörungen führen: "Sometimes I get corruptions in the mpeg stream because of this".
Eine Lösung gibts auch: "Increase the DMA buffer size- which I did. Running now at the maximum of 1410kb, things have pretty much been fixed. Iirc those problems happen with SATA systems only."
Dazu gibts seit 2006 diesen Patch.
V4L/DVB (3669): Configurable dma buffer size for saa7146-based budget dvb cards
- Issue a warning when more than 80% of the DMA buffer is being used
(probably due to bad IRQ latency). Warnings are rate-limited.
- Introduce a new parameter 'bufsize' (in KByte) which increases the
default DMA buffer of 188 KByte up to 1410 KByte (Activy: 564 KByte).
MODULE_PARM_DESC(debug, "Turn on/off budget debugging (default:off).");
[b]+MODULE_PARM_DESC(bufsize, "DMA buffer size in KB, default: 188, min: 188, max: 1410 (Activy: 564)");[/b]
Signed-off-by: Ingo Schneider <mail <at> ingo-schneider.de>
Signed-off-by: Oliver Endriss <o.endriss <at> gmx.de>
Alles anzeigen
Leider ist auf meinem System (Aktueller yavdr, Kernel 3.8.0-35-generic) dieser Parameter nicht verfügbar!
modinfo saa7146
filename: /lib/modules/3.8.0-34-generic/kernel/drivers/media/common/saa7146.ko
license: GPL
description: driver for generic saa7146-based hardware
author: Michael Hunold <michael@mihu.de>
srcversion: 121295E695B3D84984CC0B3
depends:
vermagic: 3.8.0-34-generic SMP mod_unload modversions
parm: saa7146_debug:debug level (default: 0) (uint)
=> Der param "bufsize" wird nicht unterstützt !
Meine Fragen sind daher:
1) Wie kann ich diesen Treiber kompilieren (Würde dann vorher patchen..), ohne gleich einen ganzen Kernel zu bauen (Möchte auch nix 'zerschiessen')? Bisher habe ich noch keine src auf meinem System. Eine Kurzanleitung (Befehle) wäre toll!
2) Alternativ - eigentlich sogar besser ;- Wie finde ich ein .deb , wo dies bereits eingebaut ist?
3) Fraglich ist natürlich warum dieses feature von 2006 wieder verschwunden ist aus dem mainstream...
Grüße
Ralf