FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: papa am 13 September 2017, 23:00:36

Titel: HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: papa am 13 September 2017, 23:00:36
Mit der hier vorgestellten Anleitung, kann ein MAX Zwischenstecker in einen Homematic Zwischenstecker HM-LC-Sw1-Pl umgewandelt werden.

Hierzu ist der Zwischenstecker zu öffnen und mittels eines ISR-Programmers (z.B. USBasp) mit einem neuen Bootloader zu versehen. Der Bootloader wird mittels der angehängten makeotaMAX.html Datei erzeugt. Hierbei wird eine zufällige ID und Serial vergeben. Der Create Bootloader Button speichert den generierten Bootloader. Dieser ist dann mittels der folgenden Befehle auf die CPU des Zwischensteckers zu übertragen, wobei BOOTLOADER.hex durch den gespeicherten Bootloader zu ersetzen ist.


avrdude -p m32 -P usb -c usbasp -e
avrdude -p m32 -P usb -c usbasp -B 3 -U lfuse:w:0xA4:m -U hfuse:w:0xD0:m -U lock:w:0x2F:m
avrdude -p m32 -P usb -c usbasp -V -U flash:w:BOOTLOADER.hex


Nach erfolgreichem Flashen des Bootloader muss noch die Firmware übertragen werden. Hierzu wird das flash-ota Tool von hier (https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb) benötigt. Je nach verwendeten IO ist der Flashvorgang zu starten. Das folgende Beispiel nutzt eine HM-USB-CFG


flash-ota -f FIRMWARE.eq3 -s SERIAL


SERIAL ist mit der Zeichenkette zu ersetzen, die beim Bootloader-Erstellen verwendet wurde. FIRMWARE.eq3 ist die hier angehängte Version.

Ein Bild, wie der USBasp mit der CPU zu verbinden ist, folgt noch.

Edit 08.03.2018: Fuses angepasst, BOD aktiviert
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: rippi46 am 14 September 2017, 15:54:47
Hallo,

noch einmal ein ganz großes Lob für diese tolle Arbeit.

Jetzt kann ich endlich die beiden Switches wieder zuschrauben, da jetzt auch das flah-ota funktioniert.

Danke!!!

Gruß rippi

PS: Habe mir eine Arduino Pro Mini 3,3V als ArduinoISP programmiert, damit ich keine Spannungsteiler oder Levelshifter benötige.

Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: nanocosmos am 14 September 2017, 17:11:05
@rippi
Könntest Du bitte Dein Vorgehen genauer erläutern? [emoji4]
Einen Arduino pro mini habe ich auch noch rumliegen.

Grüße Daniel
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: rippi46 am 14 September 2017, 17:53:58
Ok!

Mit der Arduino IDE den Arduinoisp-sketch auf den Arduino aufspielen.
Dann PIN 10 mit Reset, Pin11 mit MOSI, Pin12 mit MISO, Pin13 mit SCK und dann
noch  VCC und GND mit dem Switch verbinden.
Nach der Anleitung von papa programmieren mit folgenden geänderten
Parametern -b 19200 -P comX -c avrisp.

Gruss rippi
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Klaus0815 am 14 September 2017, 18:57:38
ZitatHabe mir eine Arduino Pro Mini 3,3V als ArduinoISP programmiert

Packt der Spannungsregler vom Pro Mini die 3,3V Versorgung des Max-Steckers? Hätte ich zugegeben nicht gedacht.
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: rippi46 am 14 September 2017, 19:38:03
@Klaus0815

zumindest hatte ich bis jetzt keine Probleme damit!
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: StefanW am 15 September 2017, 17:01:37
Hallo,
erst mal *Daumen hoch* für die Arbeit die du geleistet hast.
Ich bin auch in dem Besitz von dem Medion-Angebot, und möchte meine beiden Zwischenstecker nun auch umflashen.

Nur irgendwie bekomme ich es nicht hin.  :(

Bekomme immer folgende Meldung, wenn ich versuche zu flashen:
avrdude -p m32 -P usb -c usbasp -B 3 -U lfuse:w:0xE4:m -U hfuse:w:0xD0:m -U lock:w:0x2F:m

avrdude: set SCK frequency to 187500 Hz
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.


Nun stellen sich für mich 2 Fragen:
1. Muss ich den Stecker noch in einen "Flashmodus" bringen? Wenn ja, wie?
2. Habe ich alle Pins richtig angeschlossen? (Gibts es vllt ein aussagekräftiges Bild oder sowas, welche Pins man an dem Stecker am besten nehmen sollte?)

Gruß
Stefan
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: rippi46 am 15 September 2017, 18:03:55
Hier:
https://forum.fhem.de/index.php?topic=75974.15 (https://forum.fhem.de/index.php?topic=75974.15)

Antwort #23
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: StefanW am 15 September 2017, 18:26:18
Hmpf...
Jetzt verstehe ich die Zeichnung erst...  ::)

Bin mit Leiterbahn verfolgen auf die gleichen Pins gekommen. :D
Dann ist das schon mal richtig.

Also noch mal Verkabelung checken.

Danke 
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Klaus0815 am 15 September 2017, 18:29:59
Zitat1. Muss ich den Stecker noch in einen "Flashmodus" bringen? Wenn ja, wie?

Nein, geht so, aber ist Deine Spannungsversorgung ausreichend und hat 3.3V?
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Brause am 16 September 2017, 08:37:07
Guten Morgen zusammen

erstmal DANKE für die klasse arbeit.

Habe gerade meine beiden Medion Stecker erfolgreich umgeflasht.  :)

hatte zwar zu Beginn auch die selbe Meldung wie Stefan, bei mir war es ein Masse Pin am Programmer, der entgegen der mitgelieferten Belegung nicht beschaltet war, anderen Masse-Pin genommen - alles gut.

Beim Bootloader brauchte ich zwar jeweils 3 Anläufe eh es dann auch funktioniert hat.
Ob wohl die die Flashvorgänge scheinbar immer erfolgreich waren, hat der Stecker dann am Strom nur Blinksignale von sich gegeben und ein connect zum ota-flash war erfolglos.
Aber wie gesagt nach dem 3. Bootloader flash war dann ota problemlos.

FHEM anlernen - freuen

Danke nochmal
Gruss Brause
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: StefanW am 16 September 2017, 12:47:15
Zitat von: Klaus0815 am 15 September 2017, 18:29:59
Nein, geht so, aber ist Deine Spannungsversorgung ausreichend und hat 3.3V?

Genau das war der Knackpunkt!

Hat nun alles funktioniert.

Vielen Dank!!
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: papa am 21 September 2017, 10:17:31
Ich habe dem ersten Beitrag noch ein Bild mit der Anschlußbelegung zum Flashen angehängt. Viele Dank an Ranseyer, der den Zwischenstecker zur Verfügung gestellt hat.

