CUL mit dem raspberry pi flashen

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

Vorheriges Thema - Nächstes Thema

spel

Hallo,

auch hier ein alter Thread aber ich hänge mich dran.

Ich habe von eBay gem. der Anleitungen einen Arduino erworben (FTDI RS232 Arduino Nano V3.0 kompatibles Board Atmel ATmega328 16MHz). Da dran gem. Anleitung ein 868 MHz RF1101SE-V3.1 Modul gelötet.

Ich muss dazusagen, dass ich augenscheinlich ein weiteren Selbstbau JeeLink mit gleicher Arduino-Serien-Nr. am Raspberry angeschlossen habe. der o. g. CUL ist an ttyUSB2 angeschlossen. Er wird erkannt.

Leider erhalte ich immer diese Meldung:

pi@rasp16GB:/opt/fhem/FHEM/firmware/culfw-1.66/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:154: recipe for target 'do_usbprogram' failed
make: *** [do_usbprogram] Error 1


Wie bekomme ich das erste Mal dort etwas draufgeflasht?

Danke!

MadMax-FHEM

Hallo,

mal im makefile schauen wie der CUL bzgl. "program_usb" angesprochen wird.

Evtl./wahrsch. /dev/ttyUSB0!?

Wenn dem so ist, dann entsprechend ändern...

(oder alle anderen USB abstecken, booten und flashen, sollte dann auf USB0 hängen)

Beim Einbinden in fhem halt besser mittels /dev/serial/by-id bzw. /dev/serial/by-path

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Otto123

Das Problem wird die Seriennummer sein.

Aber flashen geht meines Wissens komplett mit FHEM

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

MadMax-FHEM

Stimmt, ganz übersehen
ZitatAtmel ATmega328
passt wohl nicht zu
Zitatatmega32u4

Dass die Probleme so weit vorne liegen können hatte ich gar nicht bedacht ;-)

Dann wurde aber bereits falsch "gebaut", daher wird das flashen wohl auch mit fhem nicht tun...

Zitat/opt/fhem/FHEM/firmware/culfw-1.66/Devices/CUL

besser mal nach

/opt/fhem/FHEM/firmware/culfw-1.66/Devices/nanoCUL

und dort noch mal probieren bzw. wird dann zumindest richtig gebaut...

Nicht vergessen "board.h" anzupassen: 16MHz ATMEL (nehme ich mal an) und 868MHz (Funkmodul wie von dir angegeben).
Da auch sichergestellt, dass es ein "echtes" 868MHz Modul ist!?

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

spel

Hallo,

danke für die Hilfe. Ich habe soviele Anleitungen im Internet gesucht... Das habe ich dabei übersehen..

Also ich habe im Ordner nanoCUL "board.h" angepasst und "makefile" bzgl. des Pfades (by-id).

Ich erhalte leider nur:

pi@rasp16GB:/opt/fhem/FHEM/firmware/culfw-1.66/Devices/nanoCUL $ ls
board.h  makefile  nanoCUL.c  nanoCUL.hex  README
pi@rasp16GB:/opt/fhem/FHEM/firmware/culfw-1.66/Devices/nanoCUL $ make
Compiling C: nanoCUL.c
sh: 1: avr-gcc: not found
makefile:326: recipe for target 'nanoCUL.o' failed
make: *** [nanoCUL.o] Error 127


Ich hatte es hiernach probiert:
http://blog.gummibaer-tech.de/tag/cul-nachbau/
Das Modul auf dem Foto ganz unten des Blogs.

Das wird mir weiterhin ausgeworfen:
pi@rasp16GB:/opt/fhem/FHEM/firmware/culfw-1.66/Devices/nanoCUL $ ls -l /dev/serial/by-id
total 0
lrwxrwxrwx 1 root root 13 Jun 28 22:46 usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0 -> ../../ttyUSB2
lrwxrwxrwx 1 root root 13 Jun 27 06:35 usb-FTDI_FT232R_USB_UART_AI03DA01-if00-port0 -> ../../ttyUSB0


Dabei hängt bzw. ist an ttyUSB0 definitv ein Original Jeelink, an ttyUSB1 ein Jeelink-Nachbau und an ttyUSB2 der in Rede stehende nanoCUL

