[Info] Update-Check über den neuen AVM-Service

Bei mir findet das Script seit einiger Zeit (~ seitdem 07.51 rauskam) keine Updates mehr. Was mache ich falsch?

Scriptadresse: https://raw.githubusercontent.com/PeterPawn/YourFritz/master/juis/juis_check
Aufruf: ./juis_check fritz.box Public=0
Ausgabe: juis_check: Es wurde keine neue Version gefunden, die Prüfung erfolgte ausgehend von der Version '259.07.69-107393'.

Die Excel-Variante (JUIS.xlsm) findet hingegen zum Beispiel build 107562.
 

Anhänge

  • juis_check--debug.txt
    7 KB · Aufrufe: 40
Versuch es mit 7.39 (egal welche Build), dann gehts, mit 7.69 finde ich auch nichts.
Beschwerden am Salzamt oder bei AVM, sie wollen halt nicht, daß du mit Juis was findest.
 
Mit 07.39 funktioniert es, ja.
Die Logik verstehe ich aber nicht, das ist ja auch eine juis-Abfrage?
Und warum finden das Excel- bzw. Windows-Tool auch mit aktueller Version was?
 
Andere (möglicherweise versteckte nicht einstellbare) Parameter vermutlich.
 
War schon immer so, dass man die Basis-Nummer des jeweiligen Zweigs kennen. Alle anderen führen nicht zu einem entsprechenden Ergebnis. Da muss irgendwas verstecktes vorliegen.
 
Nicht nur die Basis-Nr. des Zweigs, auch den Typ (Release, Beta / Labor, Inhouse).
 
7.69 ist doch eine "neue" Basis, dennoch findet man ausgehend von den letzten beiden Inhäusern keine aktuelle (ich zumindest nicht).
Sobald ich aber 7.39 Inhaus eingebe mit beliebiger Build bekomme ich ein Ergebnis.

Etwas undurchsichtig ist das schon, zumal es das Excel (von mir ungeprüft) schon findet.

[EDIT Ergänzung/Korrektur:]
So, habe es auch mit dem Excel geprüft und auch da findet er mir nur mit 7.39 was, weder mit 7.51 noch mit 7.69.
Also: KEIN Fehler von Juis.exe wie es eigentlich auch zu erwarten war!
 
Zuletzt bearbeitet:
Bei mir geht es... (mit den Daten, die von der Box ausgelesen werden)
 

Anhänge

  • 20230823_072430_EXCEL.png
    20230823_072430_EXCEL.png
    136.2 KB · Aufrufe: 94
Kann ich nicht ohne Seriennr. und ggf. auch nötigen Flags.
 
Public=0 wurde schon vor langer Zeit durch präzisere Möglichkeiten ersetzt: https://www.ip-phone-forum.de/threads/update-check-über-den-neuen-avm-service.287657/post-2412339 - nachdem es mehr und mehr unterschiedliche Werte bei AVM zu sehen gab.

Ansonsten ist es halt immer noch so, daß die Parameter bei der Abfrage stimmen müssen, denn das Script macht nichts anderes, als mit ebendiesen Parametern (die man sich ja auch noch ausführlich anzeigen lassen kann, so daß auch automatisch erzeugte Werte kein Geheimnis sind) den JUIS von AVM zu befragen.

Wenn also das Excel-Sheet oder das C#-Programm zu anderen Ergebnissen kommen, dann werden sie wohl andere Parameter verwenden - das sollte sich durch Vergleiche ja leicht klären lassen.
 
Was mir auf die schnelle aufgefallen ist, ist, dass das Script von @PeterPawn <q:Provider>oma_lan</q:Provider> setzt und das von @Chatty <q:Provider>avm</q:Provider>, beides hardcoded.
 

Anhänge

  • 20230823_131339_notepad++.png
    20230823_131339_notepad++.png
    14.8 KB · Aufrufe: 57
  • 20230823_131319_EXCEL.png
    20230823_131319_EXCEL.png
    12.4 KB · Aufrufe: 57
Hallo zusammen,

Frage an die BASH Script Experten.

Seit das Fritz!OS auf 08.xx angehoben wurde, gibt es mit dem von mir genutzten BASH-Skript Probleme.

