Hi,
ich bastel gerade an einem Shellscript welches die Daten von Satfind
formatiert in eine Logdatei ausgibt (mit min/max-Werten usw.)
Dazu ist es nötig dass ich jeweils pro Sender satfind starte und nach
kurzer Zeit wieder beenden muss. Das Problem ist dass man offenbar
satfind nicht kontrolliert beenden kann. Denn egal ob via SIG 2, 9 oder 15
der Prozess terminiert wird, es erscheint sehr oft folgende Ausgabe im Log:
DVB: VES1820(0): ves1820_readreg: readreg error (ret == -121)
DVB: VES1820(0): ves1820_readreg: readreg error (ret == -121)
PCR discontinuity: PCR: 0x0864FA1CF, OLDPCR: 0x0864EE97D, Diff: 47186
Wenn satfind beim Terminieren des Prozesses gerade die Register
ausliest, kommt es zu obiger Fehlermeldung...
wäre ja an sich nicht weiter schlimm...nur wirken sich diese Fehler
sehr negativ auf die Stabilität der Box aus und irgendwann geht nix mehr
(I2C Bus blockiert). Das Ganze tritt unabhängig von Box und Image
auf, die Hardware ist also definitiv OK.
Einige ältere satfind-Binaries aus älteren Images habe ich auch schon
probiert, gleicher Effekt.
Kennt jemand eine Möglichkeit satfind sauber und ohne anschliessende
Fehlermeldungen zu beenden?
Wenn nicht könnte man ja vielleicht folgendes in den satfind-Source einbauen:
satfind legt beim Start eine Datei an, zB /tmp/.satfind
Solange diese Datei vorhanden ist läuft der satfind-Prozess.
Wird diese Datei gelöscht dann beendet sich satfind.
Ich kanns mangels Kenntnissen leider nicht selber einbauen/kompilieren...
Gruss
-tcf4004
satfind kontrolliert beenden - wie?
-
- Interessierter
- Beiträge: 75
- Registriert: Dienstag 23. März 2004, 10:58
-
- Oberlamer, Administrator & Supernanny
- Beiträge: 10532
- Registriert: Samstag 13. Juli 2002, 10:49
Code: Alles auswählen
/ # dvbsnoop --help
dvbsnoop - a dvb/mpeg2 stream analyzer tool
Version: 1.3.84/api-3 (Jan 18 2005 21:08:39)
http://dvbsnoop.sourceforge.net/
(c) 2001-2005 Rainer Scherg (rasc)
Usage: dvbsnoop [opts] pid
Options:
-demux device: demux device [/dev/dvb/adapter0/demux0]
-dvr device: dvr device [/dev/dvb/adapter0/dvr0]
-frontend device: frontend device [/dev/dvb/adapter0/frontend0]
-s type: snoop type or mode <type> [-s sec]
stream type: sec, pes or ts
or special scan type:
pidscan = transponder pid scan,
bandwidth = data rate statistics for pid
signal = signal rate statistics
feinfo = frontend information
stream type or pidscan
-timeout ms: section read timeout in ms [-TIMEOUT 0]
-maxdmx n: max demux filters <n> to use in pidscan mode (0=max) [-maxdmx 0]
-buffersize kb: read buffersize in KBytes [-buffersize 0]
(0 = use default read buffer size)
-f filter: filtervalue for 'sec' demux [-f 0]
-m mask: maskvalue for 'sec' demux [-m 0]
-crc: CRC check when reading 'sec' [-nocrc]
-nocrc: no CRC check when reading 'sec' [-nocrc]
-sync: simple packet header sync when reading 'ts' or 'pes' [-snyc]
-nosync: no header sync when reading 'ts' or 'pes' [-snyc]
-n count: receive/read max. <count> packets (0=no limit) [-n 0]
-spiderpid: snoop referenced section pids (sets -n 1)
-tssubdecode: sub-decode sections or pes from ts stream decoding
-tsraw: read raw/full TS in TS snoop mode
-b: binary output of packets (disables other output)
-if file: input file, reads from binary <file> instead of demux device
<file>="-" = /dev/stdin
-ph mode: data hex dump mode, modes: [-ph 4]
0=none, 1=hexdump, 2=hex line 3=ascii line 4=hexdump2
-nph: don't print hex dump of buffer [= -nohexdumpbuffer -ph 0]
-hexdumpbuffer: print hex dump of read buffer [-hexdumpbuffer]
-nohexdumpbuffer: don't print hex dump of read buffer [-hexdumpbuffer]
-pd verbose: print stream decode (verbose level 0..9) [-pd 7]
-npd: don't print decoded stream (= -pd 0)
-t[n|d|f]: print timestamp (no, delta, full) [-tf]
-privateprovider id: set provider <id> string for decoding private tables and descriptors
-hideproginfo: hide copyright and program info header at program start
-help: this usage info...
Known private providers for private sections and descriptors:
premiere.de
BTW: <Ctrl>+<c> ist SIGQUIT (3)
-
- Senior Member
- Beiträge: 5071
- Registriert: Dienstag 18. September 2001, 00:00
Im Klartext:
dvbsnoop -s signal -n 100 -pd 9 > logfile
mit der option -pd [0..9] kann man die geschwaetzigkeit variieren....
oder scriptmaessig ausgedrueckt:
while true; do
dvbsnoop -s signal -n 50 >> logfile
szap blubber-next-chanel
Das nette daran ist, man koennte das Ganze dann noch einem einfachen Perl-/Shellscript und mit MRTG super graphisch aufbereiten lassen..
Nettes Beispiel: http://www.ce.unipr.it/~petrolin/livestreamer/
(ist zwar Italienisch, und auch noch Bandbreitenmessung, aber zeigt, was man mit wenig Aufwand machen kann - ist mit einer dvb-Karte gemacht)
dvbsnoop -s signal -n 100 -pd 9 > logfile
mit der option -pd [0..9] kann man die geschwaetzigkeit variieren....
oder scriptmaessig ausgedrueckt:
while true; do
dvbsnoop -s signal -n 50 >> logfile
szap blubber-next-chanel
Das nette daran ist, man koennte das Ganze dann noch einem einfachen Perl-/Shellscript und mit MRTG super graphisch aufbereiten lassen..
Nettes Beispiel: http://www.ce.unipr.it/~petrolin/livestreamer/
(ist zwar Italienisch, und auch noch Bandbreitenmessung, aber zeigt, was man mit wenig Aufwand machen kann - ist mit einer dvb-Karte gemacht)
-
- Interessierter
- Beiträge: 75
- Registriert: Dienstag 23. März 2004, 10:58
-
- Oberlamer, Administrator & Supernanny
- Beiträge: 10532
- Registriert: Samstag 13. Juli 2002, 10:49