Dear visitor, welcome to VDR Portal. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.
|
|
Source code |
1 2 3 4 5 |
ngene: Command timeout cmd=04 prev=04 Dec 23 20:22:38 htpc kernel: [28708.088044] host_to_ngene (c000): 0d d3 f6 e9 8f 7b d3 7b Dec 23 20:22:38 htpc kernel: [28708.088047] ngene_to_host (c100): 01 fc 7e e7 f7 93 2d 2b Dec 23 20:22:38 htpc kernel: [28708.088050] dev->hosttongene (ffff880084cfc000): 04 04 d0 f1 2b fb 00 01 Dec 23 20:22:38 htpc kernel: [28708.088052] dev->ngenetohost (ffff880084cfc100): 00 00 00 00 00 00 00 00 |
Gibt es eine Möglichkeit auf die Einträge im Syslog zu reagieren?

Was soll ich machen? Am Treiber kann ich nichts ändern und unproblematischere (Budget DVBS2-) TV Karten scheint es ja auch eher nicht zu geben. Bin ja schon froh, dass sie ansonsten zuverlässig funktioniert...Kommentare dazu kaputte Hardware/Treiber zu nutzen spare ich mir jetzt
Was soll ich machen? Am Treiber kann ich nichts ändern und unproblematischere (Budget DVBS2-) TV Karten scheint es ja auch eher nicht zu geben. Bin ja schon froh, dass sie ansonsten zuverlässig funktioniert...


Gute Idee. Werd ich mir auch mal anschauen. Ist aber nicht ganz so wichtig, der Fehler tritt ja immer nur direkt nach dem Boot bzw. nach dem Aufwachen aus dem Standby auf. Da ist ein VDR-Neustart schon ok.BTW: Das Dynamite Plugin bietet die Möglichkeit dem VDR zur Laufzeit ein DVB Device zu entziehen und (nach dem Treiberneustart) wieder anzubinden, damit könntest du dir den VDR Neustart sparen.
Stimmt schon. Ich benutze momentan die dkms-Version von yavdr die im Gegensatz zum Standard-Kerneltreiber (der auch das "command timeout" Problem hat) immerhin eine korrekte femon-Signalanzeige bietet.War auch nicht unbedingt ein Vorwurf an dich (bei DVB und Linux ist aktuell alles ziemlich müllig), nur ist sowas generell Bastelei und eigentlich nix womit man auf Dauer glücklich ist. Und ich fühlte mich gezungen das mal zu erwähnen
Keine Ahnung wo der Treiber für deine Karte herkommt (diese Situation ist auch aktuell ziemlich blöd bei Linux, wo es die Treiber gibt wissen nur Insider), aber es könnte mal lohnen neuere/ältere Versionen zu probieren oder zu schauen obs irgendwo nen Patch (es gibt viele Patches für Problemlösungen die es aus irgendwelchen Gründen nie bis in den Upstream schaffen) für dein Problem gibt.
cu
So, mit rsyslog ein Script ausführen ist ja tatsächlich kein Problem. Leider wird das Script natürlich als syslog-User ausgeführt unter dem ich natürlich nichts darf.
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
// übersetzen mit
// gcc -o reload-stub reload-stub.c
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
#include <grp.h>
#include <pwd.h>
#include <errno.h>
typedef enum {false,true} bool;
int main()
{
int ret;
// "ls -l /" ist der Shellbefehl, es geht auch "ls -l /; rm /test.txt"
ret=system("ls -l /");
return ret;
}
|
This post has been edited 1 times, last edit by "Keine_Ahnung" (Dec 23rd 2011, 11:28pm)
|
|
Source code |
1 |
mkfifo /var/log/kern.fifo |
|
|
Source code |
1 |
kern.* |/var/log/kern.fifo |
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
#!/usr/bin/perl
# the buffer
our $buffer = "/var/log/kern.fifo";
# global variables/objects
our $abort = 0;
# run main
Main();
######################################################
# we care signals
sub SignalCatcher
{
$abort = 1;
}
#######################################################
# Parse FIFO
sub ParseStdin
{
open (BUFFER, $buffer);
while (<BUFFER>)
{
print $_;
if ($abort==1) {last;}
...
}
close(BUFFER);
}
#######################################################
# Main Sub
sub Main
{
$SIG{TERM} = \&SignalCatcher;
...
ParseStdin();
...
}
|
Spricht eigentlich was gegen ein tail -f auf Syslog?
rsyslog verarbeit und Matcht eh jede Syslog Nachricht, da bietet es sich an das rsyslog in bestimmten Fällen gleich die passenden Programme startet. Ein ständiges Pollen per "tail -f" ist da rein technsich sehr blödsinnig.