VDR und SMP-Kernel Probleme

  • Hallo Leute,
    nach der Installation von ctvdr 6.0 habe ich folgende Probleme:
    1.wenn ich den Kernel durch einen SMP fähigen Kernel ersetze verweigert der Treiber mit folgenden, sich immer wiederholenden Fehlermeldungen seinen Dienst.


    Sep 2 11:05:56 home kernel: saa7146 (0) saa7146_i2c_writeout [irq]: timed out waiting for end of xfer
    Sep 2 11:05:56 home last message repeated 3 times
    Sep 2 11:05:56 home kernel: stv0297_readreg: readreg error (reg == 0xdf, ret == -5)
    Sep 2 11:05:56 home kernel: saa7146 (0) saa7146_i2c_writeout [irq]: timed out waiting for end of xfer
    Sep 2 11:05:56 home last message repeated 3 times


    Der VDR selber läuft offensichtlich noch, bringt mir dann aber die Meldung „No Signal“


    2.Da ich nicht wirklich bock habe alle 10 – 15 Minuten den Rechner neu zu starten verwende ich nun wieder einen Standard Kernel ohne SMP. Da habe Ich nun die Frage ob es sein kann das der Debian Standard Kernel nur bis zu 1024 MB RAM adressieren kann? denn das Infozentrum zeigt mir nämlich nur soviel an – das bedeutet ich habe nur die hälft.


    Ich wäre für Tipps die dazu führen das ich meinen Core2 Duo auch voll nutzen kann sehr dankbar.


    Mit freundlichen Grüßen
    krokodile


    PS: mit dem jetzigen Kernel ist der obige Fehler nicht mehr aufgetreten

  • Hi,


    Zitat

    Original von krokodileDa habe Ich nun die Frage ob es sein kann das der Debian Standard Kernel nur bis zu 1024 MB RAM adressieren kann? denn das Infozentrum zeigt mir nämlich nur soviel an – das bedeutet ich habe nur die hälft.


    Genaue Aussagen über den Speicher macht free -m.
    Villeicht hast du die ja im Dual-Channel Betrieb?


    Zitat

    Original von krokodile
    Ich wäre für Tipps die dazu führen das ich meinen Core2 Duo auch voll nutzen kann sehr dankbar.


    Der linux-image-amd64 sollte passend für die duo's sein.
    Ob dein laufender kernel smp aktiviert hat siehst du mit:

    Code
    grep SMP /boot/config-`uname -r`


    Gruß cirrussc

  • solche probleme sind mir mit SMP nicht bekannt. Mein LinVDR-Kernel 2.6.21.3 ist auch ein SMP-Kernel, und da gibt es bislang keine Klagen.


    stv0297 ist ein frontend für DVB-C -die Meldung kann meines Wissens nach kommen (und ist unproblematisch) wenn die Karte ein anderes frontend hat.


    Zu der saa7146-Meldung schrieb mir UFO in einem anderen Fall: "Das grundlegende Problem ist weiterhin unklar. Der Fehler ist auch nicht neu: Früher gab's an dieser Stelle einfach keine Fehlermeldung.
    D.h. wenn man die Fehlermeldung auskommentiert, ist der Fehler scheinbar weg. In leichteren Fällen passiert nichts, da der Transfer wiederholt wird. In diesem Fall gehen jedoch reihenweise Zugriffe schief. Hier gibt's ganz massive Probleme. Evtl. ein HW-Fehler (Stromversorgung, Mainboard?)."


    Ist es vielleicht eine 2.3-Karte? Die braucht 3,3V Versorgungsspannung vom PCI-Bus. Erst ab PCI 2.2 ist man da auf der sicheren Seite.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Zitat

    Original von krokodile
    Da habe Ich nun die Frage ob es sein kann das der Debian Standard Kernel nur bis zu 1024 MB RAM adressieren kann? denn das Infozentrum zeigt mir nämlich nur soviel an – das bedeutet ich habe nur die hälft.


    Wenn der Kernel ohne Highmem-Support kompiliert wurde, werden nur 896MB benutzt.


    Gruß
    e9hack

  • Moin Moin,
    danke für eure Antworten.


    @Dr. Setsam
    Der Rechner den ich jetzt habe ist nagelneu. Den kaufte ich im Saturn und ist ein Medion PC. Interessant in diesem Zusammenhang ist, das dieser Fehler noch nie aufgetreten ist wenn ich einen nicht SMP-fähigen Kernel benutze (z.Z. den original ctvdr 6 Kernel 2.6.18-4-486).


    > D.h. wenn man die Fehlermeldung auskommentiert, ist der Fehler scheinbar
    > weg. In leichteren Fällen passiert nichts, da der Transfer wiederholt wird. In
    > diesem Fall gehen jedoch reihenweise Zugriffe schief. Hier gibt's ganz massive
    > Probleme. Evtl. ein HW-Fehler (Stromversorgung, Mainboard?)."


    Bei mir führt der Fehler wie gesagt dazu das Fernsehen nicht mehr geht – bis zum nächsten reboot.


    > Ist es vielleicht eine 2.3-Karte? Die braucht 3,3V Versorgungsspannung vom
    > PCI-Bus. Erst ab PCI 2.2 ist man da auf der sicheren Seite.


    sollte ein neuer PC dieses nicht erfüllen? kann ich das irgendwie checken?



    e9hack
    danke, dann ist wenigstens das klar. Nur komisch das die Macher der ctvdr Distri das so gemacht haben.


    Mit freundlichen Grüßen
    krokodile


  • Die Frage ist, ob es tatsächlich an SMP liegt. Evtl. liegt's auch am Highmem-Support. Glaube mich daran zu erinnern, daß es dazu schon mal eine Problemmeldung gab.


    Für mich kommen 3 Fehlerquellen in Frage:
    - 64 Bit Kernel
    - Highmem
    - SMP


    Es wäre interessant, wenn das mal jemand genau untersuchen würde. D.h. die Kernel müssen bis auf diese Optionen identisch sein. Die beiden jetzt verwendeten Kernel unterscheiden sich sicher in weit mehr Parametern, so daß man nicht sagen kann, woran es liegt.


    Highmem sollte man mit der grub/lilo-Bootoption "highmem=0" abschalten können, SMP mittels "nosmp". Also am besten den nicht funktionierenden Kernel mal mit diesen Optionen testen. Falls es dann geht, herausfinden, welche von beiden das Problem löst.


    Btw, in einem 2.6.18 existiert die Fehlermeldung - wie oben erwähnt - einfach nicht.


    Zitat


    > Ist es vielleicht eine 2.3-Karte? Die braucht 3,3V Versorgungsspannung vom
    > PCI-Bus. Erst ab PCI 2.2 ist man da auf der sicheren Seite.


    sollte ein neuer PC dieses nicht erfüllen? kann ich das irgendwie checken?


    Wenn die Karte mit einem Kernel geht und mit dem anderen nicht, kann es nicht and der Hardware liegen...


    CU
    Oliver

  • Hallo UFO,
    > Für mich kommen 3 Fehlerquellen in Frage:
    > - 64 Bit Kernel
    > - Highmem
    > - SMP


    Ich habe keinen 64 bit Kerrnel am laufen. Gibt es Die ctvdr 6.0 Distri überhaupt für 64 bit Rechner? hätte da schon Interesse dran.


    > Highmem sollte man mit der grub/lilo-Bootoption "highmem=0" abschalten
    > können, SMP mittels "nosmp". Also am besten den nicht funktionierenden
    > Kernel mal mit diesen Optionen testen. Falls es dann geht, herausfinden,
    > welche von beiden das Problem löst.


    Danke für den Tip, ich werde mich gleich ransetzen und das mal checken. Ich hätte mich jetzt hingesetzt und eine „kernel Installationsorgie“ veranstaltet sprich mit und ohne BigMem Support und..... Auf die Idee mit den Bootparametern zu arbeiten bin ich noch gar nicht gekommen (manchmal sieht man halt den Wald voller Bäume nicht :-(() Ich poste dann auf jeden Fall wie es gelaufen ist.


    > Btw, in einem 2.6.18 existiert die Fehlermeldung - wie oben erwähnt – einfach
    > nicht.


    Na ja, die bis jetzt von mie gecheckten Kernel sind aber beides 2.6.18'er. Sie unterscheiden sich im wesentlichen dadurch, das der eine BigMem und SMP unterstützt vas die Probs erzeugt und der andere halt nicht.


    Bye
    krokodile


  • Keine Ahnung. Du solltest erst mal dieses Problem lösen, bevor Du Dir neue einhandelst. :D


    Zitat


    > Btw, in einem 2.6.18 existiert die Fehlermeldung - wie oben erwähnt – einfach
    > nicht.


    Na ja, die bis jetzt von mie gecheckten Kernel sind aber beides 2.6.18'er. Sie unterscheiden sich im wesentlichen dadurch, das der eine BigMem und SMP unterstützt vas die Probs erzeugt und der andere halt nicht.


    Dann verwendet der fragliche Kernel zumindest neue Treiber. Der letzte 2.6.18 stammt vom Februrar 2007 (vgl. ftp://ftp.eu.kernel.org/pub/linux/kernel/v2.6/) und die Fehlermeldung kam in dieser Form erst im August in den Treiber (http://linuxtv.org/hg/v4l-dvb/rev/600876f4508f).


    CU
    Oliver

  • Hallo UFO,
    > Keine Ahnung. Du solltest erst mal dieses Problem lösen, bevor Du Dir neue
    > einhandelst.


    Nun ja, dann kann ich, so wie es aussieht damit anfangen :unsch . Also Deine Tipps waren zwar sehr naheliegend aber offensichtlich nicht die Ursache.


    Als die Versuche nichts brachten fiel mir ein, das mein Laptop die Möglichkeit bietet HT auszuschalten. So kam ich auf die Idee, in mein BIOS zu schauen um zu prüfen ob ich einen der beiden Prozis abschalten kann (geht natürlich nicht – aber trotzdem bitte nicht lachen). Dabei stolperte ich über folgenden Eintrag im BIOS: „Limit CPUID MaxVal“ Von der Erklärung verstand ich nur, das man diesen Punkt bei Verwendung von Win XP disablen soll – also, da ich kein XP habe, habe ich Ihn enabled.


    Jetzt kann ich Fernsehen bis zum abwinken. Ich kann hin und her zappen, zwischen meinen CI's wechseln oder öffentlich rechtliche einschalten alles im grünen Bereich. Zum testen habe ich mal so aus Quatsch über Nacht vier!!! Filme aufgenommen – KEIN EINZIGER ABSTURZ MEHR!!!


    Ohne Dich wäre ich nie auf die Idee gekommen ins BIOS zu schauen – also nochmals Danke.


    Die Erklärung für diese Option (aus dem Internet) finde ich aber ein wenig komisch weisst Du was genau sie bewirkt?:
    „Diese Option unterstützt Prescott CPUs bei Einsatz eines älteren Betriebssystems.
    Enabled: Aktivieren Sie diese Option wenn Sie mit einem älteren Betriebssystem arbeiten.
    Disabled: Deaktivieren Sie das CPUID Limit wenn Sie mit Windows XP arbeiten.“


    Also wenn der VDR bis Ende der Woche stabil läuft setze ich das Thema auf gelöst. Dann kann jeder mit ähnlichen Probs gleich sehen das es schon eine mögliche Lösung gibt.


    Bis dann
    krokodile


  • K.A. was die Einstellung bewirkt. Bist Du sicher, daß beide Cores genutzt werden?
    Kann man unter /proc/cpuinfo erkennen.


    Edit:
    Sieht so aus, als würde diese Option dem Betriebssystem eine ältere CPU vorgaukeln.


    CU
    Oliver

  • Ja, cat /proc/cpuinfo sagt:
    processor : 0
    vendor_id : GenuineIntel
    cpu family : 6
    model : 15
    model name : Intel(R) Core(TM)2 CPU 4300 @ 1.80GHz
    stepping : 2
    cpu MHz : 1200.000
    cache size : 2048 KB
    physical id : 0
    siblings : 2
    core id : 0
    cpu cores : 1
    fdiv_bug : no
    hlt_bug : no
    f00f_bug : no
    coma_bug : no
    fpu : yes
    fpu_exception : yes
    cpuid level : 2
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl est tm2 cx16 xtpr lahf_lm
    bogomips : 3602.09


    processor : 1
    vendor_id : GenuineIntel
    cpu family : 6
    model : 15
    model name : Intel(R) Core(TM)2 CPU 4300 @ 1.80GHz
    stepping : 2
    cpu MHz : 1200.000
    cache size : 2048 KB
    physical id : 0
    siblings : 2
    core id : 0
    cpu cores : 1
    fdiv_bug : no
    hlt_bug : no
    f00f_bug : no
    coma_bug : no
    fpu : yes
    fpu_exception : yes
    cpuid level : 2
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl est tm2 cx16 xtpr lahf_lm
    bogomips : 3599.87


    und free -m sagt:
    total used free shared buffers cached
    Mem: 2027 678 1348 0 55 297
    -/+ buffers/cache: 325 1701
    Swap: 509 0 509


    also ich würde sagen, alles so wie ich es haben wollte. Der Härtetest läuft aber noch mal abwarten. Erklären kann ich mir das aber auch nicht wirklich.


    bis dann
    krokodile

  • Zitat

    Original von UFO
    K.A. was die Einstellung bewirkt. Bist Du sicher, daß beide Cores genutzt werden?
    Kann man unter /proc/cpuinfo erkennen.


    Edit:
    Sieht so aus, als würde diese Option dem Betriebssystem eine ältere CPU vorgaukeln.


    So wie es aussieht, liefert cpuid mit eax=4 keine Werte mehr. Man kann dann die Zuordnung von Cores und Threads (HT) zur CPU nicht mehr ermitteln. Die Anzahl der CPU's steht dann nur noch in der SMP-Tabelle vom BIOS. Linux müßte dann was von 4 CPU's berichten.


    Gruß
    e9hack

  • Ja, das werde ich gerne tun aber die Ausgaben unterscheiden sich nicht, das habe ich schon ausprobiert. Diese Einstellung im BIOS scheint irgendwas zu bewirken was so nicht zu sehen ist.


    Schreib bitte wenn Du trotzdem nochmal die andere Ausgabe sehen möchtest dann will ich das gerne checken.


    mfg
    krokodile

  • Zitat

    Original von e9hack


    So wie es aussieht, liefert cpuid mit eax=4 keine Werte mehr. Man kann dann die Zuordnung von Cores und Threads (HT) zur CPU nicht mehr ermitteln. Die Anzahl der CPU's steht dann nur noch in der SMP-Tabelle vom BIOS. Linux müßte dann was von 4 CPU's berichten.


    Fragt sich, wie sich dies auf den Treiber auswirkt. Wenigstens haben wir jetzt mal einen Workaround für das Problem.


    Hm - möglicherweise ändert sich hierdurch die Interruptverteilung auf die CPUs?


    krokodile:
    Poste doch mal für beide Varianten /proc/interrupts


    CU
    Oliver

  • Offensichtlich bewirkt das Limit, daß alle Interrupts nun von CPU 0 behandelt werden.
    Evtl. hat der Bootparameter "noirqbalance" den gleichen Effekt?


    CU
    Oliver

  • :moin :moin,
    nachdem ich mich gestern Vormittag an meinen Computer setzte kam von meinem Frauchen ein sehr bedohliches „willst Du jetzt etwa den Rest vom Urlaub vor dieser sch... Kiste sitzen?“ und ihr Blick wäre auf jeden Fall tödlich gewesen wenn ich nicht schon abgehärtet wäre. Für den lieben Hausfrieden ließ ich mich nun zwei Tage durch die Gegend zerren. Naja, dafür gibt es in ganz Rostock kein Geschäft oder Kaufhaus mehr in dem ich noch nicht war.


    So, nun zum wirklich wichtigen im Leben!!!
    nach dem disablen im BIOS und der Bootoption „noirqbalance“ sagt cat /proc/cpuinfo


    processor : 0
    vendor_id : GenuineIntel
    cpu family : 6
    model : 15
    model name : Intel(R) Core(TM)2 CPU 4300 @ 1.80GHz
    stepping : 2
    cpu MHz : 1200.000
    cache size : 2048 KB
    physical id : 0
    siblings : 2
    core id : 0
    cpu cores : 2
    fdiv_bug : no
    hlt_bug : no
    f00f_bug : no
    coma_bug : no
    fpu : yes
    fpu_exception : yes
    cpuid level : 10
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl est tm2 cx16 xtpr lahf_lm
    bogomips : 3602.10


    processor : 1
    vendor_id : GenuineIntel
    cpu family : 6
    model : 15
    model name : Intel(R) Core(TM)2 CPU 4300 @ 1.80GHz
    stepping : 2
    cpu MHz : 1200.000
    cache size : 2048 KB
    physical id : 0
    siblings : 2
    core id : 1
    cpu cores : 2
    fdiv_bug : no
    hlt_bug : no
    f00f_bug : no
    coma_bug : no
    fpu : yes
    fpu_exception : yes
    cpuid level : 10
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl est tm2 cx16 xtpr lahf_lm
    bogomips : 3599.88


    und cat /proc/interrupts sagt:
    CPU0 CPU1
    0: 209310 0 IO-APIC-edge timer
    1: 1570 0 IO-APIC-edge i8042
    7: 2 0 IO-APIC-edge parport0
    8: 0 0 IO-APIC-edge rtc
    9: 0 0 IO-APIC-level acpi
    14: 33245 0 IO-APIC-edge ide0
    15: 9437 0 IO-APIC-edge ide1
    50: 514978 0 IO-APIC-level saa7146 (0)
    58: 2376 0 IO-APIC-level HDA Intel
    66: 56732 0 IO-APIC-level nvidia
    209: 6 0 IO-APIC-level uhci_hcd:usb1
    217: 32 0 IO-APIC-level uhci_hcd:usb2
    225: 121142 0 IO-APIC-level uhci_hcd:usb3, ehci_hcd:usb5
    233: 2042 0 IO-APIC-level uhci_hcd:usb4, eth0
    NMI: 0 0
    LOC: 208727 208726
    ERR: 0
    MIS: 0


    für mich sieht das jetzt so aus als würde CPU1 nur noch rumgammeln oder? Übrigens, deutet nicht schon die erste Zeile der von mir am Anfang geposteten Fehlermeldung auf ein Prob mit den IRQ's hin?


    Mit freundlichen Grüßen
    krokodile


    PS. Jetzt wo mein Frauchen will das ich ihr etwas aus den Internet raussuche wurde meine sch... Kiste wieder zum Computer befördert.

  • Zitat

    Original von krokodile
    für mich sieht das jetzt so aus als würde CPU1 nur noch rumgammeln oder?


    Jedenfalls werden alle Interrupts nun nur noch von CPU0 bearbeitet. War bei der CPU-ID-Limit-Einstellung im BIOS aber auch der Fall, oder?


    CPU1 sollte jedoch Anwendungen nach wie vor zur Verfügung stehen. (Müßtest Du mal testen.)


    Zitat


    Übrigens, deutet nicht schon die erste Zeile der von mir am Anfang geposteten Fehlermeldung auf ein Prob mit den IRQ's hin?


    Sagt nur, daß der Treiber innerhalb der erwarteten Zeit keinen I2C-Interrupt bekommen hat. Warum auch immer. :(


    CU
    Oliver

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!