switch -s auf Sagem-Box

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

switch -s auf Sagem-Box

Beitrag von rhabarber1848 »

Hi,

ich probiere gerade ein wenig mit dem Standby-Status herum.
Ziel ist es, ein Skript per Timer zu starten, was nur dann ausgeführt wird,
wenn meine Sagem-Dbox im Standby (nicht deep-standby) ist.

In Y-Web ist eine Standby-Status-Abfrage integriert, die so aussieht:

Code: Alles auswählen

	standby_status)
		status=`switch -s|grep "FNC: 0"`
		if [ "$status" = "" ]
		then
			echo "off"
		else
			echo "on"
		fi
		;;
Wenn ich diesen Code per Telnet auf meiner Sagem-Box ausführe, kommt folgende Ausgabe:

Box ist im TV-Betrieb:

Code: Alles auswählen

/var # switch -s | grep "FNC: 0"
AVSIOGYCM:: Invalid argument
/var # echo $?
1
/var #
Box ist im Standby:

Code: Alles auswählen

/var # switch -s | grep "FNC: 0"
AVSIOGYCM:: Invalid argument
FNC: 0
/var # echo $?
0
Mir geht es hier um die nach stderr ausgegebene Fehlermeldung
"AVSIOGYCM:: Invalid argument", welche die hier genutzte Funktion
zum Glück nicht beeinträchtigt, also ein kosmetisches Problem.

Ich vermute die Ursache in avswitch.cpp, wo AVSIOGYCM nur für Nokia-Boxen definiert ist:

Code: Alles auswählen

  if (parameter::nokia()) {
    parameter ycm("ycm", 0, 1, AVSIOGYCM, "AVSIOGYCM", AVSIOSYCM, "AVSIOSYCM");
    parameter zcd("zcd", 0, 1, AVSIOGZCD, "AVSIOGZCD", AVSIOSZCD, "AVSIOSZCD");
  }
Mehr kann ich leider zur Fehlersuche nicht beitragen.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: switch -s auf Sagem-Box

Beitrag von seife »

"2>/dev/null" löst dein Problem.
SnowHead
Einsteiger
Einsteiger
Beiträge: 105
Registriert: Sonntag 6. Juni 2004, 16:04

Re: switch -s auf Sagem-Box

Beitrag von SnowHead »

... oder verwende

Code: Alles auswählen

status=`saa -o | grep "ON"`
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Re: switch -s auf Sagem-Box

Beitrag von Barf »

Der Grund ist dass der AV-Switch und zugehörige Treiber in dem Sagem (sowie Philips) einige ioctls, z.B. AVSIOGYCM nicht implementiert. Der Author von switch hat dies ignoriert, der Author von avswitch hat hier bessere Arbeit geleistet ( :wink: ).

Seit neulich wird avswitch mit standardbuild installiert. Du kannst z.B.

Code: Alles auswählen

avswitch fnc
benutzen.