Benachrichtigungen
Alles löschen

[Gelöst] debug console, self-test mode

23 Beiträge
4 Benutzer
1 Likes
2,680 Ansichten
(@laubi)
Beiträge: 30
Eminent Member
Themenstarter
 

Hallo Zusammen,

ich bin auf der suche wie man den in der Firmware verbauten "self-test-Mode" aktivieren kann? Ist da von Euch schon Schlauer?

 

Außerdem, gibt es Irgendeine Doku was man in der Console im Debug-Mode tun kann?

 

Vielen lieben Dank und Grüße

Laubi

 
Veröffentlicht : 18/01/2021 9:52 pm
Schlagwörter für Thema
(@michael)
Beiträge: 85
Trusted Member
 

Hallo  Laubi

Schau dir mal das hier an, denke das ist das was Du möchtest

https://www.freeathome-forum.de/community/neue-funktionen-updates/ab-sysap-firmware-2-5-1-kein-debug-mode-mehr/#post-4379

 
Veröffentlicht : 19/01/2021 6:12 pm
(@laubi)
Beiträge: 30
Eminent Member
Themenstarter
 

Hallo Michael,

einer von uns beiden versteht den anderen nicht ?

-> Den Debug-Modus finde ich, da interessiert mich ob ich mit der Console die mir nach dem Logout angeboten wird etwas Sinnvolles anfangen kann (insbesondere ob und dann wie ich ggf. ein System-Call an das unter liegenden Linux senden könnte :D)

Unabhängig vom Debug-Modus gibt es aber in der Firmware auch einen Selbst-Test-Mode. Das Interessante daran: Der aktiviert einen Telnet, was mutmaßlich wiederrum ein Login mit dem Passwortlosen root erlauben dürfte. 

In einem Holländischen Forum sprach mal jemand ganz kurz davon das das über Tastendrücke aktivierbar sei. 

Danke & Grüße

Laubi

 
Veröffentlicht : 19/01/2021 9:12 pm
(@laubi)
Beiträge: 30
Eminent Member
Themenstarter
 
Veröffentlicht von: @laubi

In einem Holländischen Forum sprach mal jemand ganz kurz davon das das über Tastendrücke aktivierbar sei. 

Da das Offensichtlich Moderationspflichtig ist und ich mir nicht sicher bin, ob es zulässig ist auf fremde Foren zu verlinkend, hier der Hinweise welcher Beitrag gemeint ist,

Holländischen Forum

 
Veröffentlicht : 19/01/2021 9:14 pm
(@michael)
Beiträge: 85
Trusted Member
 

Hi,

ok dann habe ich das falsch verstanden gehabt, tut mir leid. Aber da kann ich dir leider nicht helfen.

 
Veröffentlicht : 22/01/2021 7:26 pm
(@abraxa)
Beiträge: 81
Estimable Member
 

Hab' mal ein bisschen gegraben. Der Selbsttestmodus ist auch auf aktuellen firmware-images vorhanden.

/usr/sbin/sysap-start.sh startet ihn, wenn die Bedingung dafür erfüllt ist:

elif /sbin/check-key.sh selftest ; then
        selftest=true
        sysap-selftest.sh
fi

/usr/sbin/sysap-selftest.sh macht dann so nette Dinge wie bspw. telnet starten, mittels dem man auf den SysAP zugreifen könnte.

 

Ist also die Frage, was check-key.sh macht:

case $1 in
reset)
        echo 93 >/sys/class/gpio/export
        value=$(</sys/class/gpio/gpio93/value)
        if [ "$value" == "0" ] ; then
                exit 0
        fi
        ;;

selftest)
        if [ -f /static/locked ]; then
                exit 1
        fi
        echo 203 >/sys/class/gpio/export
        value=$(</sys/class/gpio/gpio203/value)
        if [ "$value" == "0" ] ; then
                exit 0
        fi
        ;;
esac

Wie man an /usr/local/selftest/test_lock.sh sehen kann, ist /static/locked einfach ein mutex, damit das Skript nicht doppelt ausgeführt wird. Dürfte also wohl nicht gesetzt sein.

Somit wird der Selbsttest dann aktiv, wenn GPIO 203 beim Systemstart aktiv ist. Bleibt die Frage, was an GPIO 203 hängt.

 

Schaut man in /etc/hardware-detect.sh, so sieht man, daß zwei Hardwarevarianten unterschieden werden:

if [ "$MRHA_CPU" = "armv7l" ] ; then
        if grep -q mmcblk1 /proc/cmdline ; then
                export MRHA_MMCEXT="/dev/mmcblk1"
        else
                export MRHA_MMCEXT="/dev/mmcblk0"
        fi
        export MRHA_MMCINT="/dev/mmcblk2"
        export MRHA_RED=120
        export MRHA_GREEN=100
        export MRHA_BLUE=200
        export MRHA_WHITE=100
        export MRHA_RED_ORANGE=200
        export MRHA_GREEN_ORANGE=31
        export MRHA_BLUE_ORANGE=0
        export MRHA_KEY1=gpio203
        export MRHA_KEY2=gpio93
        export MRHA_KEY3=gpio203
        export MRHA_WLAN_IF=mlan0
