CUL mit dem raspberry pi flashen

Begonnen von blu, 17 Januar 2014, 22:47:15

Vorheriges Thema - Nächstes Thema

blu

Hallo zusammen,

leider wird mein CUL-Stick (brandneu V3.4) nicht automatisch geflasht, wenn ich ihn in den USB-Port des raspberry pi B einstecke (mit gedrückter Taste). Kann das ohne DFU-programmer eigentlich überhaupt funktionieren?!

Dann wollte ich den CUL-Stick selbst flashen.

Vorbereitung:

pi@raspberrypi1 ~ $ sudo apt-get install dfu-programmer

war erforlgreich.

pi@raspberrypi1 ~ $ sudo -i
root@raspberrypi1:~# wget http://sourceforge.net/p/culfw/code/HEAD/tree/trunk/culfw/Devices/CUL/CUL_V3.hex
root@raspberrypi1:~# ls -lh
total 8.6M
-rw-r--r-- 1 root root  69K Jan 17 22:23 CUL_V3.hex
drwxr-xr-x 2 root root 4.0K Dec 25 23:19 Desktop
-rw-r--r-- 1 root root 8.5M Oct  6 14:01 fhem-5.5.deb
drwxr-xr-x 8 root root 4.0K Jan 11 08:56 wiringPi

schaut doch auch gut aus.
Flash Vorgang:
root@raspberrypi1:~# dfu-programmer atmega32u4 erase
root@raspberrypi1:~# lsusb
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 007: ID 03eb:2ff4 Atmel Corp.

Bis hierhin schaut es für mich ok aus. Aber nun der Fehler:

root@raspberrypi1:~# dfu-programmer atmega32u4 flash --debug 1 CUL_V3.hex
Error parsing the line.
Something went wrong with creating the memory image.


Für eine Hilfestellung wäre ich dankbar. Ich weiß, dass es für die Pros ätzend ist solche Anfängerfragen zu beantworten. Ich habe mir aber wirklich Mühe gegeben die vorhandene Quellen (Wiki ,... ) durchzulesen.

Danke + lg blu
ps
root@raspberrypi1:/dev# ls | grep ttyA
ttyAMA0
root@raspberrypi1:~# dpkg -l | grep fhem
ii  fhem                                  5.5

pps
pi@raspberrypi1 /dev $ tail -f /var/log/syslog
Jan 17 22:25:56 raspberrypi1 kernel: [ 2662.771245] usb 1-1.3: new full-speed USB device number 7 using dwc_otg
Jan 17 22:25:56 raspberrypi1 kernel: [ 2662.886954] usb 1-1.3: New USB device found, idVendor=03eb, idProduct=2ff4
Jan 17 22:25:56 raspberrypi1 kernel: [ 2662.886993] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jan 17 22:25:56 raspberrypi1 kernel: [ 2662.887013] usb 1-1.3: Product: ATm32U4DFU
Jan 17 22:25:56 raspberrypi1 kernel: [ 2662.887030] usb 1-1.3: Manufacturer: ATMEL
Jan 17 22:25:56 raspberrypi1 kernel: [ 2662.887047] usb 1-1.3: SerialNumber: 1.0.0
RasPi2, FHEM 5.6, HM-LAN-CFG
HM-CC-RT-DN, HM-LC-SW1-FM, HM-LC-SW1-PL2, HM-LC-Sw1PBU-FM, HM-Sen-MDIR-O,  HM-SEC-SCo, HM-PB-2-WM55-2, HM-PB-6-WM55, HM-ES-TX-WM (+ Ferraris)

rudolfkoenig

Zitatwget http://sourceforge.net/p/culfw/code/HEAD/tree/trunk/culfw/Devices/CUL/CUL_V3.hex
Das liefert Muell (== komprimierte HTML Seite) zurueck.

Mit einem installierten dfu-programmer sollte FHEM mit dem CULflash Befehl
auch in der Lage sein das Geraet zu flashen

blu

#2
Hallo,
und vielen Dank für die prompte Hilfe! So hat es geklappt:
root@raspberrypi1:~# wget http://culfw.de/culfw-1.55.tar.gz
root@raspberrypi1:~# tar xfz culfw-1.55.tar.gz
root@raspberrypi1:~# cd culfw-1.55/Devices/CUL
root@raspberrypi1:~/culfw-1.55/Devices/CUL# make usbprogram_v3
dfu-programmer atmega32u4 erase || true
dfu-programmer atmega32u4 flash CUL_V3.hex
Validating...
18582 bytes used (64.81%)
dfu-programmer atmega32u4 start

Nun schaut es besser aus:

root@raspberrypi1:/dev# ls | grep ttyA
ttyACM0
ttyAMA0

Aus der FHEM-Weboberfläche heraus hatte ich es mittels CUL flash versucht, jedoch fehlten mir wohl die root-Rechte, zumindest war die Fehlermeldung
dfu-programmer: no device present.

