• Login
  • Register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • More Options
  1. Dashboard
  2. Forum
    1. Unresolved Threads
  3. Members
    1. Recent Activity
    2. Users Online
    3. Staff
    4. Search Members
  4. Filebase
  5. AGB
  6. Datenschutzerklärung
  7. Impressum
  1. Dashboard
  2. Forum
    1. Unresolved Threads
  3. Members
    1. Recent Activity
    2. Users Online
    3. Staff
    4. Search Members
  4. Filebase
  5. AGB
  6. Datenschutzerklärung
  7. Impressum
  1. Dashboard
  2. Forum
    1. Unresolved Threads
  3. Members
    1. Recent Activity
    2. Users Online
    3. Staff
    4. Search Members
  4. Filebase
  5. AGB
  6. Datenschutzerklärung
  7. Impressum
  1. Kaffee-Welt.net - Das bohnenstarke Kaffeeforum!
  2. Forum
  3. Kaffeevollautomaten
  4. Wartung und Reparatur
  5. WMF
  • Sidebar
  • Sidebar

WMF 800 EEPROM

  • Userli
  • September 26, 2016 at 10:36 AM
  • Userli
    Reactions Received
    14
    Posts
    51
    wcf.user.option.option30
    KVA
    • September 26, 2016 at 10:36 AM
    • #1

    Hallo!

    Dinoearl hat mir vor einiger Zeit freundlicherweise eine WMF800 als Teilespender verkauft.
    Damit habe ich dann wie schon beschrieben das P-Tasten Problem gefunden.
    Nun lachte mich aber das EEPROM so an und da es gesockelt ist, lud es zum auslesen ein.
    Also habe ich einen uP als EEPROM Leser/Schreiber/Sniffer/Emulator programmiert und mir das EEPROM angesehen.
    Zugegeben war meine Hoffnung, daß ich die Stelle finde, wo man die Service Meldung löschen kann.
    Das ist dann leider aber nicht so einfach.
    Ziemlich einfach zu finden waren dagegen die Zählerstande und anderes Grundlegendes (die Hex-Zahl ist die Speicherstelle):

    Einschaltzeit 040A
    Anzahl Einschalt? 0416
    Getr. Seit Rein.? 041E
    Trester Zähler? 0420
    ZS: intern 04EC
    ZS: total 04F4
    ZS: Espresso 04F6
    ZS: Café 04F8
    ZS: Cappuccino 04FA
    ZS: LM 04FC
    ZS: Milch 04FE
    ZS: Wasser 0500
    ZS: 2x Espresso 0502
    ZS: 2x Café 0504
    ZS: 2x Cappuccino 0506

    Um das zu finden habe ich immer die Maschine nach einem Bezug ausgeschaltet, das EEPROM ausgebaut, ausgelesen und wieder von vorne.
    Obwohl ich die entsprechenden Werkzeuge dafür habe, hätte das EEPROM das mechanisch nicht lange mitgemacht.
    Als nächstes habe ich dann die Kommunikation zwischen uP und EEPROM belauscht und herausgefunden, daß die Parameter anscheinend in großen Strukturen organisiert sind, die dann nach einer Änderung komplett gespeichert werden.
    Um die Analyse dieser Strukturen einfacher zu machen habe ich dann den uP direkt als Emulator anstelle des EEPROMS angeschlossen und unglücklicherweise ein weiteres Feature entdeckt:
    Anscheinend speichert die Maschine einen Wert im internen uP und vergleicht diesen mit dem entsprechenden im EEPROM.
    Dieser wird dann wohl bei jedem Einschalten geändert, wodurch man die EEPROMs nicht zwischen verschiedenen Maschinen austauschen kann.
    Erkennt die Maschine, daß das EEPROM ausgetauscht wurde, löscht sie es.

    Leider habe ich den Emulator nicht mit dem letzten EEPROM-Image gestartet, so daß nun auch mein EEPROM nicht mehr funktioniert. X(

    Da ich aber einiges an Zeit investiert habe, wollte ich es hier dokumentieren, da es ja etwas über die Funktion der Maschine aussagt.

    • Quote
  • dinoearl
    Reactions Received
    40
    Posts
    421
    wcf.user.option.option30
    KVA
    • September 26, 2016 at 10:38 AM
    • #2

    Einfacher wäre es mit der Service Software gewesen...;-) Ich denke das es mit neu flashen wieder funktioniert.
    Gesendet mit Tapatalk von meinem Microsoft Lumia 640 LTE.

    :kaffee WMF Baldessarini, WMF 1000 NewEdition, Was anderes als WMF kommt mir nicht ins Haus... :kaffee

    • Quote
  • Userli
    Reactions Received
    14
    Posts
    51
    wcf.user.option.option30
    KVA
    • September 26, 2016 at 10:41 AM
    • #3

    Das ist wohl war. Ich habe das Programm aber nicht.

    • Quote
  • Heinz Rindfleisch
    Service-Sklave
    Reactions Received
    252
    Posts
    4,862
    wcf.user.option.option30
    KVA
    • September 26, 2016 at 10:53 AM
    • #4
    Quote from Userli

    Als nächstes habe ich dann die Kommunikation zwischen uP und EEPROM belauscht und herausgefunden, daß die Parameter anscheinend in großen Strukturen organisiert sind, die dann nach einer Änderung komplett gespeichert werden.


    ...


    Anscheinend speichert die Maschine einen Wert im internen uP und vergleicht diesen mit dem entsprechenden im EEPROM.

    Dieser wird dann wohl bei jedem Einschalten geändert, wodurch man die EEPROMs nicht zwischen verschiedenen Maschinen austauschen kann.
    Erkennt die Maschine, daß das EEPROM ausgetauscht wurde, löscht sie es.

    Display More


    Das, was Du da rausgefunden hast, ist doch alles schon lange bekannt. Hättest Du mal vorher gefragt (oder gesucht) wärst Du gewarnt gewesen :)


    Von mir gibt es keinen Support per email!
    Und auch keine urheberrechtlich geschützte Software..

    • Quote
  • Userli
    Reactions Received
    14
    Posts
    51
    wcf.user.option.option30
    KVA
    • September 26, 2016 at 11:02 AM
    • #5

    Dann habe ich wohl nicht richtig gesucht.
    Weißt Du ob das ein Zufallsparameter ist, also vor Manipulation schützen soll oder ob das eine Checksum ist, also um ein defektes EEPROM detektieren?

    • Quote
  • Userli
    Reactions Received
    14
    Posts
    51
    wcf.user.option.option30
    KVA
    • November 17, 2016 at 6:35 PM
    • #6

    Hat schon einmal jemand versucht, den Prozessor einer WMF X00(0) auszulesen?
    Wenn ja, wie und hat es geklappt?
    Wenn es nicht geklappt hat, warum nicht?

    Laut Hersteller kann man den Prozessor ja sogar über die serielle Schnittstelle Programmieren.

    • Quote
  • Heinz Rindfleisch
    Service-Sklave
    Reactions Received
    252
    Posts
    4,862
    wcf.user.option.option30
    KVA
    • November 18, 2016 at 4:08 PM
    • #7

    Aus welchem legalen Grund sollte jemand den Prozessor auslesen wollen? Macht keinen Sinn und ist auch nicht notwendig.

    Da die Platine in mehreren Maschinenmodellen von WMF eingesetzt werden kann, muss die entsprechende Firmware natürlich passend zur Maschine vor dem Einbau aufgespielt werden. Das funktioniert logischerweise (und am einfachsten) über eine serielle Schnittstelle an Bord der Platine. Firmwareupdates erfolgen auf dem gleichen Weg.


    Von mir gibt es keinen Support per email!
    Und auch keine urheberrechtlich geschützte Software..

    • Quote
  • Userli
    Reactions Received
    14
    Posts
    51
    wcf.user.option.option30
    KVA
    • November 18, 2016 at 10:48 PM
    • #8

    Der Grund ist ganz einfach und hat nichts mit Legalität zu tun:
    Wenn der Prozessor kaputt ist, muß der Bootloader auf den neuen übertragen werden, damit die Software wieder aufgespielt werden kann.
    Dazu muß man aber den Bootloader Code auslesen.
    Um das zu verhindern, kann man einen Sicherheitscode im Prozessor eintragen. Dazu kann man einstellen, daß der Prozessor seinen Inhalt löscht, sobald jemand mit einem falschen Code ausliest.

    Soweit ich es bisher verstanden habe, könnte man ein Programm schreiben, welches den Bootloader ausliest und dieses über denselben auf der Maschine installieren. Das würde einen Sicherheitscode umgehen.
    Das ist aber deutlich mehr Arbeit, als einen Programmer anzuschließen und den Prozessor auszulesen.
    Daher interessiert mich, ob das schon einmal jemand versucht hat.

    • Quote
  • Kekse
    Reactions Received
    22
    Posts
    462
    • November 19, 2016 at 10:29 AM
    • #9

    Interessant, glaube schon das das gemacht hat aber hier öffentlich preisgeben wird das bestimmt keiner wollen.

    • Quote
  • Userli
    Reactions Received
    14
    Posts
    51
    wcf.user.option.option30
    KVA
    • March 9, 2021 at 9:22 AM
    • #10

    Ich habe es nun endlich geschafft, den Prozessor zu tauschen und die Maschine läuft wieder. Daher kann ich jetzt meine Fragen aus dem vorhergehenden Post beantworten:
    Der Bootloader ist von Segger. Deren Software erlaubt es, den Prozessor auszulesen. Man kann die Firmware dann auf den neuen Prozessor übertragen, braucht dazu allerdings ein entsprechendes Programmiergerät.
    Wenn der alte Prozessor komplett tot ist, braucht man noch die WMF Software. Bei mir war nur die Verbindung mit dem EEPROM defekt.

    • Quote

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!

Register Yourself Login
  1. Privacy Policy
  2. Contact
  3. Legal Notice
WoltLab Suite Forum - Thread Template © 2004-2026 WBB Support
Powered by WoltLab Suite™ 6.1.19
Style: Metro by cls-design
Stylename
Metro
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design