Forum: Mikrocontroller und Digitale Elektronik Vaillant VR920 - Hardreset - Werkseinst


von Sebastian D. (djd1983)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich habe mir sehr günsitg ein Internetkommunikationsmodul als defekt 
geschossen. Dieses versuche ich jetzt in Gang zu bekommen. Ausgangslage 
und während des Verkaufs geschilderte Problkematik waren, dass das Modul 
sich nicht mit der App verbindet. Dieses glit via LAN als auch WLAN. 
Nach dem Abarbeiten der Aktivierungsreihenfolge -anschließen des VR920 
mit EBus und Ethernet LAN, Einstecken des Netzteils des VR920 und nach 
einiger Zeit einschalten der Heizung- passiert nichts. Die LED im VR920 
leuchtet Rot (Laut Anleitung heisst das, dass Verbindung zum Internet 
bestand, jedoch abgebrochen wurde). Via Ebus wird das Vr920 nicht im 
VRC700 als "Regelermodul" erkannt (Wobei ich nicht weiss ob das dort 
aufgeführt werden muss).
Folgendes habe ich daraufhin probiert:
Ich habe das Modul via Ethernet direkt mit meinem PC vergbunden und den 
Datenverkehr nach dem Einschlaten des Moduls mitgeschnitten. Dieses 
Protokoll hänge ich mal hier an, vielleicht erkennt ja einer etwas 
daraus. Aus meiner Sicht scheint kein aktiver Datenverkehr aus dem VR920 
herauszugehen.

Meine Frage wäre jetzt, ob irgendwelche firmeninternen resetvorgänge für 
das Modul bekannt sind, damit ich "neu anfangen" kann. Das VR920 hat 
offiziell kein reset knopf mehr. In der Anleitung wird der mit einer 
Büroklammer oder ähnlichen Gegenstand zu drückende Knopf als 
Entstörknopf betitelt. Diesen habe ich auch schon genutzt, auch habe ich 
den mal eine Minute lang gedrückt. Es passierte leider nichts. Zudem 
möchte ich auch noch auf ein Recherche-ergebnis im Internet aufmerksam 
machen: Es wird in einem Forum kurz angegeben, dass wenn der VR920 nicht 
innehralb von fünf Tagen nach Stromanschluss aktiviert wird, sich nicht 
mehr aktivieren lässt. Ist einem bekannt wie man das umgehen kann?

Ich weiss dass das einer Suche nach einer Nadel im Heuhaufenm gleicht, 
doch wenn jemand Methoden oder Vorschläge hat sich einer möglichen 
Lösung anzunähern, immer her damit. Vielleicht ists auch möglich unter 
Verwendung der seriellen Schnittlstelle (UART-Schnittstelle) X10 mit 
RS232 etwas zu reißen/auszulesen

Vielen Dank euch schonmal

von Martin (Gast)


Lesenswert?

Da sind 2 funkmodule drauf. einmal wlan und das andere?

von Martin (Gast)


Lesenswert?

SN8000 macht wlan. Was macht der andere chip auf der anderen Ecke mit 
der leiterplattenantenne?

von H. H. (Gast)


Lesenswert?


von Sebastian D. (djd1983)


Lesenswert?

Eine Antenne ist für WLAN. Die andere Antenne ist für AmbiSense. Das ist 
eine Smarthome  Funkanlage für die heizungsventile.

: Bearbeitet durch User
von H. H. (Gast)


Lesenswert?

Sebastian D. schrieb:
> AmbiSense

868MHz

von Timo N. (tnn85)


Lesenswert?

Hast du schonmal auf den Ebus geschaut, ob sich da was tut?

Gibt da einen Ebus Deamon von für z.b. einen Raspberry Pi:

https://github.com/john30/ebusd

Dann braucht man noch ein Ebus-Interface, was man sich auch selbst bauen 
kann:
https://adapter.ebusd.eu/

Ich hab noch ein altes ohne Interface USB <-> Ebus, das könnte ich dir 
ausleihen.

von Sebastian D. (djd1983)


Lesenswert?

Vielen Dank für das Angebot, aber ich weiß nicht ob mich das weiter 
bringt. Ich Denke mein erstes Ziel wäre zu gucken wie ich den Ethernet 
Anschluss zum laufen bekomme um damit Zugriff auf die 
Bedienungsoberfläche des Kommunikationsinterface zu bekommen.