ttyUSB0 und ttyUSB1 funktionieren, da ich jeweils Kommunikation im Bereich LaCrosse und PCA301 habe.

Danke. Einen Hardwarefehler beim nanoCUL schliesse ich aus. Allerdings hat der die gleiche Seriennummer wie der Jeelink-Nachbau.

MadMax-FHEM

Hallo,

dir fehlt entweder die Entwicklungsumgebung:

avrgcc (Compiler) not found...
...oder er steht nicht im 'PATH'...

D.h. der build geht schon schief bzw. gar nicht erst los...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

Habe mir den verlinkten Beitrag angesehen und es ist (auf den ersten schnellen Blick) alles beschrieben was notwendig ist...

Hast du auch folgendes durchgeführt:

ZitatCompiler und Tools installieren ,,sudo apt-get install make gcc-avr avrdude avr-libc"

Scheint bei dir nicht so geklappt zu haben...
...da der Compiler (avrgcc) nicht gefunden wird...

Ansonsten würde ich evtl. statt /dev/serial/by-id auf /dev/serial/by-path gehen (wie bereits beschrieben).
Halt mal immer nur einen USB-Stick stecken (wichtig immer den einen in die später vorgesehene USB-Buchse stecken, da ja diese "referenziert" wird) und 'ls /dev/serial/by-path/' und dann das eintragen (falls du das nicht schon selber so gemacht hast).

/dev/serial/by-id klappt nur, wenn die USB-Umsetzer deiner USB-Geräte alle eine eindeutige ID haben.
Ist bei den (meisten) billigen Arduino Nano aus China nicht so, meine zumindest haben alle die selbe ID, daher 'by-path'...

Aber das ist bei dir (noch) kein Thema, denn deine haben ja (wenn das alle USB-Geräte sind, die du von fhem etc. aus ansprechen willst) eindeutige IDs:

Zitat
pi@rasp16GB:/opt/fhem/FHEM/firmware/culfw-1.66/Devices/nanoCUL $ ls -l /dev/serial/by-id
total 0
lrwxrwxrwx 1 root root 13 Jun 28 22:46 usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0 -> ../../ttyUSB2
lrwxrwxrwx 1 root root 13 Jun 27 06:35 usb-FTDI_FT232R_USB_UART_AI03DA01-if00-port0 -> ../../ttyUSB0


Ach ja und es steht auch:

ZitatIm entpackten Ordner in den Unterordner /Devices/nanoCUL wechseln.

Bist du wirklich exakt nach der Anleitung vorgegangen??