Außerdem ist dort noch eine aktuallisierte Firmware. Die andere hatte ein Problem mit pairSerial.
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Holzlenkrad am 25 September 2017, 02:22:06
Die hmID bleibt zufällig, wie sie vom Script generiert wurde oder?

Sie muss denke ich, nicht angepasst werden, um mit der hmID des IO Device übereinzustimmen?
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: papa am 25 September 2017, 10:01:35
Richtig - die HMID ist eindeutig für jedes Gerät. Du kannst einfach den Zufallswert nehmen.
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Frank_Huber am 31 Oktober 2017, 14:11:41
kann mir mal jmd auf die Sprünge helfen?

Hab auf meinem RasPi Arduino installiert um den AVRdude zu bekommen.

Jetzt bekomme ich folgende Fehlermeldungen:
root@FHEM-TEST:/home/pi/Downloads# avrdude -p m32 -P usb -c usbasp -B 3 -U lfuse:w:0xE4:m -U hfuse:w:0xD0:m -U lock:w:0x2F:m
avrdude: can't open config file "/etc/avrdude.conf": No such file or directory
avrdude: error reading system wide configuration file "/etc/avrdude.conf"


Hab dann eine leere conf angelegt.
root@FHEM-TEST:/home/pi/Downloads# nano /etc/avrdude.conf

Fehlermeldung jetzt:
root@FHEM-TEST:/home/pi/Downloads# avrdude -p m32 -P usb -c usbasp -B 3 -U lfuse:w:0xE4:m -U hfuse:w:0xD0:m -U lock:w:0x2F:m

avrdude: Can't find programmer id "usbasp"

Valid programmers are:

root@FHEM-TEST:/home/pi/Downloads#


Ich weis nicht weiter...
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: papa am 31 Oktober 2017, 20:34:09
Unter Windows befindet sich die avrdude.conf unter Arduino/hardware/tools/avr/etc. Sie ist 472kB groß.
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: RaspiLED am 31 Oktober 2017, 21:05:42
Hi
Hilft die?
https://github.com/arduino/Arduino/blob/master/hardware/arduino/avr/bootloaders/gemma/avrdude.conf
Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Frank_Huber am 03 November 2017, 15:39:17
sorry für die späte Antwort, hatte die Anworten leider übersehen.

Das war es! die Datei aus github nach /etc/avrdude.conf kopiert und avrdude lässt sich ohne Fehler starten.
ob er programmiert seh ich dann heute Abend zuhause.
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Frank_Huber am 03 November 2017, 20:11:12
So, bin nen Schritt weiter, beim ersten avrdude Befehl macht er was, aber mit Fehler.
root@FHEM-TEST:~# avrdude -p m32 -P usb -c usbasp -B 3 -U lfuse:w:0xE4:m -U hfus                                  e:w:0xD0:m -U lock:w:0x2F:m

avrdude: set SCK frequency to 187500 Hz
avrdude: warning: cannot set sck period. please check for usbasp firmware update                                  .
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9502 (probably m32)
avrdude: reading input file "0xE4"
avrdude: writing lfuse (1 bytes):

Writing |                                                    | 0% 0.00s ***faile                                  d;
Writing | ################################################## | 100% 0.03s

avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xE4:
avrdude: load data lfuse data from input file 0xE4:
avrdude: input file 0xE4 contains 1 bytes
avrdude: reading on-chip lfuse data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
         0xbf != 0xe4
avrdude: verification error; content mismatch

avrdude: safemode: lfuse changed! Was e4, and is now bf
Would you like this fuse to be changed back? [y/n] n
avrdude: safemode: Fuses OK (E:FF, H:DF, L:E4)

avrdude done.  Thank you.

root@FHEM-TEST:~#


Was mache ich falsch?

Vorgehensweise: verkabelt nach Anleitung, USBasp in Raspi, Befehl absetzen.
evtl falsche Anschlussbelegung? für den USBasp findet man mehrere Belegungen.
Ich habs so verdrahtet: https://mikrotechnica.files.wordpress.com/2012/01/idc.png
passt das?
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: papa am 03 November 2017, 20:15:58
Das kommt auf Deine USBasp an. Meine ist so wie hier beschrieben

http://www.s6z.de/cms/index.php/arduino/nuetzliches/31-usb-isp-programmer-fuer-atmel-avr-usbasp (http://www.s6z.de/cms/index.php/arduino/nuetzliches/31-usb-isp-programmer-fuer-atmel-avr-usbasp)

Aber wenn er falsch verkabelt ist. würde wahrscheinlich gar nichts gehen. Möglicherweise ist auch die Stromversorgunf von Pi zu schwach. Kannst Du mal nen USB-Hup mit Stromversorgung dazwischen schalten.
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Frank_Huber am 03 November 2017, 20:40:21
Hängt nen 2A Netzteil von nem IP phone dran.
Werd es aber mal mit nem original NT testen.
Muss das nur vom Mediaplayer weglaufen.

Mit dem Handy online, daher kurz gefasst...

Titel: HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: RaspiLED am 04 November 2017, 09:41:21
Hi,
der Raspi gibt aber wenig Strom auf dem USB aus, es sei denn Du setzt in

/boot/config.txt

einen Parameter

max_usb_current=1

Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: LuBeDa am 04 November 2017, 12:15:36
Zitat von: Frank_Huber am 03 November 2017, 20:11:12
So, bin nen Schritt weiter, beim ersten avrdude Befehl macht er was, aber mit Fehler.

Habe ähnlich Fehler aber auch einen ähnlichen China-Programmer wie "Papa".

Man kann aber auch mit dem Pi direkt flashen und dann auch die 3.3V vom Pi nehmen.

https://learn.adafruit.com/program-an-avr-or-arduino-using-raspberry-pi-gpio-pins/overview (https://learn.adafruit.com/program-an-avr-or-arduino-using-raspberry-pi-gpio-pins/overview)

Das werde ich nacher mal ausprobieren. Melde mich bei Erfolg.
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Frank_Huber am 04 November 2017, 13:00:02
Ich hab den gleichen wie papa.

Hab eben die config.txt um den USB Parameter erweitert.
brachte aber nix, gleicher Fehler wieder.

Spannung ist stabil, zuviel Strom ist es nicht. Hab nen Spannungs/Strommesser dazwischen gesteckt.
Und die Power-LED fing auch nicht das flackern an was sie macht wenn die Spannung abfällt.

Sollte mir das hier zu denken geben:
avrdude: set SCK frequency to 187500 Hz
avrdude: warning: cannot set sck period. please check for usbasp firmware update
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: LuBeDa am 04 November 2017, 17:43:30
Zitat von: Frank_Huber am 03 November 2017, 20:11:12
Was mache ich falsch?

