Autor Thema: Treiberprobleme mit MythTV und VDR  (Gelesen 8489 mal)

KnisterPeter

  • Jr. Member
  • **
  • Beiträge: 52
    • Profil anzeigen
Treiberprobleme mit MythTV und VDR
« am: August 12, 2010, 06:34:04 Nachmittag »
Hallo,

ich habe mit dem aktuellen Treiber leider immer wieder (ca. 1-2x täglich) Fehler im messages.log meines Rechners und MythTV und auch VDR können nicht mehr auf den Stick zugreifen. :(
Leider muss ich so einem Falle immer den Treiber resetten und die TV Applikation neu starten. Irgendeine Abhilfe bekannt?

Mein System ist Ubuntu 10.04 mit aktuellsten Patches und Kernel 2.6.32-24-generic.
Woran könnte das liegen?

Hier der Auszug aus meinem logfile:
[219400.464825] mediasrv: page allocation failure. order:5, mode:0x40d0
[219400.464837] Pid: 25209, comm: mediasrv Tainted: P           2.6.32-24-generic #39-Ubuntu
[219400.464843] Call Trace:
[219400.464861]  [<c058a676>] ? printk+0x1d/0x1f
[219400.464874]  [<c01d020e>] __alloc_pages_slowpath+0x46e/0x4a0
[219400.464884]  [<c01d037a>] __alloc_pages_nodemask+0x13a/0x170
[219400.464892]  [<c01d03cc>] __get_free_pages+0x1c/0x30
[219400.464900]  [<c01fe109>] __kmalloc+0xf9/0x190
[219400.464912]  [<c0447eda>] ? usb_init_urb+0x2a/0x40
[219400.464922]  [<c045137d>] proc_do_submiturb+0x29d/0x840
[219400.464930]  [<c0451c05>] usbdev_ioctl+0x2e5/0xb80
[219400.464942]  [<c01768d4>] ? tick_dev_program_event+0x74/0xd0
[219400.464950]  [<c058cddd>] ? _spin_lock+0xd/0x10
[219400.464959]  [<c0216beb>] vfs_ioctl+0x7b/0x90
[219400.464966]  [<c0216e79>] do_vfs_ioctl+0x79/0x310
[219400.464972]  [<c0217177>] sys_ioctl+0x67/0x80
[219400.464979]  [<c01033ec>] syscall_call+0x7/0xb
[219400.464984] Mem-Info:
[219400.464988] DMA per-cpu:
[219400.464993] CPU    0: hi:    0, btch:   1 usd:   0
[219400.464997] Normal per-cpu:
[219400.465001] CPU    0: hi:  186, btch:  31 usd:   0
[219400.465004] HighMem per-cpu:
[219400.465008] CPU    0: hi:    0, btch:   1 usd:   0
[219400.465019] active_anon:15350 inactive_anon:31363 isolated_anon:0
[219400.465022]  active_file:75142 inactive_file:72633 isolated_file:0
[219400.465024]  unevictable:1 dirty:118 writeback:0 unstable:0
[219400.465027]  free:6552 slab_reclaimable:6798 slab_unreclaimable:3102
[219400.465029]  mapped:11155 shmem:5535 pagetables:1335 bounce:0
[219400.465045] DMA free:3564kB min:64kB low:80kB high:96kB active_anon:496kB inactive_anon:560kB active_file:392kB inactive_file:2252kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15804kB mlocked:0kB dirty:80kB writeback:0kB mapped:16kB shmem:8kB slab_reclaimable:928kB slab_unreclaimable:56kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[219400.465057] lowmem_reserve[]: 0 865 872 872
[219400.465075] Normal free:22508kB min:3728kB low:4660kB high:5592kB active_anon:60460kB inactive_anon:124196kB active_file:298240kB inactive_file:283980kB unevictable:4kB isolated(anon):0kB isolated(file):0kB present:885944kB mlocked:4kB dirty:392kB writeback:0kB mapped:43112kB shmem:22000kB slab_reclaimable:26264kB slab_unreclaimable:12352kB kernel_stack:2480kB pagetables:5184kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[219400.465087] lowmem_reserve[]: 0 0 61 61
[219400.465103] HighMem free:136kB min:128kB low:136kB high:144kB active_anon:444kB inactive_anon:696kB active_file:1936kB inactive_file:4300kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:7816kB mlocked:0kB dirty:0kB writeback:0kB mapped:1492kB shmem:132kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:156kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[219400.465115] lowmem_reserve[]: 0 0 0 0
[219400.465122] DMA: 3*4kB 6*8kB 3*16kB 2*32kB 1*64kB 8*128kB 7*256kB 1*512kB 0*1024kB 0*2048kB 0*4096kB = 3564kB
[219400.465140] Normal: 3341*4kB 971*8kB 56*16kB 1*32kB 1*64kB 3*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 22508kB
[219400.465158] HighMem: 1*4kB 0*8kB 0*16kB 0*32kB 0*64kB 1*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 132kB
[219400.465176] 166949 total pagecache pages
[219400.465179] 13645 pages in swap cache
[219400.465184] Swap cache stats: add 408827, delete 395182, find 252304/295913
[219400.465188] Free swap  = 2595400kB
[219400.465192] Total swap = 2814968kB
[219400.476179] 229280 pages RAM
[219400.476184] 1970 pages HighMem
[219400.476188] 5125 pages reserved
[219400.476191] 124547 pages shared
[219400.476194] 106805 pages non-shared
[220737.548714] input: Sundtek Ltd. Remote Control as /devices/virtual/input/input10
[221403.353210] vdr[26562]: segfault at 38bbcc ip 081304c2 sp bfe35cf0 error 4 in vdr[8048000+143000]

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8512
    • Profil anzeigen
Re:Treiberprobleme mit MythTV und VDR
« Antwort #1 am: August 12, 2010, 06:53:43 Nachmittag »
Schlechte Speicherfragmentierung, wieviel RAM hat dieser PC?
Wie sieht denn die Ausgabe von 'top' aus?

Der Rechner scheint keinen Speicher mehr reservieren zu koennen zum Auslesen der Videodaten.

Als Loesung, versuchen Sie den allgemeinen Speicherverbrauch auf diesem PC zu senken.
Es handelt sich hier um einen allgemeinen Linux Bug, ab ca. Linux 2.6.35 gibt es Kernelsupport zur Arbeitsspeicherdefragmentierung.
Sofern Sie den Systemspeicher nicht vollstaendig und irgendwelche Programme den Speicher zu sehr fragmentieren sollte das Problem nicht auftreten.

Versuchen Sie nach dieser Meldung einfach einige Programme zu beenden und TV z.b mittels tvtime zu starten.
Failure is a good thing! I'll fix it

KnisterPeter

  • Jr. Member
  • **
  • Beiträge: 52
    • Profil anzeigen
Re:Treiberprobleme mit MythTV und VDR
« Antwort #2 am: August 12, 2010, 06:57:45 Nachmittag »
Das klingt ja nicht gut...  :(
Der Rechner hat 1GB Ram und es läuft entweder:

* MythTV Frontend + Backend + MySQL
* VDR + XBMC PVR

Ansonsten ist auf dem Rechner nix druff... das müsste doch eigentlich reichen. *grübel*
Danke jedenfalls :)

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8512
    • Profil anzeigen
Re:Treiberprobleme mit MythTV und VDR
« Antwort #3 am: August 12, 2010, 07:02:15 Nachmittag »
Wir nehmen an das diese Probleme erst ab neueren Kernelversionen aufgetreten sind und deshalb eigentlich auch Unterstuetzung zum Defragmentieren des Speichers hinzugefuegt wurde.

Bei aelteren Systemen konnten wir dies nicht so einfach nachvollziehen.

Wie man dieses Problem nachstellen kann:
1. sehr viele Programme starten damit beinahe kein Speicher mehr frei ist
2. den TV Tuner aktivieren

Dies ist aber wie erwaehnt ein allgemeines Problem und bereitet uns unter anderem auch hin und wieder Probleme mit virtuellen Maschinen.

Als Loesung fuer das Problem kann eventuell 2.6.22/23 getestet werden, oder eben die neue version mit Systemspeicher Defragmentierungs-unterstuetzung.

Mehr RAM ist sicherlich auch eine Alternative.

Virtueller Speicher kann durchaus noch vorhanden sein, jedoch wird zur Datenuebertragung etwas physikalisch ununterbrochenen DMA Speicher benoetigt.
Sofern der allgemeine Systemspeicher am Ende ist wird auch von anderen Speicherbereichen Speicher genommen.
Der virtuelle Speicher sort dafuer das unterbrochene physikalische Speicherbloecke der Applikation als durchgehende Speicherbloecke zur Verfuegung stehen - dies kann aber leider nicht fuer Hardware verwendet werden.
« Letzte Änderung: August 12, 2010, 07:18:10 Nachmittag von Sundtek »
Failure is a good thing! I'll fix it

KnisterPeter

  • Jr. Member
  • **
  • Beiträge: 52
    • Profil anzeigen
Re:Treiberprobleme mit MythTV und VDR
« Antwort #4 am: August 12, 2010, 07:20:03 Nachmittag »
Läuft denn so ein alter Kernel noch mit einem aktuellen Ubuntu? (Ok, das kann ich auch einfach probieren  :))

Und ab welchem Kernel gibt es die Systemspeicher defragmentierung?

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8512
    • Profil anzeigen
Re:Treiberprobleme mit MythTV und VDR
« Antwort #5 am: August 12, 2010, 07:25:51 Nachmittag »
Siehe:

http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-2-6-35-1045229.html?artikelseite=3

Den aktuellen freien DMA Speicher koennen Sie mit folgendem Befehl anzeigen lassen:
Zitat
$ echo m > /proc/sysrq-trigger
$ dmesg

So koennen Sie vergleichen wieviel Speicher noch frei war und wieviel normal frei ist wenn es funktioniert.
« Letzte Änderung: August 12, 2010, 07:27:54 Nachmittag von Sundtek »
Failure is a good thing! I'll fix it

KnisterPeter

  • Jr. Member
  • **
  • Beiträge: 52
    • Profil anzeigen
Re:Treiberprobleme mit MythTV und VDR
« Antwort #6 am: August 12, 2010, 07:27:44 Nachmittag »
Super. Vielen Dank.  ;D