else
        export MRHA_MMCEXT="/dev/mmcblk1"
        export MRHA_MMCINT="/dev/mmcblk0"
        export MRHA_RED=255
        export MRHA_GREEN=255
        export MRHA_BLUE=255
        export MRHA_WHITE=255
        export MRHA_RED_ORANGE=255
        export MRHA_GREEN_ORANGE=255
        export MRHA_BLUE_ORANGE=0
        export MRHA_KEY1=gpio27
        export MRHA_KEY2=gpio26
        export MRHA_KEY3=gpio24
        export MRHA_WLAN_IF=wlan0
fi

Man erkennt, daß die erste Variante zwei Tasten hat (GPIOs 203 und 93), während die zweite Variante drei Tasten hat (GPIOs 27, 26 und 24). Wie wir in check-key.sh gesehen haben, werden beim SysAP 2.0 auch genau diese beiden abgefragt.

 

Was folgern wir daraus?

Da nur zwei Tasten abgefragt werden und am Gehäuse genau zwei Tasten herausgeführt sind, liegt nahe, daß man beim Starten des SysAP die grosse Taste auf der Gehäuseoberseite gedrückt halten muß, um den Selbsttestmodus zu aktivieren. Leider habe ich es noch nicht hinbekommen.

 

Klappt es, würde der SysAP

1) telnetd starten

2) sshd starten

3) aufgrund von "ifconfig eth0 192.168.10.99" nur unter dieser Adresse über LAN erreichbar sein

4) aufgrund von "ifconfig $MRHA_WLAN_IF 192.168.20.99" nur unter dieser Adresse über WLAN erreichbar sein (SSID: FREEATHOME)

5) die LED am Gehäuse dauerhaft rot leuchten lassen

 

Fazit: entweder ist meine Annahme falsch und /static/locked ist vorhanden und unterbindet den Selbsttestmodus (was wir nicht prüfen können, da wir nicht auf das System kommen) oder ich habe etwas übersehen. Wäre cool, wenn das jemand bei sich ebenfalls ausprobieren würde.

Diese r Beitrag wurde geändert Vor 3 Jahren von Abraxa
 
Veröffentlicht : 08/06/2021 10:13 pm




(@laubi)
Beiträge: 30
Eminent Member
Themenstarter
 

@abraxa: Also bei meinen alten komme ich da aktuell auch nicht mit den Tasten weiter :-/

Echt komisch .... Hab auch schon mit ein Werksreset versucht einen anderen Zustand zu erreichen. Aber Irgendwie keine Taste und keine Kombination der drei Tasten funktioniert.

 

Mhhhh

Laubi

 

 
Veröffentlicht : 11/06/2021 10:15 pm
(@laubi)
Beiträge: 30
Eminent Member
Themenstarter
 

Ich bin drin 😀 !!!!

Allerdings mit ein paar Tricks, die aber vielleicht gar nicht nötig sind. Da bin ich mir nicht sicher.

Auf meinem alten Sysap 

a) Reset und dann

b) ganz rechts laaaangggeeeee drücken

Irgendwann blinken die beiden anderen Tasten grün auf und gehen dann wieder aus, ab dem Zeitpunkt ist der Selbst-Test schon aktiv. der legt ein etwas rein dabei ... das erkennt man nicht im Gegenteil. Man glaubt das teil hängt Irgendwo ...

Zumal es das im Script angekündigte WLAN FREEATHOME zumindest nicht sichtbar gibt. Und ich habe vorher ein Downgrade in Richtung 1.3.1 gemacht :-O ---> Das geht ziemlich einfach :LOL:

=> Aktuell bin ich noch nicht all zu weit, erstmal will ich auch "nur" mein Key hinterlegen..

Aber auch dazu muss man sich erstmal umschauen.

read Only File-System und ich muss meine Gehirnzellen zaubern lassen, weil nicht auf den ersten Blick eingängig:

/dev/root on / type ext4 (ro,relatime,data=ordered)

-bash-3.2# ls -la /dev/root
ls: /dev/root: No such file or directory
-bash-3.2#

 

Ich werde berichten!

 
Veröffentlicht : 13/06/2021 10:15 pm
(@laubi)
Beiträge: 30
Eminent Member
Themenstarter
 

Korrektur, der letzte Downgrade war wohl nicht durchgelaufen, oder nicht komplett

 

-bash-3.2# cat /etc/os-release
NAME=PTXdist
VERSION="2013.01.0"
ID=ptxdist
VERSION_ID="2013.01.0"
PRETTY_NAME="PTXdist / Busch-Jaeger Elektro GmbH-Busch-free@home"
ANSI_COLOR="1;34"