Über diesen Fehler bin ich auch gestolpert. Mit einem Chip erease habe ich diese Hürde genommen. Habe aber noch nicht mit dem Flash-ota weiter gemacht. Also momentan habe ich keinen MAX! mehr, und wenn es schlecht läuft nur noch einen Brick ;-)

Erstmal Pause, bleibe aber am Ball!

Ludger
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: LuBeDa am 04 November 2017, 18:29:26
Am Ende habe ich keinen Brick sondern einen von MAX! nach Homematic konvertierten Zwischenstecker.

Einziges Problem, nachdem ich einen funktionierenden ISP gefunden hatte, war das mein Orginal-Flash gelockt war. Das konnte man aber mit avrdude beheben. Danach wieder nach Anleitung vorgegegangen und !!!fertig!!!.

Als Tipp: Direkt beim Bootloader generieren die aufgedruckte Seriennummer verwenden ;-)

Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Frank_Huber am 04 November 2017, 18:33:10
Zitat von: LuBeDa am 04 November 2017, 17:43:30
Über diesen Fehler bin ich auch gestolpert. Mit einem Chip erease habe ich diese Hürde genommen. Habe aber noch nicht mit dem Flash-ota weiter gemacht. Also momentan habe ich keinen MAX! mehr, und wenn es schlecht läuft nur noch einen Brick ;-)

Erstmal Pause, bleibe aber am Ball!

Ludger
Danke für die Infos.

Aufgedruckte SN nehmen. Wird versucht.
Aber das kommt ja erst im zweiten Schritt.

Ich hänge ja beim ersten avrdude Befehl.
Oder löst sich dies mit dem Chip erase?
Wie macht man den?

Mit dem Handy online, daher kurz gefasst...

Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: LuBeDa am 04 November 2017, 19:09:23
avrdude -p m32  -C ~/avrdude_gpio.conf -B100 -c linuxspi -P /dev/spidev0.0 -e

Das kursive musste ich für meinen Raspi als ISP-Programmer nehmen.

Das -e löscht deinen Stecker komplett, unwiederbringlich, für immer und ewig!

Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Frank_Huber am 04 November 2017, 19:19:11
Zitat von: LuBeDa am 04 November 2017, 19:09:23
avrdude -p m32  -C ~/avrdude_gpio.conf -B100 -c linuxspi -P /dev/spidev0.0 -e

Das kursive musste ich für meinen Raspi als ISP-Programmer nehmen.

Das -e löscht deinen Stecker komplett, unwiederbringlich, für immer und ewig!

Ja aber nur bis der HomeMatic Bootloader drauf ist. :-)

Und nach dem löschen konntest Du die anderen avrdude Befehle fehlerfrei absetzen?
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: LuBeDa am 04 November 2017, 20:26:34
Genau,
danach funktionierte bei mir der Befehl:

avrdude -p m32 ... -U lfuse:w:0xE4:m -U hfuse:w:0xD0:m -U lock:w:0x2F:m und der Rest auch.

Ludger
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: papa am 04 November 2017, 20:39:51
Ich habe mal die Anweisung

avrdude -p m32 -P usb -c usbasp -e

im ersten Beitrag ergänzt. Stimmt doch so ?
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: LuBeDa am 05 November 2017, 10:05:44
Zitat von: papa am 04 November 2017, 20:39:51
Stimmt doch so ?

Bei mir hat es super geklappt. Der erste Stecker hat cirka 3 Stunden gedauert, der zweite heute nur 8 Minuten inkl. Pairing.

Danke für diese Firmware!!
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Holzlenkrad am 12 November 2017, 21:02:26
Sagt mal, welche Torx-Größe ist das eigentlich? Hab festgestellt, dass ich da gar nichts in meiner Sammlung habe, müsste also noch irgendwie günstiges Werkzeug bestellen.
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Frank_Huber am 13 November 2017, 18:36:50
Torx kann ich im Büro morgen schauen. Ich glaube es war ein 6er.

Was anderes:
Hat jemand ne verständlichere Anleitung zum flashen wenn der Bootloader mal drin ist?
Die Anleitung hier: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb ist nicht sehr einleuchtend. ;o)
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: tndx am 14 November 2017, 08:13:20
Was ist daran nicht verständlich?

Zum Installieren "Short hmland HowTo", Schritte 1-3 befolgen (wenn Du nur flashen willst, nicht aber HM-CFG-USB als IO-Device betreiben willst).

Danach, wenn Du HM-CFG-USB hast noch "Updating the HM-CFG-USB firmware to version 0.967" durchführen, ansonsten gleich zu "Updating HomemMatic devices over the air (OTA) (also for CUL- and HM-MOD-UART-devices)" springen. 5, 6, 7 sind hier alternativ, je nachdem welches IO-Device Du verwendest.

Was mich hier stutzig gemacht hat:

Zitat-K is only needed, when AES signing is active on the device.

Heißt es, wenn AES aktiviert ist, kann auch die Firmware nur aktualisiert werden, wenn der Schlüssel bekannt ist? Wie sieht es aus bei mehrkanaligen Aktoren? Reicht ein Kanal mit aktivierter Signierung aus? Ist es bei AskSin-Implementierungen genau so?
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Frank_Huber am 14 November 2017, 08:38:38
Zitat von: Frank_Huber am 13 November 2017, 18:36:50
Torx kann ich im Büro morgen schauen. Ich glaube es war ein 6er.

Ja, es ist ein Torx-6

Zitat von: tndx am 14 November 2017, 08:13:20
Was ist daran nicht verständlich?

Naja, die Anleitung ist für viele verschiedenen HM Adapter. Wenn man jetzt wie ich einen CUL verwendet musst halt erstmal die richtigen Schritte rausfinden ohne einen zu überspringen.
Wenn man das nicht täglich macht tut man sich da schwer...
Danke für deine Zusammenfassung, das hilft erstmal. :-)
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: papa am 14 November 2017, 10:11:53
Zitat von: tndx am 14 November 2017, 08:13:20
Heißt es, wenn AES aktiviert ist, kann auch die Firmware nur aktualisiert werden, wenn der Schlüssel bekannt ist? Wie sieht es aus bei mehrkanaligen Aktoren? Reicht ein Kanal mit aktivierter Signierung aus? Ist es bei AskSin-Implementierungen genau so?

Ja, der Key muss bekannt sein, wenn das Gerät nicht von Hand in den Bootloader-Mode gebracht werden soll und Signierung angeschaltet ist (ein Kanal reicht). In der AskSin++ ist es so implementiert, dass für die Ausführung der BOOTLOADER-Kommandos ein AES-Sign-Request gesendet wird und nur bei gültiger Signatur das Kommando ausgeführt wird. Das selbe wird ebenfalls beim RESET, welches das Gerät wieder in die Grundeinstellung bringt, gemacht. Es reicht dabei, dass ein Kanal auf Sign steht.