lg blu
RasPi2, FHEM 5.6, HM-LAN-CFG
HM-CC-RT-DN, HM-LC-SW1-FM, HM-LC-SW1-PL2, HM-LC-Sw1PBU-FM, HM-Sen-MDIR-O,  HM-SEC-SCo, HM-PB-2-WM55-2, HM-PB-6-WM55, HM-ES-TX-WM (+ Ferraris)

kvo1

Hallo blu,

danke für die coole Anleitung , hat bestens funktioniert !
Habe gerade 1.58 geflasht.

Zitatroot@raspberrypi1:~/culfw-1.55/Devices/CUL# make usbprogram_v3
was nicht notwendig !

klaus
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

blu

#4
Hallo zusammen,

--->erledigt, siehe zwei Beiträge weiter <---

nachdem ich permanent mit Missing ACKS kämpfe möchte ich meinen CUL (aktuell 1.55) neu auf 1.61 flashen. Leider misslingt das.
Folgende Devices werden gefunden, das letzte ist wohl der CUL:

root@raspyFHEM:~/CUL_VER_161/Devices/CUL# lsusb
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 005: ID 03eb:204b Atmel Corp. LUFA USB to Serial Adapter Project

Die aktuelle Firmware ist herungergeladen und entpackt. Allerdings liefert make usbprogram_v3 einen Fehler.
root@raspyFHEM:~/CUL_VER_161/Devices/CUL# ls
board.h  CUL.c  CUL_V2.hex  CUL_V2_HM.hex  CUL_V2_MAX.hex  CUL_V3.hex  CUL_V4.hex  makefile  makefile.myusb
root@raspyFHEM:~/CUL_VER_161/Devices/CUL# make usbprogram_v3
dfu-programmer atmega32u4 erase || true
dfu-programmer: no device present.
dfu-programmer atmega32u4 flash CUL_V3.hex
dfu-programmer: no device present.
makefile:148: recipe for target 'do_usbprogram' failed
make: *** [do_usbprogram] Error 1

Ist nicht verwunderlich, dass der atmega32u4 nicht als device auftaucht. Könnt ihr mir helfen, wie ich das korrigiere? Wahrscheinlich muss ich einfach ein anderes Target setzen, nur welches?
Inzwischen habe ich nach einigem Stöbern im Forum herausgefunden, dass diese Fehlermeldung ihre Ursache wohl in fehlenden root-Rechten hat. Eine Lösung habe ich leider noch nicht gefunden :-(
Danke + LG
blu
RasPi2, FHEM 5.6, HM-LAN-CFG
HM-CC-RT-DN, HM-LC-SW1-FM, HM-LC-SW1-PL2, HM-LC-Sw1PBU-FM, HM-Sen-MDIR-O,  HM-SEC-SCo, HM-PB-2-WM55-2, HM-PB-6-WM55, HM-ES-TX-WM (+ Ferraris)

blu

#5
Hi,
nochmal mein Vorgehen
1) FHEM beenden
2) Button am CUL V3 drücken und gleichzeitig:
edit: WICHTIG Der CUL-Stick muss dazu mit gedrücktem Button in den USB Anschluss eingeführt werden!
3) als root ausführen
root@raspyFHEM:~/CUL_VER_161/Devices/CUL# make usbprogram_v3
dfu-programmer atmega32u4 erase || true
dfu-programmer: no device present.
dfu-programmer atmega32u4 flash CUL_V3.hex
dfu-programmer: no device present.
makefile:148: recipe for target 'do_usbprogram' failed
make: *** [do_usbprogram] Error 1

LG blu
RasPi2, FHEM 5.6, HM-LAN-CFG
HM-CC-RT-DN, HM-LC-SW1-FM, HM-LC-SW1-PL2, HM-LC-Sw1PBU-FM, HM-Sen-MDIR-O,  HM-SEC-SCo, HM-PB-2-WM55-2, HM-PB-6-WM55, HM-ES-TX-WM (+ Ferraris)

blu

#6
Hi,
beim 10. Versuch und dem Verzweifeln nahe hat es geklappt:

root@raspyFHEM:~/CUL_VER_161/Devices/CUL# make usbprogram_v3
dfu-programmer atmega32u4 erase || true
dfu-programmer atmega32u4 flash CUL_V3.hex
Validating...
23220 bytes used (80.98%)
dfu-programmer atmega32u4 start


Der einzige Unterschied zu den vorherigen Versuchen: Ich habe den CUL komplett abgezogen und mit gedrücktem Button eingesetzt.
In den meisten Anleitungen hatte ich lediglich gelesen, dass der Button gedrückt werden muss, um ein FW-Update durchzuführen...
lg blu
RasPi2, FHEM 5.6, HM-LAN-CFG
HM-CC-RT-DN, HM-LC-SW1-FM, HM-LC-SW1-PL2, HM-LC-Sw1PBU-FM, HM-Sen-MDIR-O,  HM-SEC-SCo, HM-PB-2-WM55-2, HM-PB-6-WM55, HM-ES-TX-WM (+ Ferraris)