PTXDIST_VERSION="2013.01.0"
PTXDIST_BUILD_REVISION="4185"
PTXDIST_BSP_VENDOR="Busch-Jaeger Elektro GmbH"
PTXDIST_BSP_NAME="Busch-free@home"
PTXDIST_BSP_VERSION="2.1.2"
PTXDIST_PLATFORM_NAME="bje-sysap"
PTXDIST_PLATFORM_VERSION="-master"
PTXDIST_BUILD_DATE="2017-03-01T11:22:21+0100"
-bash-3.2#
 
Veröffentlicht : 13/06/2021 10:21 pm
(@laubi)
Beiträge: 30
Eminent Member
Themenstarter
 

Allerdings hatte mir das Webinterface auch was von komischen Fehlern nach dem ersten normalen Booten des letzten Downgrades erzählt. Was ich als normal hinnähm, weil ich schließlich mit einer Config von der 2.6.3 komme 😀

 

=> Nur den geplanten Werksreset hatte ich um den ich drücke nochmal die Taste verschoben.

 

Laubi

 
Veröffentlicht : 13/06/2021 10:23 pm
(@laubi)
Beiträge: 30
Eminent Member
Themenstarter
 

Bin ich zu Blöd,, ist es zu spät ein:

-bash-3.2# mount -o remount, rw /

wird natürlich fehlerlos gemacht siehe dazu dann auch ein

-bash-3.2# mount
/dev/root on / type ext4 (rw,relatime,data=ordered)

 

 
Veröffentlicht : 13/06/2021 11:37 pm
(@laubi)
Beiträge: 30
Eminent Member
Themenstarter
 

Anmerkung zum Thema Selbsttest:

In der von mir nunmehr verwendeten Version 2.1.2 gibt es offensichtlich nicht das abtesten von: 

        if [ -f /static/locked ]; then
                exit 1

nachdem ich mein Key hinterlegt habe und die box neu gestartet habe, konnte ich natürlich per ssh auf das endlich mal (fast) live system (fast = alte OS Version und Config defacto leer, bis aus ssh an und Standort gesetzt)

 

und siehe da, da gibt es aber bereits das file und ich befürchte das ist quasi immer da:

 

-bash-3.2# ls -la /static/locked
-rw-r--r-- 1 root root 0 Jan 5 2019 /static/locked
-bash-3.2#

Woher auch immer das Datum kommt.

LG

Laubi

 
Veröffentlicht : 14/06/2021 12:02 am




(@laubi)
Beiträge: 30
Eminent Member
Themenstarter
 

@abraxa: Zwischenzeitlich kann ich final (für den alten Access-Point) bestätigen, das der Test auf /static/locked bei mir den Übergang in den Self-Mode verhindert hat. In der 2.6.3 komme ich mit der Taste nicht in den Selfmode, nachdem ich in der Firmware die Check ausgebaut habe, komme ich damit in den Self-Mode.

Bezogen auf den neuen Access-Point heist das vermutlich das man da vermutlich auch nach einer älteren Firmware suchen sollte. Ich weis nur nicht ab wann es den gab, Auffällig für mich ist:

- In Version 2.1.2 gibt es den Test auf das file noch nicht

- In Version 2.1.4 gint es den Test 

- Ab Version 2.1.4 wurde die Möglichkeit des Downgrades (versucht) zu unterbinden

PS: Version 2.1.3 habe ich leider nicht

 

=> Ich glaube man hat da man versucht ein ein Loch zu stopfen 😉

 

Laubi

 
Veröffentlicht : 14/06/2021 2:58 pm
(@abraxa)
Beiträge: 81
Estimable Member
 

Danke für deine Tests!

Das ist natürlich ärgerlich, zumal das bei den Updates gelieferte rootfs signiert ist und somit nicht geändert werden kann - sonst hätte man dort dafür sorgen können, daß die Datei nicht vorhanden ist bzw. angelegt wird.

Hast du bei dir den Check ausgebaut? Ich dachte, der wird beim Update der 2.6.3 dann überschrieben?

Diese r Beitrag wurde geändert Vor 3 Jahren von Abraxa
 
Veröffentlicht : 14/06/2021 3:45 pm
(@laubi)
Beiträge: 30
Eminent Member
Themenstarter
 

@abraxa: Nachdem ich einmal mit der alten Version drauf war, hab ich natürlich den gpg public ring getauscht und mir ne angepasste 2.6.3 selbst signiert 😀

Weist Du was die älteste zu bekommende Firmware für den neuen AP ist? Wenn die vor der 2.1.4. liegt bekommen wir die auch auf.

Ich werde das die nächsten Wochen mal zusammenschreiben und auf GitHub stellen.

 

LG Laubi

 
Veröffentlicht : 14/06/2021 4:01 pm
Seite 1 / 2

Teilen: