Freitag, 26. Februar 2016

CUL Stick flashen

Irgendwie existieren gefühlt tausend Beschreibungen dazu im Internet, es gibt viele Seiten dazu im FHEM Forum und im FHEM Wiki. Alle sind ähnlich und keine führte bei mir wirklich direkt zum Ziel. Deswegen mal wieder: ich habe alles intensiv durchprobiert und einen ziemlich simplen Weg gefunden. Aber! Dieser Weg ist heute scheinbar richtig, ob das morgen noch so ist kann ich nicht garantieren.
FHEM kann es fast automatisch und bringt fast alles mit.

Vorbereitung


Man braucht den DFU-Programmer
 sudo apt-get install dfu-programmer  

Diesen müssen wir für fhem ausführbar machen damit er nicht nur unter root läuft und wir fhem nicht zu root machen müssen!
 sudo chmod u+s /usr/bin/dfu-programmer  

Programmierung


Den CUL Stick richtig stecken - und das ist nicht einfach! Man muss die kleine Taste auf der Unterseite beim Stecken gedrückt halten!
Ich finde es geht gut mit
  1. einem USB Verlängerungskabel welches man in die USB Schnittstelle steckt, 
  2. dann setzt man den USB Stecker vorsichtig an, 
  3. hält beides (Stick und USB Kupplung/Buchse) auf dem flachen Tisch mit Daumen (Stick) und Mittelfinger (Buchse) der linken Hand fest, 
  4. drückt mit der rechten und einem kleinen Stift (Zahnstocher) den Taster und 
  5. schiebt mit Daumen den Stick, der Mittelfinger fixiert die Buchse.

Jetzt gibt man in der Kommandozeile von FHEM ein
 usb scan  

Es kommt die Auschrift: CUL_V3: flash it with: CULflash none CUL_V3

Also in die Kommandozeile genau das eingeben was er sagt (copy&paste):
 CULflash none CUL_V3  

Der Erfolg wird mit der Ausschrift:
 CULflash Validating...  
 28630 bytes used (99.85%)  
und einem Blinken des CUL Stick quittiert.

In FHEM verwenden

Wenn der Stick läuft und blinkt können wir ein erneutes usb scan eingeben. Die Ausschrift die folgt kann man wieder direkt ernst nehmen:
 ### ttyACM0: checking if it is a CUL   
 create as a fhem device with: define CUL_0 CUL /dev/ttyACM0@9600 1034   
 ### ttyAMA0: checking if it is a CUL   
 cannot open the device   
und einfach die Empfehlung in die Kommandozeile kopieren
 define CUL_0 CUL /dev/ttyACM0@9600 1034  

Update oder neu flashen

Wenn der CUL Stick mal einen neue Firmware bekommen soll, geht das auch einfach in FHEM:
 CULflash CUL_0 CUL_V3  

Man kann den CUL Stick auch löschen (Terminal)
 dfu-programmer atmega32u4 erase   
Man muss es aber normalerweise nicht, einfach rausziehen und in den Programmiermodus versetzen reicht.

10 Kommentare:

  1. Hat prima funktioniert. Danke :)

    AntwortenLöschen
  2. sehr schöne Erklärungen. Vielen Dank!

    AntwortenLöschen
  3. Super einfache Anleitung! Hat mit einem rPI3 und einem frischen CUL Stick V3 soeben prima funktioniert! Danke! :)

    AntwortenLöschen
  4. Ich hätte noch eine andere Idee zur Verwendung des USB-Verlängerungskabels: Den CUL in das Kabel stecken, auf dem Tisch fixieren mit dem Zahnstocher (oder ähnlichem) in einer Hand und mit der anderen das Verlängerungskabel ganz entspannt in den Raspi ... so hat's bei mir jedenfalls geklappt.

    AntwortenLöschen
  5. Sensationell. Endlich eine Anleitung in Zusammenhang mit Fhem bei der wirklich alles stimmt und die ohne negative Überraschungen funktioniert.

    AntwortenLöschen
  6. wow.... super Anleitung. Ohne Probleme geklappt :-)

    bei mir ging chmod nur mit sudo !

    sudo chmod u+s /usr/bin/dfu-programmer

    AntwortenLöschen
  7. Endlich mal eine kurze und verständliche Anleitung die auf Anhieb funktioniert. Super! Vielen Dank.

    AntwortenLöschen
  8. Danke an Otto, hat auch bei mir prima funktioniert! :-) Hatte nur einen kleinen Hänger, weil ich FHEM in einer VM unter VirtualBox laufen habe, allerdings kannst Du ja nicht alle Eventualitäten in so einer Anleitung mit unterbringen.

    Für alle die FHEM wie ich, eventuell in einer VM unter VirtualBox nutzen, deswegen hier ein kleiner Tipp!

    Damit der CUL in der VM eingebunden ist, legt man ja einen USB-Filter an. Bei Auslieferung des CUL von busware.de wird dieser in Virtualbox als "ATMEL ATm32U4DFU [0000]" erkannt.

    Bis zum flashen des CUL klappte es einwandfrei, doch danach wurde der CUL nicht mehr erkannt und tauchte beim erneuten "usb scan" nicht auf.

    Hat dann ein wenig gedauert, bis ich drauf gekommen bin warum. ;-)
    Nach dem flashen der Firmware wird der CUL nämlich als "busware.de CUL868 [0000]" erkannt und man muss einen weiteren USB-Filter in der VM dafür anlegen. Danach klappt's auch mit der Anleitung wieder ganz normal.


    AntwortenLöschen
  9. Sehr schön, die Anleitung ist uneingeschränkt anwendbar.
    Mein Cul war schon eingerichtet und hatte nur eine alte Version drauf.
    Bei mir war es dann : in Fhem/ im Culfenster set Culname raw B01
    damit setzt man ihn in den Flashmodus ohne den Knopf drücken zu müssen.
    Danach genau nach deiner Anleitung.
    Zum Schluss meldete er sich wieder (er war ja schon vorher mit define .... eingerichtet)

    LG Frank

    AntwortenLöschen