FHEM Forum

Verschiedenes => Bastelecke => Thema gestartet von: yamfhem am 17 Dezember 2015, 18:14:06

Titel: [gelöst] promicroCUL lässt sich auf pro micro nicht flashen
Beitrag von: yamfhem am 17 Dezember 2015, 18:14:06
Hallo,
ich habe mir eine promicroCUL für eine 3,3V/8Mhz/433MHz Version compiliert und bekomme die nicht auf den promicro geflasht.
Mit make usbprogram_v3 geht's gleich gar nicht, weil der den pro micro nicht findet, der aber unter /dev/serial/by-id/usb-SparkFun_SparkFun_Pro_Micro-if00 zu sehen ist.

dfu-programmer atmega32u4 erase || true
dfu-programmer: no device present.
dfu-programmer atmega32u4 flash promicroCUL.hex
dfu-programmer: no device present.
makefile:129: recipe for target 'do_usbprogram' failed
make: *** [do_usbprogram] Error 1



Aber auch meine Versuche, das manuell mit avrdude - unter Windows und Linux - (weil ich da wenigstens den Port angeben kann) zu flashen, funktionieren nicht:

sudo avrdude -c avr109 -b 57600 -P /dev/serial/by-id/usb-SparkFun_SparkFun_Pro_Micro-if00 -p atmega32u4 -vv -U flash:w:promicroCUL.hex
......
Connecting to programmer: .avrdude: ser_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding


Mir scheint, das Teil geht nicht in den Bootloader Mode.
Unter Windows in der Arduino IDE lässt sich das Teil aber flashen, da sieht man auch kurz, dass er von COM11 auf COM12 umschaltet.

Kann mir jemand helfen?
Gruß yam
Titel: Antw:promicroCUL lässt sich auf pro micro nicht flashen
Beitrag von: yamfhem am 18 Dezember 2015, 22:30:40
... ich glaub's ja nich! ::)

GND und RST brücken beim anstöpseln und dann gleich

sudo avrdude -c avr109 -b 57600 -P /dev/ttyACM0 -p atmega32u4 -vv -U flash:w:promicroCUL.hex


hat geholfen (... und auch nur 3 Tage gedauert ... :o).

Gruß yam
Titel: Antw:promicroCUL lässt sich auf pro micro nicht flashen
Beitrag von: Omega-5 am 19 Dezember 2015, 12:36:03
Zitat von: yamfhem am 18 Dezember 2015, 22:30:40
... ich glaub's ja nich! ::)

GND und RST brücken beim anstöpseln und dann gleich

sudo avrdude -c avr109 -b 57600 -P /dev/ttyACM0 -p atmega32u4 -vv -U flash:w:promicroCUL.hex


hat geholfen (... und auch nur 3 Tage gedauert ... :o).

Hallo yam,
schön das es jetzt klappt. Ich habe aber da noch ein paar Fragen bzw. eine Bitte. Welche culfw hast du eingesetzt? Wie sieht deine Devicedefinition aus? Verdrahtung?
Ich habe ja für die nanoCUL V3.1 die Ports umlegen müssen. http://forum.fhem.de/index.php/topic,38561.msg376006.html#msg376006 (http://forum.fhem.de/index.php/topic,38561.msg376006.html#msg376006)
Es wäre natürlich besser wenn man die CUL_V3 benutzen könnte. Vieleicht kannst du ja dein Verzeichnis "promicroCUL" mal zippen und hier einstellen.

Gruß Friedrich
Titel: Antw:[gelöst] promicroCUL lässt sich auf pro micro nicht flashen
Beitrag von: PeMue am 19 Dezember 2015, 15:38:01
Hallo yam,

hast Du den Arduino pro micro das erste Mal geflasht? Dann sollte das mit dem normalen Bootlader gehen. Wenn eine culfw drauf ist, könnte man per serieller Verbindung das Kommando
B01 siehe commandref (http://culfw.de/commandref#cmd_B) setzen, dann sollte das auch gehen (habe es aber noch nicht probiert.

Gruß PeMue
Titel: Antw:[gelöst] promicroCUL lässt sich auf pro micro nicht flashen
Beitrag von: yamfhem am 19 Dezember 2015, 17:50:03
Hallo,
@Omega-5:
- Basis ist: culfw-code-536-trunk
- Ausgangspunkt war eigentlich Deine Datei board.h - die habe ich mir auf 433MHz angepasst, siehe *.zip File
- Verdrahtung ist "Eure Standardverdrahtung" (mit D2 an GDO0 und D3 an GDO2) aus dem hier: http://forum.fhem.de/index.php/topic,38561.0.html

Devicedef:
- define microCUL CUL /dev/serial/by-id/usb-busware.de_CUL433-if00@38400 2222


... so sieht das im Log aus:
Dec 18 22:20:16 pi2 kernel: [ 4371.860471] usb 1-1.3: USB disconnect, device number 56
Dec 18 22:20:23 pi2 kernel: [ 4378.237085] usb 1-1.3: new full-speed USB device number 57 using dwc_otg
Dec 18 22:20:23 pi2 kernel: [ 4378.358219] usb 1-1.3: New USB device found, idVendor=1b4f, idProduct=9204
Dec 18 22:20:23 pi2 kernel: [ 4378.358256] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Dec 18 22:20:23 pi2 kernel: [ 4378.358272] usb 1-1.3: Product: SparkFun Pro Micro
Dec 18 22:20:23 pi2 kernel: [ 4378.358286] usb 1-1.3: Manufacturer: SparkFun
Dec 18 22:20:23 pi2 kernel: [ 4378.367906] cdc_acm 1-1.3:1.0: This device cannot do calls on its own. It is not a modem.
Dec 18 22:20:23 pi2 kernel: [ 4378.368021] cdc_acm 1-1.3:1.0: ttyACM0: USB ACM device
Dec 18 22:20:39 pi2 kernel: [ 4394.647566] usb 1-1.3: USB disconnect, device number 57
Dec 18 22:21:03 pi2 kernel: [ 4418.947696] usb 1-1.3: new full-speed USB device number 58 using dwc_otg
Dec 18 22:21:03 pi2 kernel: [ 4419.061253] usb 1-1.3: New USB device found, idVendor=1b4f, idProduct=9203
Dec 18 22:21:03 pi2 kernel: [ 4419.061290] usb 1-1.3: New USB device strings: Mfr=2, Product=1, SerialNumber=0
Dec 18 22:21:03 pi2 kernel: [ 4419.061306] usb 1-1.3: Product: Pro Micro 3.3V
Dec 18 22:21:03 pi2 kernel: [ 4419.061320] usb 1-1.3: Manufacturer: SparkFun Electronics
Dec 18 22:21:03 pi2 kernel: [ 4419.066932] cdc_acm 1-1.3:1.0: ttyACM0: USB ACM device
Dec 18 22:21:15 pi2 kernel: [ 4430.492434] usb 1-1.3: USB disconnect, device number 58
Dec 18 22:21:15 pi2 kernel: [ 4430.987878] usb 1-1.3: new full-speed USB device number 59 using dwc_otg
Dec 18 22:21:15 pi2 kernel: [ 4431.102768] usb 1-1.3: New USB device found, idVendor=03eb, idProduct=204b
Dec 18 22:21:15 pi2 kernel: [ 4431.102806] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Dec 18 22:21:15 pi2 kernel: [ 4431.102822] usb 1-1.3: Product: CUL433
Dec 18 22:21:15 pi2 kernel: [ 4431.102835] usb 1-1.3: Manufacturer: busware.de
Dec 18 22:21:15 pi2 kernel: [ 4431.106679] cdc_acm 1-1.3:1.0: ttyACM0: USB ACM device


- Dateien im Anhang

@PeMue
- der Micro war nur mal testweise mit einem Standard Programm aus der Arduino IDE geflasht, keine culfw
- seriell oder mit einem ISP wollte ich genau nicht machen, weil das "eigentlich" zu viel Aufwand ist - weil der Micro das ja per USB können soll (sicher wäre das schneller gegangen, aber ich wollte das mit Boardmitteln hinkriegen)
- "B0" ist aus FHEM heraus? - ich war auf Linux-Ebene unterwegs


Gruß yam
Titel: Antw:[gelöst] promicroCUL lässt sich auf pro micro nicht flashen
Beitrag von: PeMue am 19 Dezember 2015, 18:52:23
Hallo yam,
Zitat von: yamfhem am 19 Dezember 2015, 17:50:03
@PeMue
- seriell oder mit einem ISP wollte ich genau nicht machen, weil das "eigentlich" zu viel Aufwand ist - weil der Micro das ja per USB können soll (sicher wäre das schneller gegangen, aber ich wollte das mit Boardmitteln hinkriegen)
nein einfach an einen USB Port hängen und per avrdude flashen. Wenn es unter Windows geht, sollte es auch unter Unix funktionieren.

Zitat von: yamfhem am 19 Dezember 2015, 17:50:03
- "B0" ist aus FHEM heraus? - ich war auf Linux-Ebene unterwegs
Nein, über USB mit 38400/8/1/N und mit CR oder CR+LF am Ende ...

Gruß PeMue
Titel: Antw:[gelöst] promicroCUL lässt sich auf pro micro nicht flashen
Beitrag von: Omega-5 am 20 Dezember 2015, 11:30:45
Zitat von: PeMue am 19 Dezember 2015, 18:52:23
Hallo yam,nein einfach an einen USB Port hängen und per avrdude flashen. Wenn es unter Windows geht, sollte es auch unter Unix funktionieren.
Nein, über USB mit 38400/8/1/N und mit CR oder CR+LF am Ende ...

Hallo geht leider nicht weil Sparkfun Pro Micro:  :(
Zitat"We ship the Pro Micro with a modified version of the Arduino Leonardo bootloader...."
...it'll only briefly (<750ms) start the bootloader before continuing on to the sketch.
Nachzulesen hier:
https://learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup-guide#troubleshooting-and-faq (https://learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup-guide#troubleshooting-and-faq)
Also brauchen wir vieleicht doch einen Taster an RST oder in der Firmware etwas wie einen Doppelklick simulieren?  ;)

Gruß Friedrich
Titel: Antw:[gelöst] promicroCUL lässt sich auf pro micro nicht flashen
Beitrag von: yamfhem am 20 Dezember 2015, 14:22:31
Zitat von: Omega-5 am 20 Dezember 2015, 11:30:45
Also brauchen wir vieleicht doch einen Taster an RST oder in der Firmware etwas wie einen Doppelklick simulieren?  ;)

Gruß Friedrich

.... ja, das dachte ich mir auch schon. Nach einem Reset Taster hatte ich in Eurem Schaltplan auch schon gesucht (und nicht gefunden). Ich habe mir so geholfen, dass ich den Micro nur auf die Pfostenleiste auf das Steckbrett gesteckt habe und einen Jumper zwischen RST und GND (siehe Anhang).

Dann mal noch einige Bilder von meinem Micro-Sandwich-CUL (direkt mit Drähten verbunden).

Gruß yam

edit: noch vergessen: unter der Windows-Arduino IDE konnte ich ja flashen - da sieht man:
1. dass der Micro kurz mit 1200 baud geöffnet wird
2. dann gibt's 'ne neue Schnittstelle (COMx+1) und
3. Avrdude flasht auf diese COMx+1.
Dieses kurzzeitge Verbinden mit 1200 baud öffnet wohl den Bootloader (da könnte man bestimmt auch was scripten ..)
Titel: Antw:[gelöst] promicroCUL lässt sich auf pro micro nicht flashen
Beitrag von: PeMue am 21 Dezember 2015, 15:06:28
Zitat von: yamfhem am 20 Dezember 2015, 14:22:31
edit: noch vergessen: unter der Windows-Arduino IDE konnte ich ja flashen - da sieht man:
1. dass der Micro kurz mit 1200 baud geöffnet wird
2. dann gibt's 'ne neue Schnittstelle (COMx+1) und
3. Avrdude flasht auf diese COMx+1.
Dieses kurzzeitge Verbinden mit 1200 baud öffnet wohl den Bootloader (da könnte man bestimmt auch was scripten ..)
Ok, da ich (unter Windows) mit avrdude geflasht habe, ist mir das mit den 750 ms nicht aufgefallen.

Gruß PeMue
Titel: Antw:[gelöst] promicroCUL lässt sich auf pro micro nicht flashen
Beitrag von: yamfhem am 22 Dezember 2015, 12:55:11
...unter Windows hatte ich vorher auch versucht!? Da lies der ProMicro sich aber nur mit einem kompilierten Sketch in der Arduino IDE flashen.
Wie genau und womit hast Du denn unter Windows geflasht?
Nachdem die CUL erstmal drauf geht unter Windows ja nix mehr, weil (wegen dem Bootloader wahrscheinlich) der ProMicro nicht mehr erkannt wird.

yam
Titel: Antw:[gelöst] promicroCUL lässt sich auf pro micro nicht flashen
Beitrag von: PeMue am 23 Dezember 2015, 15:42:20
Hallo yam,

ich habe (den nackten) Arduino pro micro mit folgendem Befehl geflasht:
avrdude -D -v -p atmega32u4 -P COM9 -b 57600 -c avr109 -U flash:w:CUL_1.65_8_868_promicro.hex
Wenn die culfw draufgespielt ist, musst Du ihn mit B01 (siehe auch http://culfw.de/commandref#cmd_B) in den Bootmodus versetzen und dann flashen.

Gruß PeMue
Titel: Antw:[gelöst] promicroCUL lässt sich auf pro micro nicht flashen
Beitrag von: yamfhem am 24 Dezember 2015, 19:37:58
Hallo PeMue,
wahrscheinlich stelle ich mich bloss blöd an, aber  wie komme ich denn unter Windows in den B01 Modus um dann anschliessend zu flashen? Mit einem einem Terminal einfach B01 und dann ganz normal avrdude? Hast Du das schon mal hinbekommen?
Gruss yam
Titel: Antw:[gelöst] promicroCUL lässt sich auf pro micro nicht flashen
Beitrag von: PeMue am 25 Dezember 2015, 11:50:45
Zitat von: yamfhem am 24 Dezember 2015, 19:37:58
Mit einem einem Terminal einfach B01 und dann ganz normal avrdude? Hast Du das schon mal hinbekommen?
Gruss yam
Hallo yam,

Antwort auf Deine erste frage: ja
Antwort auf die zweite: nein, habe ich noch nicht. Werde ich aber mal versuchen und berichten.

Schöne Weihnachten.

Gruß PeMue

Edit: Funktioniert unter Windows leider nicht. Warum? Der Bootloader hat einen anderen Treiber als der CUL. Wenn mit B01 in den Bootmodus geschaltet wird, ist der serielle Port weg, aber Windows initialisiert nicht mehr neu. Wenn das Teil aber aus- und wieder eingesteckt wird, ist wieder der CUL Treiber aktiv und das Ding nicht mehr im Bootmodus  >:( >:( >:(
Titel: Antw:[gelöst] promicroCUL lässt sich auf pro micro nicht flashen
Beitrag von: PeMue am 28 Dezember 2015, 15:17:46
Hallo,

ich habe mittlerweile den nanoCUL mit dem Arduino pro micro (am Raspberry Pi) geflasht:
ZitatWhen a Pro Micro is externally reset (by pulling the RST pin low), it'll only
briefly (<750ms) start the bootloader before continuing on to the sketch. If
you need the bootloader to run longer, resetting twice quickly will get the
Pro Micro to enter bootloader mode for eight seconds.
Wenn man das beherzigt, sollte die Flasherei ggf. auch unter Windows gehen.
sudo avrdude -c avr109 -b 57600 -P /dev/ttyACM0 -p atmega32u4 -vv -U flash:w:culfw_v1.66_8_868_promicro.hex

Die compilierten Dateien hänge ich an den Thread mit der nanoCUL Platine bzw. die Beschreibung auch. Scheinbar funktioniert das Rücksetzen in den Bootloader Modus über die culfw nicht, Zitat aus dem Wiki:
ZitatDer bereits bei fabrikneuen Arduinos vorhandene Bootloader ist nicht kompatibel zu dem Bootloader der culfw. Daher funktioniert das Kommando B zum rebooten des Selbstbau CULs nicht. Der Selbstbau CUL gerät dann in eine Endlosschleife, die sich nur durch aus- und einstecken beenden lässt. Das Problem tritt aber im normalen Betrieb nicht auf.
Es gilt doch die alte Weisheit: Lesen bildet. Ggf. sollten wir schauen, dass wir auf die Arduino pro micro einen culfw kompatiblen Bootloader draufbringen, dann funktioniert ggf. die Flasherei aus fhem heraus wieder  ;)

Gruß PeMue
Titel: Antw:[gelöst] promicroCUL lässt sich auf pro micro nicht flashen
Beitrag von: f1nd am 09 Februar 2016, 22:12:58
hey kannst du mal n kurze anfänger anleitung schreiben mit der firmware für 433 ?
was is das für ein wiederstand dahinten , muss der sein ?

VG
Titel: Antw:[gelöst] promicroCUL lässt sich auf pro micro nicht flashen
Beitrag von: yamfhem am 15 Februar 2016, 08:05:49
Wiederstand sind die 10KOhm zwischen (VCC und CSN) aus der Schaltung:
http://www.fhemwiki.de/wiki/Selbstbau_CUL
"Muss der sein?" - Ich denke ja, sonst wäre der im Schaltplan nicht drin.

yam
Titel: Antw:[gelöst] promicroCUL lässt sich auf pro micro nicht flashen
Beitrag von: DerLexus am 09 Dezember 2016, 17:26:47
@yamfhem: Hi. Sorry für die späte Störung aber vielleicht hast du einen Tipp für mich. Ich versuche auch gerade einen SparFun pro micro mit 16Mhz zum laufen zu bekommen als CUL. Ich habe bisher die Definition unter Devices/CUL erweitert und die board.h+CUL.c angepasst damit 16Mhz möglich sind. Nach deinem Tipp ging das Flashen auch recht easy. Aber jetzt wird kein USB Gerät mehr erkannt, es kommen nur Fehler ala:

[ 2077.378415] usb 1-1.2: new full-speed USB device number 52 using dwc_otg
[ 2077.798429] usb 1-1.2: device not accepting address 52, error -32
[ 2077.878416] usb 1-1.2: new full-speed USB device number 53 using dwc_otg
[ 2078.298424] usb 1-1.2: device not accepting address 53, error -32
[ 2078.298538] usb 1-1-port2: unable to enumerate USB device


Welche Devices Definition hast du genau genutzt und hast du solche Probleme auch gehabt?

Ich habe kurz mal in dein Zip geschaut, hattest du einen besonderen Grund die Pins zu ändern?
Titel: Antw:[gelöst] promicroCUL lässt sich auf pro micro nicht flashen
Beitrag von: DerLexus am 09 Dezember 2016, 18:02:39
OK, ich konnte mein Problem doch lösen. Es war recht einfach. Ich hatte im makefile F_CPU noch auf 8Mhz stehen... nach der Anpassung und dem auskommentieren der CUL V4 Targets (da es für diesen Prozessor keine Definitionen im USB Treiber bei 16Mhz gibt) klappt alles.