Wenn das Gerät durch Neustart und drücken des Konfig-Tasters in den Bootloader-Modus gebracht wird, wird der Key nicht benötigt.
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: tndx am 14 November 2017, 12:36:30
OK, Danke für die Info! Ich habe schon gedacht, es gibt doch noch eine Möglichkeit Devices mit OTA-Bootloader vom Auslesen der gespeicherten AES-Keys durch Flashen einer "Auslesefirmware" zu schützen.  :(
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Frank_Huber am 14 November 2017, 18:48:54
Zitat von: tndx am 14 November 2017, 08:13:20
Was ist daran nicht verständlich?

Zum Installieren "Short hmland HowTo", Schritte 1-3 befolgen (wenn Du nur flashen willst, nicht aber HM-CFG-USB als IO-Device betreiben willst).

Danach, wenn Du HM-CFG-USB hast noch "Updating the HM-CFG-USB firmware to version 0.967" durchführen, ansonsten gleich zu "Updating HomemMatic devices over the air (OTA) (also for CUL- and HM-MOD-UART-devices)" springen. 5, 6, 7 sind hier alternativ, je nachdem welches IO-Device Du verwendest.

Was mich hier stutzig gemacht hat:

Heißt es, wenn AES aktiviert ist, kann auch die Firmware nur aktualisiert werden, wenn der Schlüssel bekannt ist? Wie sieht es aus bei mehrkanaligen Aktoren? Reicht ein Kanal mit aktivierter Signierung aus? Ist es bei AskSin-Implementierungen genau so?

So, bei Schritt 1 bekomme ich nen Fehler:
root@FHEM-TEST:/home/pi/Downloads/hmcfgusb-0.103# apt-get install libusb-1.0-0-dev build-essential git
Reading package lists... Done
Building dependency tree
Reading state information... Done
build-essential is already the newest version (12.3).
git is already the newest version (1:2.11.0-3+deb9u2).
The following packages were automatically installed and are no longer required:
  arduino-core avr-libc binutils-avr extra-xdg-menus gcc-avr libjna-java
  libjna-jni librxtx-java
Use 'apt autoremove' to remove them.
Recommended packages:
  cups
The following NEW packages will be installed:
  libusb-1.0-0-dev libusb-1.0-doc
The following packages will be upgraded:
  realvnc-vnc-server
1 upgraded, 2 newly installed, 0 to remove and 21 not upgraded.
94 not fully installed or removed.
Need to get 0 B/6,077 kB of archives.
After this operation, 2,625 kB of additional disk space will be used.
Fatal Python error: Py_Initialize: can't initialize sys standard streams
Traceback (most recent call last):
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 669, in exec_module
  File "<frozen importlib._bootstrap_external>", line 773, in get_code
  File "<frozen importlib._bootstrap_external>", line 484, in _compile_bytecode
ValueError: bad marshal data (invalid reference)
Aborted
E: Sub-process /usr/bin/apt-listchanges --apt || test $? -lt 10 returned an error code (1)
E: Failure running script /usr/bin/apt-listchanges --apt || test $? -lt 10


wie bekomme ich das zum laufen?
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Frank_Huber am 16 November 2017, 20:16:22
Hab gerade festgestellt dass ich auch kein dist-upgrade machen kann. Kommt auch nen Fehler.
Werd dann mal die sd Karte prüfen bzw wechseln...
Melde mich wieder...

Mit dem Handy online, daher kurz gefasst...

Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Frank_Huber am 16 November 2017, 21:06:42
OK, lag am file system. ein check beim booten und ich konnte updaten und das Paket installieren.
Dann mach ich erstmal weiter.

EDIT: FIrmware ist drauf.

Der Zwischenstecker hat mir aber beim pairing die VCCU zerschossen.
Hat Type und Serial in die VCCU geschrieben.

werd mal VCCU löschen und neu anlegen

EDIT:

Bei jedem Pairing Versuch zerschießt es mir die VCCU.
model, firmware und Seriennummer des MAX Steckers werden da eingetragen.
Noch dazu kommt alle Nase lang in der VCCU der state auf "Nack"

Was habe ich falsch gemacht?
soll ich den Stecker nochmal neu flashen?
zum FW Update hatte ich ihn noch über die 3,3V vom USBASP versorgt. muss er hier schon an 230V?
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: papa am 17 November 2017, 13:53:29
Das ist sehr komisch und kann eigentlich nicht am Stecker liegen, da er ja nur Informationen an FHEM sendet. Ist FHEM aktuell ? Passiert das auch bei anderen Geräten ? Ist die HMID vielleicht zufällig die gleiche wie die der VCCU ?
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Frank_Huber am 17 November 2017, 14:08:51
die HMID hat der CUL automatisch gesetzt auf F10001
Der Stecker hat im Bootloader das gleiche. muss doch so oder ist da mein Fehler?

mein FHEM arbeitet mit meiner HMID, für den Bootloader musste man den angeben.

Falls das nicht der gleiche sein muss ist es blöd dass beides HMID benamt ist...
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: papa am 17 November 2017, 14:53:15
Der Bootloader will seine HMID haben. Jedes Homematic Geräte hat seine eigene ID. Also den Bootloader nochmal mit einer zufälligen ID versehen und neu flashen.
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Frank_Huber am 17 November 2017, 14:57:51
*LOL*

Also doch zweimal HMID mit verschiedener Bedeutung. suuuuuper.....

zumindest erklärt das den Fehler. :-)

Danke!
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Ranseyer am 17 November 2017, 21:08:14
Ist mir ein bisschen peinlich die Frage: Ich habe schon eine Weile nichts mehr OTA geflasht.

Den Bootloader habe ich aufgespielt. Allerdings tut sich an der Stelle nichts mehr:

Zitatmartin@martin-desktop:~/tmp/max/hmcfgusb$ sudo ./flash-ota -c /dev/ttyACM0 -f mega32_HM_LC_Sw1_Pl_201709210858.eq3 -s KEQ9009116
HomeMatic OTA flasher version 0.103-git

Reading firmware from mega32_HM_LC_Sw1_Pl_201709210858.eq3...
Firmware with 224 blocks successfully read.
Opening culfw-device at path /dev/ttyACM0 with speed 38400
Requesting firmware version
culfw-device firmware version: a-culfw
Entering 10k-mode
Waiting for device with serial KEQ9009116

Der Stecker hängt an der Steckdose und wird daher von mir nicht selber mit 3,3V versorgt. Blinken tut er ca. 10 Mal schnell, und dann eine kurze Pause. usw...