kvo1

Hallo blue,

ich habe seit damals V 1.58 .. ohne Probleme !

Wohier hast Du die 1.61 und was bringt diese noch an Verbesserungen?

Ich ging damals auf die 1.58 weil ich die Firmware der Thermostate  über OTA updaten wollten !

kvo1
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

Rohan

#8
Zitat von: kvo1 am 29 Dezember 2014, 00:35:20
... Wohier hast Du die 1.61 ... ?

Von hier?

Zitat von: kvo1 am 29 Dezember 2014, 00:35:20... und was bringt diese noch an Verbesserungen?

Siehe hier?

Gruß
Thomas
Fhem auf Mini-ITX mit Celeron 2-Core, HMLAN (> 55 Devices), CUL (FS20 und EM), RFXtrx 433E, Arduino (einige DS18B20), RPi mit 1-Wire (DS2423 für S0-Signale, DS18B20+), RPi/Arduino mit MQ-5 und MQ-9 (CO- und CNG/LPG-Sensor), CO-20 IAQ Sensor

rudolfkoenig

ZitatIn den meisten Anleitungen hatte ich lediglich gelesen, dass der Button gedrückt werden muss, um ein FW-Update durchzuführen...

Bevor hier der falsche Eindruck entsteht: Wenn man die richtige Doku liest, dann sollte eigentlich klar sein, was man machen muss.
http://culfw.de/commandref.html#flashing : "CUL/CUN: Insert the USB-Stick while pressing the micro-switch on the back"

marc-willmann

Weil ich mich grade letzte Woche auch mit dem Flachen eines CUL an einem Raspi rumgeärgert habe, hier nochmals der ausdrückliche Hinweis:

- Um die Taste zu drücken, während man das Teil einsteckt und man womöglich noch die Variante IN DER PLASTIKUMMANTELUNG vor sich hat - das geht nicht, dafür braucht man mindestens drei Hände. Ich habe das Plastikgehäuse demontiert, dann hat man wenigstens ein haptisches Feedback, ob man den Schalter grade wirklich drückt oder nicht.

Desweiteren: Lt. Anleitung soll man folgende Anweisungen eingeben:

dfu-programmer atmega32u4 erase
dfu-programmer atmega32u4 flash CUL_V3.hex
dfu-programmer atmega32u4 reset


dfu-programmer atmega32u4 erase teilte mir mit, dass Stick bereits leer wäre. Okay. soweit in Ordnung.
dfu-programmer atmega32u4 flash CUL_V3.hex sagte dann, der Stick sei schreibgeschützt, weswegen ich meinen Fehler über Stunden beim Drücken der Taste vermutete. Ich hab das dann auf einem Win-Rechner probiert, mit gleichem Ergebnis.

Zurück im Raspi kam ich auf die Idee, den ersten Befehl zu "erzwingen":

dfu-programmer atmega32u4 erase --force

und schwups, das war's! Danach konnte ich mit dem zweiten Befehl den Stick flashen und er werkelt wie er soll. Vielleicht hilft's ja dem einen oder andern!



strauch

Zitat von: marc-willmann am 21 Januar 2015, 10:01:33
- Um die Taste zu drücken, während man das Teil einsteckt und man womöglich noch die Variante IN DER PLASTIKUMMANTELUNG vor sich hat - das geht nicht, dafür braucht man mindestens drei Hände. Ich habe das Plastikgehäuse demontiert, dann hat man wenigstens ein haptisches Feedback, ob man den Schalter grade wirklich drückt oder nicht.

Mhhh ich hatte da bisher keine Probleme mit. Mit ner Büroklammer drücke ich den ein und steck ihn dann in den USB Port. Vielleicht brauchts 2 Versuche, aber ne dritte Hand hab ich bisher nie gebraucht.
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

PeMue

#12
Hallo,

wenn man den CUL mit
B und dem richtigen Parameter neu startet, sollte das Knöpfe Drücken eigentlich erledigt sein, oder? Setzt aber halt eine schon installierte culfw voraus ...

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

marc-willmann

Bei mir ging's um den initialen Flash; der klappte eben erst, als ich den "erase"-Befehl mit --force erzwungen habe. Ich war schon drauf und dran, den Stick zurückzuschicken, weil es partout nicht klappen wollte.

Und die Meldung, der Stick sei leer, hat mich auch nicht beunruhigt; das wusste ich ja schon vorher. :-)

hyper2910

Zitatwenn man den CUL mit
B und dem richtigen Parameter neu startet, sollte das Knöpfe Drücken eigentlich erledigt sein, oder? Setzt aber halt eine schon installierte culfw voraus ...


Hierzu sollte man eigentlich irgendwo mal ein How-To finden.

Bin schon einige Tage am suchen, aber nirgends findet man etwas.

Wie kann man einen CUL am PI oder Cubie updaten?

Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,