Autor Thema: culfw@ARM  (Gelesen 182938 mal)

Offline Telekatz

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 710
culfw@ARM
« am: 22 Juni 2015, 22:42:29 »
Hallo,

ich möchte euch meine Portierung der culfw für AT91SAM7-Controller vorstellen. Lauffähig ist diese Version auf dem HM-CFG-USB-2 und dem MAX! Cube.
Die beiden Geräte können dann wie ein CUL in FHEM eingebunden werden.

Quellcode:
Der Quellcode ist in der a-culfw enthalten. Zum Erstellen der Firmware wurde diese Toolchain verwendet.

Firmware flashen :
Die kompilierten Bin Dateien findet Ihr unter https://www.mediafire.com/folder/iuf7lue8r578c/a-culfw. Die Firmware besteht aus zwei Teilen. Einem Bootloader (bootloader_CUBE.bin bzw. bootloader_HM_CFG.bin) und der eigentlichen culfw (CUBE_BL.bin bzw. HM_CFG_BL.bin). Zum flashen des Bootloaders wird die SAM-BA Software von Atmel benötigt.
Alternativ kann unter Linux BOSSA verwendet werden:https://forum.fhem.de/index.php/topic,38404.msg378455.html#msg378455

Bootloader (MAX! Cube):
  • Die Pins J1 auf dem Cube verbinden und die USB Verbindung kurz ein- und wieder ausstecken um die vorhandene Firmware zu löschen und den Flashspeicher zu entsperren.
    Achtung: Die original Firmware ist danach weg und kann auch nicht wiederhergestellt werden, da keine unverschlüsselte Version davon verfügbar ist!   
  • Verbindung  J1 lösen und USB Kabel wieder Verbinden. Im Gerätemanager sollte jetzt ein neuer COM Port erscheinen.
  • SAM-BA als Administrator ausführen. COM Port auswählen und „at91sam7x256-ek“ als Board auswählen und auf Connect Drücken.
  • Auf der Registerkarte Flash bei „Send File Name“ die Datei bootloader_CUBE.bin auswählen und auf Send File drücken. Die folgende Frage, ob das Flash gelockt werden soll, mit nein beantworten.
  • Im Feld Scripts „Boot from Flash (GPNVM2)“ auswählen und auf Execute drücken.
  • SAM-BA schließen und USB Kabel lösen.

Bootloader (HM-CFG-USB-2):
  • Jumper J2 auf dem Stick verbinden und den Stick kurz ein- und wiederausstecken um die vorhandene Firmware zu löschen und den Flashspeicher zu entsperren.
    Achtung: Die original Firmware ist danach weg und kann auch nicht wiederhergestellt werden, da keine unverschlüsselte Version davon verfügbar ist!
  • Jumper J2 lösen und Jumper J1 verbinden. Den Stick für etwa 10s einstecken um den internen Bootloader zu aktivieren. Stick ausstecken und Jumper J1 lösen.
  • Stick wieder einstecken. Falls jetzt kein neuer COM Port im Gerätemanager erscheint muss ein 10kOhm Widerstand zwischen +5V und Data+ am USB Stecker verbunden werden.
  • SAM-BA als Administrator ausführen. COM Port auswählen und „at91sam7s128-ek“ als Board auswählen und auf Connect Drücken.
  • Auf der Registerkarte Flash bei „Send File Name“ die Datei bootloader_HM_CFG.bin auswählen und auf Send File drücken. Die folgende Frage, ob das Flash gelockt werden soll, mit nein beantworten.
  • SAM-BA schließen und Stick entfernen.