Frage: Muss ich z.B. während des Einsteckens den Taster kurz gedrückt halten, oder ein paar Sekunden, oder später. Oder habe ich eher ein Problem mit dem Bootloader/Serien-Nummer ?
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: papa am 18 November 2017, 01:33:39
Ich würde auf ein Problem mit dem Bootloader/Serienummer tippen. Nach dem Flashen des Bootloaders geht er immer erst mal auf OTA-Empfang, bis das esrste mal eine gültige Firmware geflasht wurde.
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Frank_Huber am 18 November 2017, 09:36:18
BTW:

mit "richtiger" HMID im BOOTLOADER war alles kein Problem.
in unter 5min von Max auf HM.

:-)
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Holzlenkrad am 19 November 2017, 00:43:16
So, nachdem heute endlich der Torx Schraubendreher kam, habe ich mich mal ans Flashen gesetzt.

Ging dann auch viel einfacher, als ich gedacht habe. Für den ersten Stecker habe ich noch 20 Minuten gebraucht, für den zweiten dann nur noch 5.
Am abenteuerlichsten war die Konstruktion, um den USBasp mit dem Stecker zu verbinden. Ich wollte wegen der paar Minuten nichts fest löten, und leider haben die Pinouts auch keinen 2,54 mm Abstand.

Ich wüsste aber gern mal, woher die Firmware kommt. Ist die identisch zur Homematic-Zwischenstecker-Firmware? Die konnte ich bei eq3 gar nicht finden.

Danke an Papa für die Anleitung!
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: papa am 19 November 2017, 03:21:08
Die Firmware basiert auf der AskSin++ Library (https://forum.fhem.de/index.php/topic,57486.0.html).
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Ranseyer am 20 November 2017, 21:21:09
Mein Problem war vermutlich der Programmer. Ich habe nur einen USB-ASP der 3,3V kann. Dieser meckert aber selbst beim schreiben der Fusebits schon immer wiedermal über Fehler. Habe mir also mal einen neuen bestellt...
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Klaus0815 am 21 November 2017, 06:59:23
ZitatIch habe nur einen USB-ASP der 3,3V kann.
3,3V ist aber schon richtig, mit 5V zerstörst Du evtl. den Sendechip.

Kann es sein das Dein USBASP zu wenig Strom liefert? Schließ doch mal ein3,3V  Netzteil als SPannungsversorgung an?
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Ranseyer am 21 November 2017, 08:00:04
Mein USB-ASP kann nätürlich auch 5V. Aber ich traue mich keinesfalls diese zu nutzen wegen dem Transceiver.
Das Statement sollte sein: Ich traue dem USB-ASP nicht bei 3,3V. (Bei 5V hat er schon fast 200 AVRs geflasht, aber auch da gelegentlich gezickt)
Zitat3,3V ist aber schon richtig, mit 5V zerstörst Du evtl. den Sendechip.


Du meinst (?):
- GND überall verbinden
- 3,3 V nicht vom USB-ASP zum "Target" verbinden, statt dessen extern beziehen

Das würde ich machen, warte jetzt wohl doch die 1-2 Tage auf den neuen Programmer. Denke ich hab mir bei einer Steckdose die Fusebits zerschossen und muss nun den AVR tauschen oder wiederbeleben.
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: RaspiLED am 21 November 2017, 08:20:12
Hi Martin,
Ich habe auch schon zwei USB-ASP genommen und die Schaltung mit dem einen USB-ASP geflasht und vom zweiten USB-ASP (oder auch nur Arduino Nano) nur 3,3V und GND als Spannungsreserve parallel dran ;-)
Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Heffer am 10 Dezember 2017, 15:51:56
Hat einer eine Idee für mich ?
Beim OTA-Update per

Zitatsudo ./flash-ota -c /dev/ttyAMA0 -f mega32_HM_LC_Sw1_Pl_201709210858.eq3 -s KEQ9008999

erhalte ich lediglich

ZitatOpening culfw-device at path /dev/ttyAMA0 with speed 38400
Requesting firmware version
culfw-device firmware version: 1.61
Entering 10k-mode
Waiting for device with serial KEQ9008922
Device with serial KEQ9008999 (HMID: 7b3cc3) entered firmware-update-mode
Initiating remote switch to 100k
Entering 100k-mode
Has the device switched?

Missing ACK!

Missing ACK!

Missing ACK!

Missing ACK!
No!
Entering 10k-mode
Initiating remote switch to 100k
Entering 100k-mode
Has the device switched?
......

Woran kann das liegen ?

Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: papa am 10 Dezember 2017, 20:01:13
Schlechter Empfang ? Probiere mal ne andere Position / Entfernung.
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Heffer am 10 Dezember 2017, 22:00:19
Hallo papa, danke für Deine Antwort.