Obwohl die Ethernet LEDs ab und zu blinken, sowie am PC als auch am 
Kommunikationsmodul, muss ja irgendetwas gesendet oder empfangen werden. 
Dem Wireshark Protokoll nach ist aber nichts vom Kommunikationsmodul zu 
entnehmen. Sondern nur Anfragen von meinem PC mit APIPA Adresse. Aus dem 
Protokoll lese ich keine MAC Adresse raus, als auch keine IP Adresse vom 
Modul. Das macht mich stutzig, es muss doch irgendwie möglich sein an 
die Mac Adresse zu kommen. Und dann vielleicht darauf basierend eine IP 
Adresse zu zu weisen.

Das wären so meine Gedankengänge.

von Gustl (Gast)


Lesenswert?

Sebastian D. schrieb:
> Sondern nur Anfragen von meinem PC mit APIPA Adresse.

Ist das nur ein Netzwerk zwischen PC und dem Board? Hänge das mal an 
einen Router oder starte einen DHCP Server.

von Sebastian D. (djd1983)


Lesenswert?

Schon gemacht, der DHCP Vorgang macht keinen unterschied. Zudem sendet 
der PC auch broadcast Anfragen die augenscheinlich keine Beachtung 
finden. Das Modul gibt keinen Mucks.

von Gustl (Gast)


Lesenswert?

Dann belausche mal die Signale dieser beiden Anschlüsse. Ich meine den 3 
oder 6 Pin Anschluss an der Platinenseite und den 10 Pin Anschluss.
Und zwar direkt wenn du der Platine Strom gibst.
Du suchst dir also einen Masseanschluss für die Oszimasse und dann gehst 
du mit dem Oszitastkopf von Anschluss zu Anschluss.
Stellst auf Normal Trigger und z. B. 1V. Und dann gibst du der Platine 
Strom. Wenn da nix triggert Strom weg, zum nächsten Pin, Trigger 
scharfschalten und Strom ran an die Platine.
Irgendwo wirst du einen UART TX finden. Wenn du den hast kannst du 
Baudrate messen und einen UART Adapter anschließen um den ausgegebenen 
Text zu sehen.

von Gustl (Gast)


Lesenswert?

Ui gugge mal, das findet man wenn man nach dem Modell sucht:
https://forum.fhem.de/index.php?topic=57815.15

von Sebastian D. (djd1983)


Lesenswert?

Gustl schrieb:
> Ui gugge mal, das findet man wenn man nach dem Modell sucht:
> https://forum.fhem.de/index.php?topic=57815.15

Der Eintrag ist mir bekannt jedoch komme ich über dieses Thema nicht auf 
mein Problem.
Zum ersten verwundert mich, dass auf dem EthernetAnschluss KEINE 
Bewegung ist.
Zum zweiten versuche ich ja primär das Teil zu resetten und zum 
neubooten zu bewegen.

Ob das alles so geht, weiss ich nicht, müsste doch aber aus meiner Sicht 
irgendwie möglich sein. Es sei denn es ist Hardwaremäßig vollständig 
defekt, was ich aber nicht glaube. Zumindest eine Sichtprüfung 
untermauert dies zunächst.

von H. H. (Gast)


Lesenswert?

Sebastian D. schrieb:
> Zumindest eine Sichtprüfung
> untermauert dies zunächst.

Bei BGA wenig sinnvoll.

von Sebastian D. (djd1983)


Lesenswert?

H. H. schrieb:
> Sebastian D. schrieb:
>
>> Zumindest eine Sichtprüfung
>> untermauert dies zunächst.
>
> Bei BGA wenig sinnvoll.

Ich sach ja, … zunächst… eine verkohlte Stelle auf der Platine ist für 
mich leicht zu erkennen. Aber auch nur weil ich Hobbygriller bin ;)

von Guillaume (Gast)


Lesenswert?

Hello,
I would like to reopen the discussion because I currently have the same 
problem with the red light.
Did you manage to solve your problem?

Thanks

von Sebastian D. (djd1983)


Lesenswert?

Guten Morgen in die Runde,
ich weiss, der Beitrag ist schon was her, doch ich meine, ich bin der 
Sache etwas näher gekommen.

Ich habe es geschafft Zugang zu diesem Mikrocontroller über die 
Programmierschnittstelle zu bekommen, stehe aber jetzt Softwareseitig 
vor dem nächsten Rätsel.Via eines USB Seriell Konverters konnte ich die 
folgende automatisierierte NAchricht auslesen:
1
U-Boot 2014.10-rc2 (Sep 26 2017 - 14:50:18)
2
3
CPU:   Freescale i.MX6SOLO rev1.3 at 792 MHz
4
Reset cause: WDOG
5
Board: Vaillant comDialog/2
6
       Watchdog enabled
7
I2C:   ready
8
DRAM:  512 MiB
9
MMC:   FSL_SDHC: 0
10
In:    serial
11
Out:   serial
12
Err:   serial
13
Net:   FEC [PRIME]
14
Hit any key to stop autoboot:  0
15
Saving Environment to MMC...
16
Writing to MMC(0)... done
17
gpio: pin 125 (gpio 125) value is 0
18
gpio: pin 17 (gpio 17) value is 0
19
gpio: pin 126 (gpio 126) value is 0
20
gpio: pin 125 (gpio 125) value is 1
21
gpio: pin 126 (gpio 126) value is 1
22
gpio: pin 125 (gpio 125) value is 0
23
gpio: pin 17 (gpio 17) value is 0
24
gpio: pin 126 (gpio 126) value is 0
25
gpio: pin 125 (gpio 125) value is 1
26
gpio: pin 126 (gpio 126) value is 1
27
Maximum reboot count exceeded.
28
gpio: pin 125 (gpio 125) value is 0
29
gpio: pin 17 (gpio 17) value is 0
30
gpio: pin 126 (gpio 126) value is 0
31
gpio: pin 125 (gpio 125) value is 1
32
sleep - delay execution for some time
33
34
Usage:
35
sleep N
36
    - delay execution for N seconds (N is _decimal_ !!!)
37
bootset=2, bootcount=6, emerg_flag=1, switch_flag=0, boottarget=vg-vr920.target
38
switch to partitions #0, OK
39
mmc0(part 0) is current device
40
Failed to mount ext2 filesystem...
41
** Unrecognized filesystem type **
42
gpio: pin 125 (gpio 125) value is 0
43
gpio: pin 17 (gpio 17) value is 0
44
gpio: pin 126 (gpio 126) value is 0
45
gpio: pin 125 (gpio 125) value is 1
46
=>

Er wartet auf Eingabe eines Commands und resettet nach ca einer Minute 
und bootet neu.
Kommt hier vielleicht einer von euch weiter?

Beste Grüße
Sepp

von Sebastian D. (djd1983)


Lesenswert?

Zusatz
1
=> help
2
?       - alias for 'help'
3
base    - print or set address offset
4
bdinfo  - print Board Info structure
5
bmode   - mmc0|mmc1|normal|usb|sata|ecspi1:0|ecspi1:1|ecspi1:2|ecspi1:3|esdhc1|esdhc2|esdhc3|esdhc4 [noreset]
6
boot    - boot default, i.e., run 'bootcmd'
7
bootd   - boot default, i.e., run 'bootcmd'
8
bootm   - boot application image from memory
9
bootp   - boot image via network using BOOTP/TFTP protocol
10
bootz   - boot Linux zImage image from memory
11
clocks  - display clocks
12
cmp     - memory compare
13
coninfo - print console devices and information
14
cp      - memory copy
15
cpu     - Multiprocessor CPU boot manipulation and release
16
crc32   - checksum calculation
17
dcache  - enable or disable data cache
18
dhcp    - boot image via network using DHCP/TFTP protocol
19
echo    - echo args to console
20
editenv - edit environment variable
21
env     - environment handling commands
22
erase   - erase FLASH memory
23
exit    - exit script
24
ext2load- load binary file from a Ext2 filesystem
25
ext2ls  - list files in a directory (default /)
26
false   - do nothing, unsuccessfully
27
fatinfo - print information about filesystem
28
fatload - load binary file from a dos filesystem
29
fatls   - list files in a directory (default /)
30
fatsize - determine a file's size
31
fdt     - flattened device tree utility commands
32
flinfo  - print FLASH memory information
33
fuse    - Fuse sub-system
34
go      - start application at address 'addr'
35
gpio    - query and control gpio pins
36
help    - print command description/usage
37
i2c     - I2C sub-system
38
icache  - enable or disable instruction cache
39
iminfo  - print header information for application image
40
imxtract- extract a part of a multi-image
41
itest   - return true/false on integer compare
42
load    - load binary file from a filesystem
43
loadb   - load binary file over serial line (kermit mode)
44
loads   - load S-Record file over serial line
45
loadx   - load binary file over serial line (xmodem mode)
46
loady   - load binary file over serial line (ymodem mode)
47
loop    - infinite loop on address range
48
ls      - list files in a directory (default /)
49
md      - memory display
50
mdio    - MDIO utility commands
51
mii     - MII utility commands
52
mm      - memory modify (auto-incrementing address)
53
mmc     - MMC sub system
54
mmcinfo - display MMC info
55
mw      - memory write (fill)
56
nfs     - boot image via network using NFS protocol
57
nm      - memory modify (constant address)
58
ping    - send ICMP ECHO_REQUEST to network host
59
printenv- print environment variables
60
protect - enable or disable FLASH write protection
61
reset   - Perform RESET of the CPU
62
run     - run commands in an environment variable
63
saveenv - save environment variables to persistent storage
64
setenv  - set environment variables
65
setexpr - set environment variable as the result of eval expression
66
showvar - print local hushshell variables
67
size    - determine a file's size
68
sleep   - delay execution for some time
69
source  - run script from memory
70
test    - minimal test like /bin/sh
71
tftpboot- boot image via network using TFTP protocol
72
true    - do nothing, successfully
73
version - print monitor, compiler and linker version
74
=> version
75
76
U-Boot 2014.10-rc2 (Sep 26 2017 - 14:50:18)
77
arm-angstrom-linux-gnueabi-gcc (Linaro GCC 5.2-2015.11-2) 5.2.1 20151005
78
GNU ld (GNU Binutils) 2.26.0.20160226
79
=>

von Dieter S. (ds1)


Lesenswert?

Das Problem ist relativ eindeutig:

> Failed to mount ext2 filesystem...

U-Boot kommt nicht weiter weil es das eigentliche OS nicht booten kann. 
Man wird also wohl die Software neu aufspielen müssen (unter der 
Voraussetzung dass der Flash noch in Ordnung ist). Das kann man über 
U-Boot machen, man braucht aber die Software/Image des OS.

von Sebastian D. (djd1983)


Lesenswert?

Hallo nochmal,

mitlerweile habe ich auch folgendes herausgefunden, nachdem ich 
abwechslungsweise ein intaktes Ethernetkabel genommen habe :/ . Jetzt 
bekommt laut Konsole das Gerät auch eine IP Adresse. Seit dem versucht 
er dauerhaft folgendes
1
U-Boot 2014.10-rc2 (Sep 26 2017 - 14:50:18)
2
3
CPU:   Freescale i.MX6SOLO rev1.3 at 792 MHz
4
Reset cause: POR
5
Board: Vaillant comDialog/2
6
       Watchdog enabled
7
I2C:   ready
8
DRAM:  512 MiB
9
MMC:   FSL_SDHC: 0
10
In:    serial
11
Out:   serial
12
Err:   serial
13
Net:   FEC [PRIME]
14
Hit any key to stop autoboot:  0
15
Saving Environment to MMC...
16
Writing to MMC(0)... done
17
gpio: pin 125 (gpio 125) value is 0
18
gpio: pin 17 (gpio 17) value is 0
19
gpio: pin 126 (gpio 126) value is 0
20
gpio: pin 125 (gpio 125) value is 1
21
gpio: pin 126 (gpio 126) value is 1
22
gpio: pin 125 (gpio 125) value is 0
23
gpio: pin 17 (gpio 17) value is 0
24
gpio: pin 126 (gpio 126) value is 0
25
gpio: pin 125 (gpio 125) value is 1
26
gpio: pin 126 (gpio 126) value is 1
27
bootset=2, bootcount=0, emerg_flag=1, switch_flag=0, boottarget=vg-vr920.target
28
switch to partitions #0, OK
29
mmc0(part 0) is current device
30
Failed to mount ext2 filesystem...
31
** Unrecognized filesystem type **
32
gpio: pin 125 (gpio 125) value is 0
33
gpio: pin 17 (gpio 17) value is 0
34
gpio: pin 126 (gpio 126) value is 0
35
gpio: pin 125 (gpio 125) value is 1
36
=> dhcp
37
BOOTP broadcast 1
38
*** Unhandled DHCP Option in OFFER/ACK: 26
39
*** Unhandled DHCP Option in OFFER/ACK: 42
40
*** Unhandled DHCP Option in OFFER/ACK: 158
41
*** Unhandled DHCP Option in OFFER/ACK: 26
42
*** Unhandled DHCP Option in OFFER/ACK: 42
43
*** Unhandled DHCP Option in OFFER/ACK: 158
44
DHCP client bound to address 192.168.XXX.137 (27 ms)
45
*** Warning: no boot file name; using 'C0A82E89.img'
46
Using FEC device
47
TFTP from server 192.168.XXX.1; our IP address is 192.168.XXX.137
48
Filename 'C0A82E89.img'.
49
Load address: 0x12000000
50
Loading: T T T T T T T T T T
51
Retry count exceeded; starting again

Fällt jemandem dazu etwas ein?
Was ja ersichtlich ist, er versucht vom TFTP Server 192.168......, 
sprich meinem Gateway eine Datei herunter zu laden. Bekommt aber 
augenscheinlich keine Verbindung. Ich stelle mir jetzt die Frage, warum 
von meinem Gateway? Normalerweise müsste da doch eine IP Adresse eine 
FTP Servers sein? Könnte man die IP des TFTP Servers heruasfinden und 
eintragen?

Für Ideen uder Interpretationen bin ich sehr dankbar. :)

Schönes AdventsWE
Sepp

: Bearbeitet durch User
von Sebastian D. (djd1983)


Lesenswert?

In meinen Zusamtzbeitrag vom
06.12.2024 08:00
habe ich eine liste von Befehlen gepostet. Von diesen habe ich folgende 
ausprovbiert:
1
=> base
2
Base Address: 0x00000000
3
=> bdinfo
4
arch_number = 0x0000113C
5
boot_params = 0x10000100
6
DRAM bank   = 0x00000000
7
-> start    = 0x10000000
8
-> size     = 0x20000000
9
eth0name    = FEC
10
ethaddr     = 84:c3:e8:01:1c:5f
11
current eth = FEC
12
ip_addr     = <NULL>
13
baudrate    = 115200 bps
14
TLB addr    = 0x2FFF0000
15
relocaddr   = 0x2FF85000
16
reloc off   = 0x18785000
17
irq_sp      = 0x2F582EC0
18
sp start    = 0x2F582EB0
1
=> tftpboot
2
*** Warning: no boot file name; using 'C0A82E89.img'
3
Using FEC device
4
TFTP from server 192.168.XXX.1; our IP address is 192.168.XXX.137
5
Filename 'C0A82E89.img'.
6
Load address: 0x12000000
7
Loading: T T
8
Abort
1
=> nfs
2
*** Warning: no boot file name; using '/nfsroot/C0A82E89.img'
3
Using FEC device
4
File transfer via NFS from server 192.168.XXX.1; our IP address is 192.168.XXX.137
5
Filename '/nfsroot/C0A82E89.img'.
6
Load address: 0x12000000
7
Loading: T T T T T T T

Vielleicht für den ein oder anderen noch ein Anhaltspunkt.

von Dieter S. (ds1)


Lesenswert?

Was ist daran so schierig zu verstehen? Siehe bereits hier:

Beitrag "Re: Vaillant VR920 - Hardreset - Werkseinst"

Und mit LAN Verbindung versucht es U-Boot dann halt per TFTP um an ein 
gültiges Image zu kommen, das wird so konfiguriert sein. Das ändert 
nichts daran dass man das OS Image braucht um weiterzukommen.

Alternativ könnte man den kompletten Flash auslesen und schauen ob man 
eventuell das beschädigte Image im Flash reparieren kann.

von Sebastian D. (djd1983)


Lesenswert?

Vielen Dank für Deine Zeit.

Dieter S. schrieb:
> Was ist daran so schierig zu verstehen?

Warum sucht er die Datei in einem lokalen Netzwerk? Müsste er nicht auf 
einen FTP Server von Vaillant zugreifen, mit öffentlicher IP? Warum im 
Gateway?

Dieter S. schrieb:
> Alternativ könnte man den kompletten Flash auslesen [...]

Das werde ich mal versuchen. Ist zwar vollständig Neuland, aber man kann 
ja nur dazu lernen.

von Dieter S. (ds1)


Lesenswert?

Sebastian D. schrieb:
>
> Warum sucht er die Datei in einem lokalen Netzwerk? Müsste er nicht auf
> einen FTP Server von Vaillant zugreifen, mit öffentlicher IP? Warum im
> Gateway?

Das ist lediglich für die Entwicklung gedacht um die Software neu 
aufzuspielen (im lokalen Netz). Niemand wird ernsthaft TFTP über das 
öffentliche Internet verwenden um ein Software Update durchzuführen.

Mit "printenv" kann man die Konfiguration anzeigen lassen, dann sollte 
man sehen wie das genau gedacht ist.

: Bearbeitet durch User
von Sebastian D. (djd1983)


Lesenswert?

Danke für den Tip:
1
=> printenv
2
baudrate=115200
3
boot_fdt=try
4
boot_ok=1
5
bootargs=console=ttymxc0,115200 root=/dev/mmcblk0p7 ro rootfstype=squashfs rootwait systemd.unit=vg-vr920.target systemd.setenv= quiet
6
bootcmd=run check_firstboot;run init_led;run led_status_ok;setenv boot_ok 1;run init_eol_check;run init_VAR03_check;run init_VAR02_check;run set_systemd_target; run choose_boot;run show_status;run bootset_cmd;run do_boot
7
bootcount=8
8
bootcount_max=5
9
bootcount_reg=0x20D8030
10
bootdelay=0
11
bootset=2
12
bootset_cmd=if test ${bootset} -eq 1;then setenv mmcroot /dev/mmcblk0p6 ro;setenv mmcpart 2;else setenv mmcroot /dev/mmcblk0p7 ro;setenv mmcpart 3;fi
13
boottarget=vg-vr920.target
14
brand=0
15
check_firstboot=setexpr bootcount $bootcount + 1;saveenv
16
check_por=setexpr.w por *${resetcause_reg} \\& 0x10
17
choose_boot=run check_por;run get_mirrors;if test ${por} -eq 0;then run is_reboot;else run is_por;fi;run mmcargs
18
console=ttymxc0
19
do_boot=mmc dev ${mmcdev};if mmc rescan;then if run loadimage;then run loadfdt;run mmcboot;fi;fi;run led_status_fail;
20
emerg_flag=1
21
emerg_mirror=1
22
emerg_mirror_reg=0x20D8034
23
ethact=FEC
24
ethaddr=84:c3:e8:01:1c:5f
25
ethprime=FEC
26
fdt_addr=0x18000000
27
fdt_file=devicetree.dtb
28
fdt_high=0xffffffff
29
get_mirrors=setexpr.l emerg_mirror *${emerg_mirror_reg};setexpr.l switch_mirror *${switch_mirror_reg}
30
gpio_blue=17
31
gpio_green=126
32
gpio_ok_led=17
33
gpio_red=125
34
image=uImage
35
increment_bootcount=setexpr.l bootcount *${bootcount_reg} + 1;mw.l ${bootcount_reg} ${bootcount}
36
init_VAR02_check=mw.l 0x020E04F8 0x70B1 1; mw.l 0x020E0128 0x05 1;setexpr var02_pin *0x020A0000 "&" 0x10000;
37
init_VAR03_check=mw.l 0x020E04FC 0x70B1 1; mw.l 0x020E012C 0x05 1;setexpr var03_pin *0x020B0000 "&" 0x40;
38
init_eol_check=mw.l 0x020E02E4 0x05 1;setexpr is_not_eol_pin *0x209c000 "&" 0x10000;
39
init_led=run remux_leds;run led_status_ok;if test ${brand} -eq 1;then setenv gpio_ok_led ${gpio_green};else setenv gpio_ok_led ${gpio_blue};fi
40
initrd_high=0xffffffff
41
is_emergency=if test ${bootcount} > ${bootcount_max};then if test ${emerg_flag} -ne 0;then echo "Maximum reboot count exceeded.";run led_status_fail;sleep 86400;else setenv emerg_flag 1;run switch_bootset;fi;fi;
42
is_noemergency=if test ${emerg_flag} -ne 0;then setenv emerg_flag 0;saveenv;fi
43
is_not_eol_pin=10000
44
is_por=setenv emerg_mirror ${emerg_flag};setenv switch_mirror ${switch_flag};run store_mirrors;run reset_bootcount
45
is_reboot=if test ${emerg_flag} -ne 0;then run is_reboot_emerg;else run is_reboot_noemerg;fi;run increment_bootcount;run is_emergency
46
is_reboot_emerg=if test ${emerg_mirror} -ne ${emerg_flag};then setenv emerg_mirror ${emerg_flag};run store_mirrors;run reset_bootcount;fi
47
is_reboot_noemerg=if test ${switch_flag} -ne 0;then run is_reboot_noemerg_isswitch;else run is_reboot_noemerg_noswitch;fi
48
is_reboot_noemerg_isswitch=setenv emerg_flag 0;if test ${switch_mirror} -ne ${switch_flag};then setenv emerg_mirror 0;setenv switch_mirror ${switch_flag};run reset_bootcount;fi;run store_mirrors;
49
is_reboot_noemerg_noswitch=setenv switch_mirror 0;run store_mirrors;
50
led_status_fail=run led_status_off;gpio set ${gpio_red}
51
led_status_off=gpio clear ${gpio_red};gpio clear ${gpio_blue};gpio clear ${gpio_green}
52
led_status_ok=run led_status_off;gpio set ${gpio_red}; gpio set ${gpio_green}
53
loadaddr=0x12000000
54
loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdt_addr} /${fdt_file}
55
loadimage=load mmc ${mmcdev}:${mmcpart} 0x12000000 ${image}
56
mmcargs=setenv bootargs console=${console},${baudrate} ${optargs} root=${mmcroot} rootfstype=${mmcrootfstype} systemd.unit=${boottarget} systemd.setenv=${systemd_env} quiet
57
mmcboot=echo Booting from mmc ...;run mmcargs;bootm ${loadaddr} - ${fdt_addr};
58
mmcdev=0
59
mmcpart=3
60
mmcroot=/dev/mmcblk0p7 ro
61
mmcrootfstype=squashfs rootwait
62
mux_disp0_data08=0x20e0108
63
mux_sd_base=0x20e02e4
64
por=0
65
remux_leds=mw.l ${mux_sd_base} 0x05 5;mw.l ${mux_disp0_data08} 0x05 2
66
reset_bootcount=setenv bootcount 0;mw.l ${bootcount_reg} ${bootcount}
67
resetcause_reg=0x20BC004
68
script=boot.scr
69
set_systemd_target=if test ${var03_pin} -eq 0;then run set_target_to_vr900;else if test ${var02_pin} -eq 0;then if test ${is_not_eol_pin} -eq 0;then run set_target_to_eol;else run set_target_to_vr920;fi;else if test ${is_not_eol_pin} -eq 0;then run set_target_to_eol_wo_cc1310;else run set_target_to_vr920_wo_cc1310;fi;fi;fi;
70
set_target_to_eol=setenv boottarget vg-eol.target;setenv systemd_env EOL_TEST=1;
71
set_target_to_eol_wo_cc1310=setenv boottarget vg-eol_wo_cc1310.target;setenv systemd_env EOL_TEST=1;
72
set_target_to_vr900=setenv boottarget vg-vr900.target;setenv systemd_env;
73
set_target_to_vr920=setenv boottarget vg-vr920.target;setenv systemd_env;
74
set_target_to_vr920_wo_cc1310=setenv boottarget vg-vr920_wo_cc1310.target;setenv systemd_env;
75
show_status=echo bootset=${bootset}, bootcount=${bootcount}, emerg_flag=${emerg_flag}, switch_flag=${switch_flag}, boottarget=${boottarget}
76
splashpos=m,m
77
stderr=serial
78
stdin=serial
79
stdout=serial
80
store_mirrors=mw.l ${emerg_mirror_reg} ${emerg_mirror};mw.l ${switch_mirror_reg} ${switch_mirror}
81
switch_bootset=if test ${bootset} -eq 1;then setenv bootset 2;else setenv bootset 1;fi;setenv switch_flag 0;saveenv;run reset_bootcount
82
switch_flag=0
83
switch_mirror=0
84
switch_mirror_reg=0x20D8038
85
var02_pin=0
86
var03_pin=40
87
vr900_u_boot_version=1
88
89
Environment size: 5386/8188 bytes

von Dieter S. (ds1)


Lesenswert?

Du könntest noch ein paar weitere Kommandos ausprobieren die zusätzliche 
Informationen liefern:

1
mmcinfo
2
3
mmc
4
5
help mmc
6
7
mmc dev 0
8
mmc rescan

Das Auslesen des Flash läuft vermulich darauf hinaus dass man mit den 
Kommandos des "MMC sub system" Teile des Flash in den RAM liest und 
diese dann per "md.b" als Hexdump über die Konsole ausgibt. Die Ausgabe 
schneidet man mit, den Dump kann man dann am Ende in binäre Dateien 
umwandeln. Eventuell gibt es Alternativen die schneller sind aber im 
moment sehe ich keine.

von Sebastian D. (djd1983)


Lesenswert?

Um das an einigen Stellen diskutierte Thema zum Abschluss zu bringen:

https://www.vaillant.at/privatanwender/produkte/mobile-apps/myvaillant-app/

" [...] Energieinformationen aus den Vorgänger-Apps aber nicht mehr 
möglich ist.

Sollte Ihre Internet-Kommunikations-Box schont seit längerem offline 
sein und nicht bis zum 29.03.2024 für mind. 24 Stunden online gehen und 
Sie ihre Anlage nach dem 01.04.2024 wieder per App steuern wollen, ist 
eine kostenpflichtige Neuschaffung einer aktuellen 
Internet-Kommunikations-Box (VR-940f) notwendig."