Culfw:
Der Bootloader wird beim Cube durch Drücken des Knopfes an der Unterseite während des Einsteckens des USB Kabels aktiviert. Beim HM-CFG-USB2 muss von ST1 Pin 3 mit Pin 4 beim Einstecken verbunden werden. Außerdem startet er automatisch solange noch keine Firmware gelagen wurde und kann bei bereits installierter culfw mit dem Kommando „B01“ aktiviert werden. Bei aktivierten Bootloader blinkt die LED D1 schnell.
Zum Übertragen der culfw wird ein Terminalprogramm benötigt, das Dateien per XModem übertragen kann, z.B. Tera Term . Nachdem man bei Tera Term mit Datei -> Transfer -> XMODEM -> Senden die richtige Firmware Datei ausgewählt hat, starten die Übertragung und der Flashvorgang automatisch. Anschließend erfolgt ein Reboot und die culfw startet.
Anleitung zum flashen unter Linux: https://forum.fhem.de/index.php/topic,38404.msg348429.html#msg348429
« Letzte Änderung: 06 Dezember 2016, 14:22:00 von Telekatz »
Gefällt mir Gefällt mir x 9 Informativ Informativ x 1 Hilfreich Hilfreich x 2 Liste anzeigen

Offline chris1284

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3749
Antw:culfw@ARM
« Antwort #1 am: 23 Juni 2015, 07:35:48 »
Gerade mit dem HM-CFG-USB-2 sehr interessant -> CUL 868 für 25€. Ich werde mir wohl direkt einen 2. bestellen müssen. Danke für das veröffentlichen. Würdest du ggf noch eine Version mit der alternativen culfw http://forum.fhem.de/index.php?topic=35064.0 bereitstellen können?

Wie sehen spätere updates der firmware aus? Hex-file vom cul und los geht denke ich nicht
#HP Proliant MicroServer Gen8: FHEM, SAMBA, Docker:PLEX, HABridge,Homebridge
#CCU2 (bald 3): Heizung, Schalter, Sensoren, Remotes
#nanoCUL868: lacrossmode für Außensensor
#3 2Bay Nas im 2 täglichen Wechsel fürs Backup, überwacht in FHEM

Offline Telekatz

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 710
Antw:culfw@ARM
« Antwort #2 am: 23 Juni 2015, 12:00:20 »
Nein, die HEX Files vom CUL passen nicht, die sind für ATMega Controller. Im HM-CHG-USB-2 und im Cube steckt ein ARM drin. Das muss neu compiliert werden.

Und mit der alternativen culfw müsste ich erst mal schauen, wieweit der Code dort von der culfw abweicht. Da in der culfw kein HAL vorhanden ist, muss der gesamte Code durchforstet werden, um das auf einer anderen Plattform zum laufen zu bringen.
Gefällt mir nicht Gefällt mir nicht x 1 Liste anzeigen

Offline Wzut

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1982
Antw:culfw@ARM
« Antwort #3 am: 24 Juni 2015, 16:40:14 »
Danke für die ausführliche Anleitung, so kann der inzwischen durch einen CUL abgelöste Cube doch noch sinnvoll weiter verwendet werden.
Wenn ich deine Anleitung richtig verstanden habe ist es allerdings dann vorbei mit Netzwerkzugriff, da dann der Datenaustausch noch via USB läuft ?
Maintainer der Module: MPD, UbiquitiMP, UbiquitiOut, SIP

Offline Telekatz

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 710
Antw:culfw@ARM
« Antwort #4 am: 24 Juni 2015, 20:07:49 »
Richtig, der Netzwerkzugrif funktioniert momentan noch nicht. Da muss ich mir erstmal den Beispielcode von Atmel ansehen, um den uIP Stack auch zu aktivieren.

ccier

  • Gast
Antw:culfw@ARM
« Antwort #5 am: 29 Juni 2015, 14:44:52 »
Ist denn heute schon Weihnachten?  ;D

Erst das hier:
http://forum.fhem.de/index.php/topic,38317.msg305426.html#msg305426

Und jetzt auch noch eine ARM-variante von CUL für den HM-CFG-USB-2.

Super!

Hat das auch schon jemand in Kombination getestet?






Offline bjoernh

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 740
Antw:culfw@ARM
« Antwort #6 am: 01 Juli 2015, 18:21:54 »
Nein, die HEX Files vom CUL passen nicht, die sind für ATMega Controller. Im HM-CHG-USB-2 und im Cube steckt ein ARM drin. Das muss neu compiliert werden.