Den Standort habe ich schon verändert, zwischen 0,5 - 6m. Keine Änderung in der Fehlermeldung.
Auch den Bootloader-Flashvorgang und das Generieren des hex-Files habe ich mehrfach durchprobiert, keinen Änderung :-(
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: papa am 11 Dezember 2017, 10:05:13
Tja, das ist schon komisch. Vielleicht hat das Funkmodul eine Macke und kann den 100k Modus nicht richtig. Du könnest noch versuchen, die Firmware per ISP direkt zu flashen. Das Schreiben des Bootloaders scheint ja ohne Probleme zu funktionieren.
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: rippi46 am 11 Dezember 2017, 10:29:42
Hallo,

@Heffer: Ich hatte ein ähnliches Problem. Bei mir hatte er angefangen zu flashen hat dann aber meistens genau mit dieser Fehlermeldung abgebrochen. Bei mir lag es daran, dass mein Umgebung in der ich OTA flashen wollte zu stark "verseucht" war. Ich habe dann einfach meine "Flashumgebug" gegen den Rest abgeschirmt.

Gruß rippi
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Heffer am 11 Dezember 2017, 21:45:32
Ich bin ein großes Stück weiter.

Nachdem ich das "Raspberry Pi Add-On Board" (hier aus dem Forum) gegen ein "HM-MOD-RPI-PCB HomeMatic Funkmodul" ausgetauscht habe, konnte ich die Firmware fehlerfrei übertragen.
Ein Anlernen in der "homematic-raspi" CCU funktionierte auch, das Ein- und Ausschalten über die Bedienoberfläche war möglich.

Aber: sobald ich den Stecker von Stromnetz trenne, ihn wieder verbinde, blinkt er nur noch und zeigt keine weiter Funktion. Den Vorgang des "Flashens / OTA-Firmware / Anlernen / Strom trennen" habe ich wiederholt, mit gleichem Ergebnis, er blinkt wieder und reagiert weder auf die CCU noch auf den Ein-/Ausschalter.
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: papa am 12 Dezember 2017, 08:44:01
Wie blinkt er denn ?
Kannst Du dann gleich wieder ein OTA-Flashen starten ?
Hat es jetzt nur einmal funktioniert - oder geht es nach dem OTA-Flashen bis zum Stromlos-machen ?
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Heffer am 12 Dezember 2017, 10:22:44
Hallo Papa

- ca. 10 x blinken - Pause - 10 x blinken - Pause - ....   (ungleich dem Blinken zum OTA-Update !)

- OTA-Flashen habe ich nicht getestet

- versucht habe ich es 3 mal. Direkt nach dem OTA-Update funktioniert noch alles, allerdings noch mit Spannungsversorgung aus meinem USBasp. Dann USBasp abziehen und Stecker in 230V-Steckdosenleiste, schalten über Taster funktioniert, auch aus der CCU. Nun die Steckdosenleiste auschalten und wieder einschalten -> nichts geht mehr !

Heffer
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: papa am 12 Dezember 2017, 11:12:46
Zitat von: Heffer am 12 Dezember 2017, 10:22:44
- ca. 10 x blinken - Pause - 10 x blinken - Pause - ....   (ungleich dem Blinken zum OTA-Update !)

Hm - der Bootloader blinkt 7x. Wenn die Checksumme im Flash stimmt, wird dann die Firmware gestartet. Dann sollte die Steckdose auch mal kurz blinken, wenn sie den aktuellen Status überträgt.
Ich sehe hier 2 Möglichkeiten, dass es immer wieder neu startet. Die Checksumme im Flash stimmt nicht oder die Firmware stürzt einfach ab.

Zitat von: Heffer am 12 Dezember 2017, 10:22:44
- OTA-Flashen habe ich nicht getestet

Bitte mal einfach den flash-ota nochmal starten, wenn die Dose sich so komisch verhält. Dann sehen wir wenigstens, ob der Bootloader eine Firmware will oder ob die Dose einfach abstürzt.

Zitat von: Heffer am 12 Dezember 2017, 10:22:44
- versucht habe ich es 3 mal. Direkt nach dem OTA-Update funktioniert noch alles, allerdings noch mit Spannungsversorgung aus meinem USBasp. Dann USBasp abziehen und Stecker in 230V-Steckdosenleiste, schalten über Taster funktioniert, auch aus der CCU. Nun die Steckdosenleiste auschalten und wieder einschalten -> nichts geht mehr !

OTA-Flashen bitte nicht mit den USBasp machen. ich bin mir nicht sicher, ob er genug Leistung bereitstellt, um das Funkmodul und das Schreiben des Flashesspeichers sicher zu versorgen. Der "normale" Ablauf ist Bootloader mit USBasp flashen. Dann den USBasp ab und den Stecker in die 230V Steckdose. Jetzt startet der Bootloader und wartet automatisch auf die Übertragung des Images per OTA.
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Heffer am 12 Dezember 2017, 22:22:35
Den Zwischenstecker habe ich wohl geschrotet. Keine Reaktion auf das USBasp oder auf das 230V-Netz.

Habe ein paar mal den "Bootloader flashen"-Vorgang durchgespielt und nun ist er tot.

Gibt's einen Tip zur Reanimation ?
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: papa am 13 Dezember 2017, 08:19:05
Leider nein
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Ranseyer am 13 Dezember 2017, 08:27:57
Ich hab ja auch so ein Teil. Nehme an die Fusebits sind "ver-fused"...
Auf den selben Platz würde ja auch z.B. ein Mega328 passen. Aber dazu gäbe es dann keine Firmware ?
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: papa am 13 Dezember 2017, 08:33:45
Zitat von: Ranseyer am 13 Dezember 2017, 08:27:57
Ich hab ja auch so ein Teil. Nehme an die Fusebits sind "ver-fused"...
Auf den selben Platz würde ja auch z.B. ein Mega328 passen. Aber dazu gäbe es dann keine Firmware ?

Firmware wäre sicherlich nicht das Problem. Aber sind die Pins nicht komplett unterschiedlich angeordnet ? Der originale is ja nen alter ATMega32. Den gibt es aber auch als TQFP32.
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Ranseyer am 13 Dezember 2017, 13:43:05
Danke, da hast du bestimmt Recht: https://www.ebay.de/itm/ATMEL-ATmega32A-AU-TQFP44-TQFN44-C-Mikrocontroller-32kB-8bit-146/221997535554 / https://www.reichelt.de/Atmel-ATMega-AVRs/ATMEGA-32A-AU/3/index.html?ACTION=3&LA=446&ARTICLE=119676&GROUPID=2959&artnr=ATMEGA+32A-AU&SEARCH=ATmega32


PS: Ganz lustig: Habe vor ein paar  Wochen den jahrelang nicht mehr genutzten Fusebit-Doktor verkauft... (Platz und so...) http://mdiy.pl/atmega-fusebit-doctor-hvpp/?lang=en

Denke ich bestelle mir gelegentlich mal 1-2 solche Chips...
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Heffer am 14 Dezember 2017, 21:25:54
Auf meinem Board lautet die Beschriftung "ATmega32L-8MU". Das sollte laut Datenblatt eine QFN/MLF-Gehäuseform sein. Ist aber ein TQFP-44.
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Paul.baumann am 28 Dezember 2017, 14:51:36
Zitat von: Heffer am 11 Dezember 2017, 21:45:32
Aber: sobald ich den Stecker von Stromnetz trenne, ihn wieder verbinde, blinkt er nur noch und zeigt keine weiter Funktion. Den Vorgang des "Flashens / OTA-Firmware / Anlernen / Strom trennen" habe ich wiederholt, mit gleichem Ergebnis, er blinkt wieder und reagiert weder auf die CCU noch auf den Ein-/Ausschalter.

Diese Phänomen kann ich zumindest ähnlich bestätigen:
Ich habe 4 Zwischenstecker umgebaut. Nach 2-3 Wochen (spannungslos) wollte ich sie dann verwenden, 2 funktionierten, die anderen beiden zeigten das beschriebene Verhalten (7x blinken, Pause, 7x blinken...). Ich habe die beiden dann neu geflasht und sie funktionierten wieder. 3 davon habe ich jetzt ca. 2 Wochen in Betrieb. Gestern waren die Dinger aufgrund von Arbeiten am Verteilerschrank wieder ca 2h spannungslos. Einer der beiden Sorgenkinder zeigt wieder die blinkende LED (der andere wird aktuell nicht verwendet). Nach Setzen der FuseBits, Flashen Bootloader und OTA-Flashen der Firmware funktioniert er wieder.

Zitat von: papa am 12 Dezember 2017, 11:12:46
Bitte mal einfach den flash-ota nochmal starten, wenn die Dose sich so komisch verhält. Dann sehen wir wenigstens, ob der Bootloader eine Firmware will oder ob die Dose einfach abstürzt.

Ohne den Bootloader neu zu übertragen, konnte ich die Firmware nicht OTA-Flashen.


Dann habe ich mir das zweite Sorgenkind betrachtet. Der war ca. 2 Wochen nicht in Betrieb (spannungslos) und funktioniert auch nicht mehr. Den bekomme ich nicht mehr ans Laufen:

Habt ihr hier noch Ideen, wie ich das Dinge wieder ans Laufen bekomme?


Paul
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Klaus0815 am 28 Dezember 2017, 17:13:42
Hallo Paul,

helfen kann ich Dir leider nicht, aber ein Softwareproblem kann ich fast ausschließen
Ich habe 2 umgeföashe Aktoren, die ich momentan nicht benötige - diese stecken in der schaltbaren Werkstattsteckdose und wurden seit dem flashen mindestens 50 x an / ausgeschaltet, gab keine Probleme
Ich habe allerdings nicht OTA geflasht, sondern direkt mit der Arduino-IDE

Viele Grüße
Klaus
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: papa am 28 Dezember 2017, 20:00:39
Tja - das ist irgendwie schon komisch. Zwei Sachen könnte man noch versuchen, wenn es so nicht läuft.

1) Den externen Quarz verwenden. Das müsste dann folgende Fuses sein (bitte nochmal selber checken):