Bei der Abfrage wird die OS-Version der Box übergeben

Bespiel:

Serial=000000000000
Version=259.07.39-1
Name="FRITZ\\!Box\\"
HW=259
OEM=avm
Lang=de
Annex=egal
Country=049
Public=0

Setzt man die Version bspw. auf Version=259.08.00-1
bekommt man eine Fehlermeldung wie:

arithmetic expression: expecting EOF: " 08 "
- oder -
08: value too great for base (error token is "08")


Was ich herausgefunden habe, ist dass nur Werte von 0-7 erlaubt sind und Werte wie 08 falsch interpretiert werden.
Link: https://stackoverflow.com/questions/24777597/value-too-great-for-base-error-token-is-08
 
Zuletzt bearbeitet:
  • Like
Reaktionen: bino
Hi Peter,

das wäre prima.
Besten Dank!

Auch an dieser Stelle tritt das Problem auf:

Ausschnitt aus dem Code:
Code:
    if [ $name = Version ]; then
        Major="${Version%%.*}"
        Minor="${Version#*.}"
        Patch="${Minor#*.}"
        Build="${Patch#*-}"
        Patch="${Patch%%-*}"
        Minor=$(( ${Minor%%.*} ))
    fi
 
Zuletzt bearbeitet:

Eigentlich sollte das bereits gelöst sein, siehe vorstehender Link.

Bist Du auch wirklich sicher, daß Du die aktuelle Version verwendest? https://raw.githubusercontent.com/PeterPawn/YourFritz/master/juis/juis_check

Ich finde die gezeigte Stelle gar nicht in der aktuellen Version.
 
Ich finde die gezeigte Stelle gar nicht in der aktuellen Version.

Da hast Du Recht.
Der Bereich stammt aus einer Erweiterung für Dect (Fritz!Fon) Abfrage die mal jemand anders geschrieben hat.

0) Aufruf
Code:
./juis_check_dectscript 08.01 04.24 2 prov_acs fritz.box Serial=000000000000 Version=259.08.00-1 Name=FRITZ\!Box7590AX HW=259 OEM=avm Lang=de Annex=B Country=049 Public=0

juis check:
1) Erweiterung von constants

Code:
#body_tmpl="<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:soap-enc=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:e=\"http://juis.avm.de/updateinfo\" xmlns:q=\"http://juis.avm.de/request\"><soap:Header/><soap:Body><e:BoxFirmwareUpdateCheck><e:RequestHeader><q:Nonce>%s</q:Nonce><q:UserAgent>Box</q:UserAgent><q:ManualRequest>true</q:ManualRequest></e:RequestHeader><e:BoxInfo><q:Name>%s</q:Name><q:HW>%s</q:HW><q:Major>%s</q:Major><q:Minor>%s</q:Minor><q:patch>%s</q:patch><q:Buildnumber>%s</q:Buildnumber><q:Buildtype>%s</q:Buildtype><q:Serial>%s</q:Serial><q:OEM>%s</q:OEM><q:Lang>%s</q:Lang><q:Country>%s</q:Country><q:Annex>%s</q:Annex><q:Flag></q:Flag><q:UpdateConfig>1</q:UpdateConfig><q:provider>oma_lan</q:provider></e:BoxInfo></e:BoxFirmwareUpdateCheck></soap:Body></soap:Envelope>"

body_tmpl="<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:soap-enc=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:e=\"http://juis.avm.de/updateinfo\" xmlns:q=\"http://juis.avm.de/request\"><soap:Header/><soap:Body><e:DeviceFirmwareUpdateCheck><e:RequestHeader><q:Nonce>%s</q:Nonce><q:UserAgent>TestClient</q:UserAgent><q:ManualRequest>true</q:ManualRequest></e:RequestHeader><e:BoxInfo><q:Name>%s</q:Name><q:HW>%s</q:HW><q:Major>%s</q:Major><q:Minor>%s</q:Minor><q:patch>%s</q:patch><q:Buildnumber>%s</q:Buildnumber><q:Buildtype>%s</q:Buildtype><q:Serial>%s</q:Serial><q:OEM>%s</q:OEM><q:Lang>%s</q:Lang><q:Country>%s</q:Country><q:Annex>%s</q:Annex><q:Flag>%s</q:Flag><q:UpdateConfig>1</q:UpdateConfig><q:provider>oma_lan</q:provider></e:BoxInfo><e:DeviceInfo><q:Type>%s</q:Type><q:MHW>%s</q:MHW><q:Version>%s</q:Version><q:Serial>%s</q:Serial><q:Lang>%s</q:Lang></e:DeviceInfo></e:DeviceFirmwareUpdateCheck></soap:Body></soap:Envelope>"

2) Bereich DECT
Code:
#######################################################################################################
#                                                                                                     #
# DECT-Device Parameter, Teil 1                                                                       #
#                                                                                                     #
#######################################################################################################
##
## Variablen fuer Device, Teil 1. Siehe ab Zeile 349 fuer Teil 2.
##
#MHW=${MHW:="08.01"}
MHW="$1"
shift
#MFW=${MFW:="03.92"}
MFW="$1"
shift
Mtype="$1"
shift
flag="$1"
shift
##
if [ -z "$MHW" ]
    then echo Variable MHW fehlt, Script wird beendet.
    exit 2
fi
if [ -z "$MFW" ]
    then echo Variable MFW fehlt, Script wird beendet.
    exit 2
fi
Mtype=${Mtype:=2}
flag=${flag:=prov_acs}

3) Dect Teil2
Code:
#######################################################################################################
#                                                                                                     #
# DECT-Device Parameter, Teil 2                                                                       #
#                                                                                                     #
#######################################################################################################
##
## Variablen fuer Device, Teil 2. Siehe ab Zeile 196 fuer Teil 1.
##
MSerial=${MSerial:=$Serial}
MLang=${MLang:=$Lang}

-- Zusammenführung Doppelpost gemäß Boardregeln by stoney


Eigentlich sollte das bereits gelöst sein, siehe vorstehender Link.

Bist Du auch wirklich sicher, daß Du die aktuelle Version verwendest? https://raw.githubusercontent.com/PeterPawn/YourFritz/master/juis/juis_check

Die aktuelle Version bekomme ich nicht zum laufen.
Ich habe sie mal bei der 7590_AX ausprobiert

Code:
: not found50: {
./7590_AX: 568: Syntax error: word unexpected (expecting "do")
: not found50: {
./7590_AX: 568: Syntax error: word unexpected (expecting "do")
 
Zuletzt bearbeitet von einem Moderator:
Wie wäre es [CODE] TAGS [/CODE] zu verwenden?

PS: Doppelposts sind nach wie vor unerwünscht.
 
@ Stoney

Danke für Deinen Hinweis. :)
Habe es angepasst.
 
Was steht denn bei Dir in den (Shell-Environment-)Variablen LANG und LC_ALL? Das Skript unterstützt nur die Angabe von Deutsch oder Englisch: https://github.com/PeterPawn/YourFr...a51c28b8081bd24beeb91c43/juis/juis_check#L406 und an der Stelle wird nach der zu verwendenden Sprache gesucht.

Umgehen läßt sich das vermutlich, indem man dem Aufruf ein LC_ALL=de_DE.UTF-8 voranstellt (für Deutsch). Wobei ich den Inhalt der Variablen dennoch wissen will, denn eigentlich sollte da alles abgefangen werden und gar kein Fehler möglich sein - bei Fehlern sollte Englisch genutzt werden.



Aber ich habe auch mit Achten in den Nummern kein Problem bei mir - das wäre also "nicht mein Tisch".

Daß und warum genau es Probleme gibt, wenn die Versionsnummer in irgendeinem Teil mit 08 (oder auch 09) beginnt, habe ich unter dem in #296 genannten Link schon erklärt - in meinem Skript ist das (for all what I know and not only "as far") gelöst.

EDIT: Überhaupt erscheint mir auch schon die Zeile mit : not found50: { sehr suspekt - vielleicht stimmt auch der heruntergeladene Text in der Datei nicht (ich hatte ja meinerseits direkt den "raw link" angegeben) oder die verwendete Shell hat eine merkwürdige Vorstellung von POSIX-Syntax. Da dürfte jedenfalls irgendwo BEI DIR ein Problem vorliegen, was bei anderen so nicht auftritt.
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.