Und mit der alternativen culfw müsste ich erst mal schauen, wieweit der Code dort von der culfw abweicht. Da in der culfw kein HAL vorhanden ist, muss der gesamte Code durchforstet werden, um das auf einer anderen Plattform zum laufen zu bringen.
Die a-culfw ist im prinzip auf der culfw aufgebaut. Einzig die Empfangsmodule habe ich aufgeräumt und erweitert. D.h. die Hardwareanbindung ist noch 100% identisch zur culfw.

Offline Telekatz

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 710
Antw:culfw@ARM
« Antwort #7 am: 06 Juli 2015, 20:59:36 »
Der Quellcode für die ARM Version ist jetzt in der a-culfw enthalten.

Noch ein Hinweis zur Hardware des HM-CFG-USB-2 und des MAX! Cube. Mir aufgefallen, dass bei diversen MAX und Homematic Geräten Funkmodule mit einem Si4431 anstelle eines CC1101 Chips verwendet werden. In der Regel steht der Typ des Funkmoduls Außen auf dem Gerät. TRX868-TFK-TI für den CC1101 und TRX868-TFK-SL für den Si4431.
Die culfw funktioniert nur mit einem CC1101 Funkmodul. Die beiden HM-CFG-USB-2 Adapter die ich habe, haben einen CC1101 verbaut. Allerdings könnte es auch welche geben, die einen SI4431 haben. Bitte dies vor dem löschen der Originalfirmware kontrollieren.
Auf meinem Cube steht hingegen nur TRX868. Den habe ich allerdings auch schon seit 2012. Könnte hier bitte mal jemand der sich kürzlich einen Cube gekauft hat nachsehen, ob der Typ des Funkmoduls jetzt auch genauer angegeben ist?

Offline Loctotex

  • Jr. Member
  • **
  • Beiträge: 64
Antw:culfw@ARM
« Antwort #8 am: 13 Juli 2015, 22:31:06 »
Hallo Telekatz,

vielen Dank dafür. Habe es mit einem HM-CFG-USB2 ausprobiert. Funktioniert perfekt. Ich musste den 10k Widerstand einlöten. Er kann aber nach dem Flashen wieder entfernt werden.
FHEM @ Windows | HM-CFG-USB2 @ DD-WRT

Offline stenny73

  • Full Member
  • ***
  • Beiträge: 295
Antw:culfw@ARM
« Antwort #9 am: 12 August 2015, 12:55:32 »
Hallo

Bisher hatte ich zwar noch keine Probleme eines Senilen Cube.... Aber da ich eine Ersatgerät liegen habe würde ich es einfach mal
ausprobiren.....

Im Vorfeld noch zwei Frage...
- Fungiert ein Cube oder USB-CFG dann genau wie ein CUL - also man könnte den Cube auch auf HomeMatic umstellen?
- Wird der Netzwerkanschluss noch mit intregiert?



stenny
FHEM auf XEN, Ubuntu-Server 14.04   - HM-Lan - Max - ZWave -WS1080 -BlueTooth

FHEM auf Ubuntu-Server 14.04   - HM-LAN

FHEM auf Raspberry Pi   - CSM für Max - HM-USB - WiFi-LED

Offline Telekatz

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 710
Antw:culfw@ARM
« Antwort #10 am: 12 August 2015, 15:57:09 »
Bis auf den Firmwareupdate aus FHEM heraus ist alles möglich, was mit dem CUL auch möglich ist. Der Netzwerkanschluss vom Cube wird auch noch integriert.

Offline stenny73

  • Full Member
  • ***
  • Beiträge: 295
Antw:culfw@ARM
« Antwort #11 am: 12 August 2015, 16:02:00 »
Genial!!!!!!!!!!!!!!!!!

Dann wird der zweite heute umgebastellt....



Nachtrag: Und läuft..... Perfekt
« Letzte Änderung: 15 August 2015, 12:34:14 von stenny73 »
FHEM auf XEN, Ubuntu-Server 14.04   - HM-Lan - Max - ZWave -WS1080 -BlueTooth

FHEM auf Ubuntu-Server 14.04   - HM-LAN

FHEM auf Raspberry Pi   - CSM für Max - HM-USB - WiFi-LED

Offline Blizzard

  • New Member
  • *
  • Beiträge: 6
Antw:culfw@ARM
« Antwort #12 am: 22 August 2015, 21:14:17 »
Hallo Telekatz,

zuerst einmal vielen Dank für die geniale Idee und deine Umsetzung!

Ich habe gleich mal einen alten Cube geflasht, der hin- und wieder an der vielleicht bekannten Amnesie gelitten hatte (alle 2-3 Monate waren alle Daten weg --> Werksreset!). Jetzt weiß ich nicht, ob es ein Einzelfall ist, oder ob es vielleicht auch mit der Amnesie zu tun hat, aber ich musste am Debug-Port (ST2) noch einen Pull-up-Widerstand zwischen Pin1 und Pin3 einlöten.
Ohne diesen hatte ich ein paar seltsame Fehlerbilder:
- beim Verbinden mit PC oder RPi startete die Fw immer wieder neu (alle 2-3 sec. flackerten kurz die LEDs und der Cube verschwand kurz aus dem Gerätemanager).
- Falls eine stabile Verbindung mal hergestellt war, kam neben den richtigen Daten auch häufig viel Datenmüll an.
- das Flashen hatte interessanterweise auch ohne den Pull-up Widerstand fehlerfrei funktioniert...

Wird in der Firmware eigentlich ein interner Pull-up auf diesen Port gesetzt? Habe leider vor einiger Zeit den Schaltplan vom Cube entsorgt und konnte es auf die Schnelle nicht mehr in der Firmware nachvollziehen...
Mit dem Pull-up Widerstand schnurrt das Teil jetzt wie ein Kätzchen, ich freue mich schon auf die Netzwerk-Anbindung! Echt geniale Arbeit von Dir! :-)

Viele Grüße,
Martin




Offline Blizzard

  • New Member
  • *
  • Beiträge: 6
Antw:culfw@ARM
« Antwort #13 am: 22 August 2015, 21:48:18 »

Noch ein Hinweis zur Hardware des HM-CFG-USB-2 und des MAX! Cube. Mir aufgefallen, dass bei diversen MAX und Homematic Geräten Funkmodule mit einem Si4431 anstelle eines CC1101 Chips verwendet werden. In der Regel steht der Typ des Funkmoduls Außen auf dem Gerät. TRX868-TFK-TI für den CC1101 und TRX868-TFK-SL für den Si4431.
Die culfw funktioniert nur mit einem CC1101 Funkmodul. Die beiden HM-CFG-USB-2 Adapter die ich habe, haben einen CC1101 verbaut. Allerdings könnte es auch welche geben, die einen SI4431 haben. Bitte dies vor dem löschen der Originalfirmware kontrollieren.
Auf meinem Cube steht hingegen nur TRX868. Den habe ich allerdings auch schon seit 2012. Könnte hier bitte mal jemand der sich kürzlich einen Cube gekauft hat nachsehen, ob der Typ des Funkmoduls jetzt auch genauer angegeben ist?

Auf meinem Cube (gekauft Anfang 2015) steht TRX868-TI, ähnlich dem HM-CFG-USB-2 . :)

Offline Telekatz

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 710
Antw:culfw@ARM
« Antwort #14 am: 23 August 2015, 20:23:15 »
Hallo Martin,

dein Cube empfängt wohl irgend einen Datenmüll über die serielle Schnittstelle der Debug Unit. Dort hatte ich zu Testzwecken einen einen Befehl eingebaut, mit dem sich die USB Verbindung lösen und wieder verbinden lässt. Dadurch verschwindet der Cube immer wieder aus dem Gerätemanager. Der restliche Datenmüll wird dann noch von der Debug Unit zur Konsole der USB Verbindung weitergeleitet.

Ein Pull-up für diesen Port war nicht gesetzt. Das habe ich jetzt geändert, das Problem sollte dadurch gelöst sein. Außerdem habe ich auch noch die Netzwerkunterstützung für den Cube mit in die a-culfw eingecheckt.

Auf meinem Cube (gekauft Anfang 2015) steht TRX868-TI, ähnlich dem HM-CFG-USB-2 . :)
Ja, das ist das passende Funkmodul.

 

decade-submarginal