avrdude -p m32 -P usb -c usbasp -B 3 -U lfuse:w:0xFF:m -U hfuse:w:0xD0:m -U lock:w:0x2F:m


2) Falls die Spannung nicht ganz stabil ist, könnte auch das Aktivieren des BOD helfen. Dann sind die Fuses mit externen Quarz (bitte auch nochmal checken):


avrdude -p m32 -P usb -c usbasp -B 3 -U lfuse:w:0xBF:m -U hfuse:w:0xD0:m -U lock:w:0x2F:m


Habe gerade auch noch was gefunden, wo gesagt wird, dass CKOPT immer gesetzt sein soll (https://www.mikrocontroller.net/topic/65172). Dann kommt (alles zusammen) das hier raus:


avrdude -p m32 -P usb -c usbasp -B 3 -U lfuse:w:0xBF:m -U hfuse:w:0xC0:m -U lock:w:0x2F:m

Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Paul.baumann am 29 Dezember 2017, 16:45:25
Zitat von: papa am 28 Dezember 2017, 20:00:39
Tja - das ist irgendwie schon komisch. Zwei Sachen könnte man noch versuchen, wenn es so nicht läuft.

1) Den externen Quarz verwenden. Das müsste dann folgende Fuses sein (bitte nochmal selber checken):


avrdude -p m32 -P usb -c usbasp -B 3 -U lfuse:w:0xFF:m -U hfuse:w:0xD0:m -U lock:w:0x2F:m


2) Falls die Spannung nicht ganz stabil ist, könnte auch das Aktivieren des BOD helfen. Dann sind die Fuses mit externen Quarz (bitte auch nochmal checken):


avrdude -p m32 -P usb -c usbasp -B 3 -U lfuse:w:0xBF:m -U hfuse:w:0xD0:m -U lock:w:0x2F:m


Habe gerade auch noch was gefunden, wo gesagt wird, dass CKOPT immer gesetzt sein soll (https://www.mikrocontroller.net/topic/65172). Dann kommt (alles zusammen) das hier raus:


avrdude -p m32 -P usb -c usbasp -B 3 -U lfuse:w:0xBF:m -U hfuse:w:0xC0:m -U lock:w:0x2F:m


Ich werde das testen... aber erst wenn die Dosen nicht mehr für die Winterdeko genutzt werden. Sonst gibts Mecker, falls was schief geht. :-\

Soweit erstmal danke,

Paul
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: papa am 31 Januar 2018, 22:46:57
Ich hatte jetzt auch das Problem, dass mein Zwischenstecker nicht mehr funktionierte, nachdem er ohne Spannung war. Ich habe jetzt die Fuses geändert und BOD aktiviert. Dadurch wird der AVR sofort angehalten, wenn die Spannung unter 2.7V absinkt. Wie es aussieht, passiert das immer kurz nach dem Einstecken. Läuft die CPU einfach weiter, kann das Lesefehler aus dem Flash zur Folge haben. Dann startet der Bootloader die Firmware nicht.
Ich habe den Zwischenstecker jetzt seit ca. einer Woche immer mal wieder aus der Steckdose gezogen. Er funktioniert noch einwandfrei. Ich denke, das Problem ist durch das Aktivieren vom BOD gelöst.

Folgender Befehl setzt die Fuses entsprechend:
avrdude -p m32 -P usb -c usbasp -B 3 -U lfuse:w:0xA4:m -U hfuse:w:0xD0:m -U lock:w:0x2F:m
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Paul.baumann am 07 März 2018, 12:13:01
Zitat von: papa am 31 Januar 2018, 22:46:57
Ich habe den Zwischenstecker jetzt seit ca. einer Woche immer mal wieder aus der Steckdose gezogen. Er funktioniert noch einwandfrei. Ich denke, das Problem ist durch das Aktivieren vom BOD gelöst.

Folgender Befehl setzt die Fuses entsprechend:
avrdude -p m32 -P usb -c usbasp -B 3 -U lfuse:w:0xA4:m -U hfuse:w:0xD0:m -U lock:w:0x2F:m

Sieht gut aus. Auch ich habe bei einem meiner Sorgenkinder BOD aktiviert und seitdem läuft das Ding.


Danke, Paul
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Funsailor am 08 März 2018, 11:51:36
Kann ich die ASKin Firmware auch auf einen original Homematic HM-LC-Sw1-Pl Schalter, der mit einer AES veschlüsselt ist, aufspielen und damit die AES löschen?
Hintergrund:
Mein Freund wollte vor einiger Zeit die AES Verschlüsselung (mit einer CCU2) testen. Nach dem er einige Devices (1 * HM-LC-Sw1-Pl, 1 * HM-SEC-MDIR und 1 * HM-Sec-MDIR-O) mit dem Schlüssel versehen hatte, ist Ihm vor dem sichern der Daten die CCU2 abgeraucht. (Da hat mal wieder Murphys Gesetz zugeschlagen).

Den Schalter hat er mir dann zum spielen gegeben, ich hatte aber bisher keine Zeit mich damit auseinander zu setzen.

Jetzt hätte ich ein weing Zeit den Schalter wieder zur Mitarbeit zu bewegen .... wenn es den geht.

Ich gehe davon aus, das man den gesamten Inhalt des ATmega32 löschen kann und dann über den beschriebenen Weg die Firmware aufspielen kann, oder mache ich da einen Denkfehler? Ich will das Teil aber auch nicht ins Nirwana senden, theoretisch kann man das ja auch zum löschen des Schlüssels bei EQ3 einsenden.

Wenn das dann klappt, muss ich mal nachhaken wo die HM-Sec-MDIR abgeblieben sind....

Wenn das theoretisch gehehn soööte, noch noch eine Frage bei der Vorgehensweise.
Ist die CKOPT Fuse jetzt doch nicht zwingend nötig?
Dann müsste ja BOD ausreichen.
Danke
Funsailor
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: papa am 08 März 2018, 16:42:15
Wenn die Hardware gleich ist, müsste es funktionieren. Aktivieren vom BOD scheint auszureichen. Ich habe den ersten Beitrag entsprechend angepasst.
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Funsailor am 08 März 2018, 20:57:21
Dann mach ich mich mal an Werk, den ISP Adapter habe ich endlich wieder in einer der vielen "Kruschtlkisten" gefunden.
Werde dann berichten ob es geklappt hat

Das wird heute wohl doch nichts mehr. >:(
Ich komme schon beim ersten Schritt nicht weiter.
     avrdude -p m32 -P usb -c usbasp -e
Obwohl der Treiber im Gerätemanager mit der richtigen VID und PID Nummer angezeigt wird, bekomme ich immer die Meldung:

"could not find USB device "USBasp" with vid=0x16c0 pid=0x5dc"

Ich habe schon einige Foren durchgelesen, aber so richtig komme ich nicht weiter. :-\
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: papa am 09 März 2018, 08:34:15
Probiere mal das hier (http://xanthium.in/installing-libusb-software-drivers-for-usbasp-on-Windows7-using-zadig)
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Funsailor am 09 März 2018, 09:34:35
Hallo Papa,
danke für die Antwort.
Den Tipp mit der Zadig Applikation hatte ich schon durchgeführt.  8)
Ich habe jetzt die Mimik an meinem Arbeitsplatz in der Firma getestet und die Fehlermeldung
"could not find USB device "USBasp" with vid=0x16c0 pid=0x5dc"
ist weg.   :)
Entferne ich in der Firma den "USBasp" und setze den Befehl
"avrdude -p m32 -P usb -c usbasp -e"
ab, bekomme ich dieselbe Fehlermeldung wie an meinem PC daheim. Das ist auch das Verhalten das ich erwarte.  ;)