Selbst wenn ich es schaffen sollte Daten zu retten und es zum Laufen zu 
bekommen, kann das Teil sowiseo nicht wie gewünscht integriert werden. 
War mir bisher so nicht klar. Schade eigentlich. Immerhin habe ich dafür 
einen "Defekt-Preis" bezahlt.

Besten Dank an alle, insbesondere DS1!

Euch schöne eine schöne Weihnachtszeit!

von Daniel S. (dididi)


Lesenswert?

Ja, das ist in der Tat nicht sehr kundenorientiert von Vaillant. Ich 
wurde mit meiner VR900 leider auch enttäuscht. Hatte die 2 Jahre im 
Schrank liegen, weil sie nicht wirklich stabil gelaufen ist und als ich 
letzte Woche mal schauen wollte, ob Vaillant inzwischen bei der Software 
nachgebessert hat, musste ich feststellen, dass die Box in die Tonne 
kloppen kann. Warum es nicht möglich sein soll, noch weiterhin ein 
Firmwareupdate anzubieten, ist mir schleierhaft (außer die Leute zu 
zwingen, eine neue Box kaufen zu müssen).

von Dieter S. (ds1)


Angehängte Dateien:

Lesenswert?

Falls jemand mit den VR 920 Gateways experimentieren will (das Ganze 
trifft vermutlich auch auf die VR 900 Gateways zu): Ein Login ins 
Linux-System über die serielle Konsole (siehe Bild, 3.3 Volt Pegel, 
115200 Baud) ist nur als "root" mit Passwort möglich, das Passwort ist 
nicht bekannt. Wer versuchen will den Passwort-Hash zu knacken: die 
"/etc/shadow" Datei ist im Anhang. Das ist ein SHA-512 Hash und 
entsprechend rechenintensiv.

U-Boot kann normalerweise nicht unterbrochen werden (außer im Fall des 
Geräts des TO bei dem das Booten des Linux-Systems nicht funktioniert), 
daher kommt man normalerweise auch nicht auf die U-Boot Kommandozeile.

Allerdings ist JTAG für den i.MX6 verfügbar (siehe Bild, bitte beachten 
daß das Pinout auf dem Kopf steht), das ist das übliche 10-Pin ARM JTAG 
Pinout. JTAG auf dem i.MX6 ist nicht gesperrt, man kann daher relativ 
einfach U-Boot debuggen und z.B. einen Breakpoint setzen und dann die 
"bootdelay" Environment-Variable auf einen Wert größer 0 setzen. Von 
U-Boot kommt man dann z.B. durch Anhängen von "init=/bin/bash" an die 
Kernel Kommandozeile auch auf das Linux System.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.