Habe diese auch als Basis genommen (und bei weiteren mal gespickt, z.B. diesen im von dir genannten Beitrag verlinkten http://www.fhemwiki.de/wiki/Selbstbau_CUL) und bei mir läuft es inkl. Bauen und Flashen ohne Probleme...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

spel

Hallo,

vielen Danke für die Hilfe.

Also... ,,sudo apt-get install make gcc-avr avrdude avr-libc" fehlte. Da ich aber beim Original JeeLink AVRDUDE nachinstalliert ahtte dachte ich es würde klappen.

Habe dann nacheinander den Original Jeelink, den Nachbau Jeelink, und den Nachbau nanoCUL eingesteckt, dazu neben dem PATH auch die IDs notiert:

Jeelink Original LaCrosse:
platform-20980000.usb-usb-0:1.2.4:1.0-port0
ttyUSB1

Jeelink Clone PCA301:
platform-20980000.usb-usb-0:1.3:1.0-port0
ttyUSB0

nanoCUL Selbstbau:
platform-20980000.usb-usb-0:1.5:1.0-port0
ttyUSB2

Hatte dann in Fhem unter DEF bei den Internals folgendes eingetragen:
"/dev/serial/by-path/platform-20980000.usb-usb-0:1.2.4:1.0-port0"
für den Original JeeLink. Aber dadurch waren dann LaCrosse und PCA301 Jeelink vertauscht. Es funktionierte noch irgendwie aber unter "model" wurde werder ...PCA301... noch ...LaCrosse... angezeigt.

Also hatte ich bei den beiden in FHEM eingebunden Adaptern (Jeelink Original und Nachbau) wieder das ganze über DEF:    
/dev/ttyUSB1@57600

konfiguriert. Da hatte ich dann unter "model" auch den jeweiligen Modus wieder.

Das dazu.

Ich bin nochmals nach der Anleitung vorgegangen und habe im Ordner NanoCUL das makefile angepasst (1x mit path und 1x mit id) probiert...

Leider kommt das hier raus:


pi@rasp16GB:/opt/fhem/FHEM/firmware/culfw-1.66/Devices/nanoCUL $ make program
#@if test ! -d /sys/class/gpio/gpio17; then echo 17 > /sys/class/gpio/export; fi
#@if test ! -d /sys/class/gpio/gpio18; then echo 18 > /sys/class/gpio/export; fi
#echo out > /sys/class/gpio/gpio17/direction
#echo out > /sys/class/gpio/gpio18/direction
#echo 0 > /sys/class/gpio/gpio17/value
#echo 0 > /sys/class/gpio/gpio18/value
#sleep 1
#echo 1 > /sys/class/gpio/gpio17/value
#sleep 1
#echo 1 > /sys/class/gpio/gpio18/value
avrdude -D -p atmega328p -P /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0 -b 57600 -c arduino    -U flash:w:nanoCUL.hex
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00

avrdude done.  Thank you.

makefile:216: recipe for target 'program' failed
make: *** [program] Error 1


Im makefile sind oben 8 MHz eingetragen... Es sind bei mir eigentlich 16 MHz...

Oder es liegt wirklich daran, dass ich zwei Arduinos mit gleicher Serien-Nr dran habe:


pi@rasp16GB:/opt/fhem/FHEM/firmware/culfw-1.66/Devices/nanoCUL $ ls -l /dev/serial/by-id
total 0
lrwxrwxrwx 1 root root 13 Jun 30 21:36 usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0 -> ../../ttyUSB2
lrwxrwxrwx 1 root root 13 Jun 30 21:36 usb-FTDI_FT232R_USB_UART_AI03DA01-if00-port0 -> ../../ttyUSB1



pi@rasp16GB:/opt/fhem/FHEM/firmware/culfw-1.66/Devices/nanoCUL $ ls -l /dev/serial/by-path
total 0
lrwxrwxrwx 1 root root 13 Jun 30 21:36 platform-20980000.usb-usb-0:1.2.4:1.0-port0 -> ../../ttyUSB1
lrwxrwxrwx 1 root root 13 Jun 30 21:36 platform-20980000.usb-usb-0:1.3:1.0-port0 -> ../../ttyUSB0
lrwxrwxrwx 1 root root 13 Jun 30 21:36 platform-20980000.usb-usb-0:1.5:1.0-port0 -> ../../ttyUSB2


[    9.603469] ftdi_sio 1-1.3:1.0: FTDI USB Serial Device converter detected
[    9.603717] usb 1-1.3: Detected FT232RL
[    9.638055] usb 1-1.3: FTDI USB Serial Device converter now attached to ttyUSB0
[    9.643103] ftdi_sio 1-1.2.4:1.0: FTDI USB Serial Device converter detected
[    9.643390] usb 1-1.2.4: Detected FT232RL
[    9.655358] usb 1-1.2.4: FTDI USB Serial Device converter now attached to ttyUSB1
[    9.655604] ftdi_sio 1-1.5:1.0: FTDI USB Serial Device converter detected
[    9.655865] usb 1-1.5: Detected FT232RL
[    9.672228] usb 1-1.5: FTDI USB Serial Device converter now attached to ttyUSB2


pi@rasp16GB:/opt/fhem/FHEM/firmware/culfw-1.66/Devices/nanoCUL $ lsusb
Bus 001 Device 007: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 001 Device 005: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 001 Device 006: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC


Bei "by-id" fehlt einer...

Ich weiss nicht weiter... Kann jmd. herausfinden was ich falsch mache... Danke!

MadMax-FHEM

#38
Hi,

also meine Definition des nanoCUL sieht wie folgt aus:

/dev/serial/by-path/platform-3f980000.usb-usb-0:1.5:1.0-port0@38400 1111

und funktioniert.

Habe by-path weil (wie bereits geschrieben!?) ich als Basis 2 "Billig-Nanos" habe die die selbe ID haben.
D.h. unter "by-id" steht immer nur der zuletzt eingesteckte drin.

Einer ist ein mySensors-Gateway und der andere ein nanoCUL wie es bei wohl dir einer werden soll.

In board.h folgendes tun (wenn du einen 16MHz Arduino hast):


/* if you have an Arduino with only 8MHz disable the next line */
#define HAS_16MHZ_CLOCK


und das, wenn du ein 868MHz Funkmodul hast:


//#define HAS_CC1100_433


Beim flashen würde ich mal nur das eine USB-Device stecken, welches du auch flashen willst (hatte auch schon mal aus Versehen meinen mySensors-Gateway als nanoCUL geflasht ;-)  ).
Dann booten und sehen als was der dann erkannt/eingetragen wird.

also beispielsweise /dev/ttyUSB0 (vermutlich)

Das dann in das makefile eintragen und noch mal 'make' und 'make program'...

Da du auch mind. 2 mit selber ID hast musst du eigentlich (zumindest die beiden) per 'by-path' einbinden.
Die mit eindeutiger ID (aber nicht täuschen lassen von denen mit der selben ID, da steht immer nur der zuletzt gesteckte drin, funktioniert also nicht) dann per 'by-id' einbinden, wenn du das besser findest...
...oder alle by-path.

Dann halt nicht mehr umstecken natürlich.
Booten usw. ist kein Problem...

Ansonsten ist es (evtl.) Glücksspiel, ob die Zuordnung /dev/ttyUSB0, /dev/ttyUSB1, ... nach einem Boot noch stimmt....
...bzw. wie gedacht/definiert/eingerichtet ist.

Ansonsten natürlich aufpassen, dass fhem nicht läuft während des Flash-Vorgangs bzw. das was du flashen willst mindestens noch nicht dort definiert ist!
Da sonst der Port bereits belegt ist und avrdude nicht drauf kommt...

Evtl. auch usb-check in fhem mal deaktivieren...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

spel

Hallo Joachim,

danke für deine Anleitung! Ich probiere es heute abend mal...

spel

Gleiche Fehlermeldung von avrdude...

Ich denke mit dem Arduino Nano stimmt was nicht...

spel

Unter Windows/direkt am PC das gleiche:

C:\WinAVR-20100110\bin>c:\WinAVR-20100110\bin\avrdude.exe -C "c:\WinAVR-20100110\bin\avrdude.conf" -v -v -v -v -p atmega328p -c arduino -P COM6 -b 57600 -D -Uflash:w:nanocul.hex:i

avrdude.exe: 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"

             Using Port                    : COM6
             Using Programmer              : arduino
             Overriding Baud Rate          : 57600
avrdude.exe: Send: 0 [30]   [20]
avrdude.exe: Send: 0 [30]   [20]
avrdude.exe: Send: 0 [30]   [20]
avrdude.exe: Recv:
avrdude.exe: stk500_getsync(): not in sync: resp=0x00

avrdude.exe done.  Thank you.

PeMue

Hallo,

hat der Arduino Nano überhaupt einen Bootloader drauf? Wenn nein, brauchst Du einen Programmer, z.B. USBASP.

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

spel

Hallo,

wahrscheinlich ist das das Problem. Ich dachte, dass wenn man nen Arduino kauft, dass dann einer drauf ist. Wegen des o. g. FTDI-Fehlers habe ich aber das Geld zurückbekommen. Insofern gehts..

MadMax-FHEM

Hmmm, hatte ich noch nie und ich hab mir ja schon so einige bestellt...

Also außer ich habe bewusst "nur" einen ATMEGA bestellt...

Gut, einen ATtiny/Digistump habe ich mal "verfused"... ;-)
Danach ging auch nix mehr...
...aber war ja nicht wirklich teuer...

Da viel rumtun lohnt nicht...

D.h. du versuchst es mit einem andern noch mal!?

Viel Erfolg!!

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)