Warum sich mein Rechner daheim anders verhält muss ich noch herausbekommen.  :-\
Einen Unterschied im Gerätemanager habe ich aber gesehen.
Im Firmen PC steht der USBaps unter der Kategorie libusb-win32-devices. 
Wenn ich mich recht erinnere, stand der USBaps daheim unter der Kategorie "USB-Gerät".

Außerdem muss ich wohl die aktuelle Firmware auf den USBaps spielen und die Verdrahtung nochmals checken.
(Ich nutze einen China USBaps V2.0 und bei denen scheint es unterschiedliche Kabelbelegungen zu geben)

Gebe ich den Befehl "avrdude -p m32 -P usb -c usbasp -e" ein, erhalte ich als Meldung

avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: Funsailor am 09 März 2018, 12:48:16
Da ich immer noch keine Verbindung zum Controller des Schalters bekomme, habe ich mir das ganze auf dem Oszi angeschaut.
Sobald die Spannung anliegt, sendet der USBasp ein etwas unregelmässiges Clocksignal auf SCK an den Controller des Schalters.
Daraufhin gibt der Controller des Schalters auf MISO eine Antwort, allerdings ohne ein Clocksignal.
Und dann rennt das Programm des Schalters los.

Legende zum Bild (die Namen beziehen sich auf das Bild ersten Beitrag in diesem Thread)
Gelb: SCK
Rot:  MISO
Blau: MOSI

Gemessen wird am Zwischenstecker!

Ich habe am ISP Programmer MOSI und MISO getauscht (Wer weiß schon, wie das China Teil geroutet ist?), hat aber auch nichts gebracht.
Außerdem habe ich auch mal die MISO zum ISP Programmer gekappt, das Bild ändert sich nicht.
Also sendet der Controller des Zwischenstecker auf MISO.

Hier die Meldungen mit -F


avrdude -p m32 -P usb -c usbasp -F

avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
avrdude: Expected signature for ATMEGA32 is 1E 95 02

avrdude done.  Thank you.


Versionsabfrage:


avrdude -v

avrdude: Version 5.10, compiled on Jan 19 2010 at 10:45:23
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\WinAVR-20100110\bin\avrdude.conf"


avrdude: no programmer has been specified on the command line or the config file
         Specify a programmer using the -c option and try again


Sollte ich den ISP Programmer updaten?
In den Foren steht dazu, das man dann lediglich mit variablen SCK Frequenzen arbeiten kann und das hilft dann auch nicht weiter.
Oder mal einen Arduino zum ISP Programmer umbauen?

Oder kann das sein das mich der Homematic Schalter ausperrt?



Oh nein. Asche über meine Haupt.
Nachdem ich das Datenblatt im Kapitel "SPI Serial Downloading" gelesen habe, ist mir bei der Messung aufgefallen, das der reset immer auf High bleibt.
Dann habe ich in Papas Bild im ersten Beitrag den etwas versteckten Reset Anschluß entdeckt.
Das ärgert mich jetzt aber sehr, war gestern Abend doch zu spät zum arbeiten....

Sorry, vergesst mal diesen Beitrag, aber löschen will ich den auch nicht.

So, geschafft. Der Bootloader ist drin. Jetzt noch mit OTA Beschäftigen und das Teil mit der Firmware bespielen.
Nochmal ein dickes Dankeschön an Papa und allen die dies ermöglichen.


Danke
Funsailor

Mit ein wenig Ruhe klappt alles!
Den falschen Windows USB-Treiber bekommt man nur weg wenn man beim deinstalliert des Treibers die Option "Treibersoftware für dieses Gerät löschen" benutzt.
Ansonsten wird der USBasp immer wieder als "USB-Gerät" installiert. Auch mit der Zadig Applikation!
Der Rest war dann ein Kinderspiel.

Jetzt kann ich mich dem HM-Sec-MDIR zuwenden, mal sehen wo die Geräte abgeblieben sind.
Titel: Antw:HM-LC-Sw1-Pl aus MAX! Zwischenstecker
Beitrag von: VolkerGBenner am 05 Oktober 2020, 20:33:05
Zitat von: rippi46 am 14 September 2017, 17:53:58
Ok!

Mit der Arduino IDE den Arduinoisp-sketch auf den Arduino aufspielen.
Dann PIN 10 mit Reset, Pin11 mit MOSI, Pin12 mit MISO, Pin13 mit SCK und dann
noch  VCC und GND mit dem Switch verbinden.
Nach der Anleitung von papa programmieren mit folgenden geänderten
Parametern -b 19200 -P comX -c avrisp.

Gruss rippi

Vielen Dank hierfür. Hat zwei Tage und hundert Anläufe gebraucht, aber am Ende hat es funktioniert. Der MAX! ist jetzt ein Homematic. Sehr fein.


EDIT: Der zweite Stecker hat dann nur noch 5 min gebraucht :-)