Jeelink V3c lässt sich nicht flashen in FHEM --> Defekte Charge im Mai/Juni 2017

Begonnen von Daniel_, 02 Juni 2017, 20:09:40

Vorheriges Thema - Nächstes Thema

Daniel_

Guten Tag zusammen,

bisher habe ich hier viele Infos gefunden, um meine Problemchen zu lösen, diesmal muss ich mal aktiv nachfragen:

Ich habe mir die Tage einen original Jeelink V3C gekauft mit 868 MHz, Case und Antenne. Dieses Ding habe ich an meinen Raspi 2 mit FHEM gesteckt und habe versucht mittels avrdude das ganze zu flashen, damit ich meine LaCrosse Temp+Humidity-Sensoren auslesen kann.

Umgebung:

root@raspberrypi:/home/pi# uname -a
Linux raspberrypi 4.9.24-v7+ #993 SMP Wed Apr 26 18:01:23 BST 2017 armv7l GNU/Linux

root@raspberrypi:/home/pi# cat /etc/issue
Raspbian GNU/Linux 8 \n \l



Das Gerät wird auch erkannt:

root@raspberrypi:/home/pi# usb-devices  -l

.......... ..........

T:  Bus=01 Lev=02 Prnt=02 Port=03 Cnt=02 Dev#=  4 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0403 ProdID=6001 Rev=06.00
S:  Manufacturer=FTDI
S:  Product=FT232R USB UART
S:  SerialNumber=AI04PIAC
C:  #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=90mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio

.......... ..........
[code]

Was ich gemacht habe:

Das Gerät wurde unter Linux auf /dev/ttyUSB0 erkannt. Entsprechend habe ich es auch unter FHEM angelegt:

[code]
[b]Internals[/b]
Clients :PCA301:EC3000:RoomNode:LaCrosse:ETH200comfort:CUL_IR:HX2272:FS20:AliRF:Level:EMT7110:KeyValueProtocol
DEF /dev/ttyUSB0
DeviceName /dev/ttyUSB0@57600
FD 5
NAME myJeeLink
NR 53
PARTIAL STATE opened
TYPE JeeLink

[b]Attributes[/b]
flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]


Der Befehl set myJeeLink flash LaCrosse verhöhnt mich nur mit folgenden Fehlermeldungen:


flashing JeeLink myJeeLink
detected Firmware: LaCrosse.hex
hex file: ./FHEM/firmware/JeeLink_LaCrosse.hex
port: /dev/ttyUSB0
log file: ./log/JeeLinkFlash.log
myJeeLink closed
command: avrdude -p atmega328P -c arduino -P /dev/ttyUSB0 -D -U flash:w:./FHEM/firmware/JeeLink_LaCrosse.hex 2>./log/JeeLinkFlash.log

--- AVRDUDE ---------------------------------------------------------------------------------
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x9e
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x98
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x66
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x9e
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x86
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x66
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x98
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xe0
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x98
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x78

avrdude done.  Thank you.

--- AVRDUDE ---------------------------------------------------------------------------------


Was ich bisher gemacht habe:
- Mittlerweile habe ich alle USB-Geräte abgeklemmt und den Stick direkt an den USB-Port des Raspis geklemmt. --> Hilft nicht
- Diverse Baudraten im avrdude Kommando durchprobiert --> Hilft nicht

Any Ideas?

KölnSolar

Hallo Daniel,
willkommen im Forum.
Idee hab ich keine und verhöhnen will ich Dich auch nicht, aber meinst Du nicht der Post ist in DIESEM Subforum falsch platziert ? Lies Dir mal im Anfängerfragen-Subforum "In welcher Gruppe soll ich meine Frage stellen" durch und verschiebe dann den Thread(ich glaub unten links) in das richtigere Subforum. Da hat man bestimmt auch Ideen  ;)
Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Daniel_

Habe heute den ganzen Käse auch nochmal auf meiner Windows-Kiste mit installierten FTDI-Treibern und Arduino-IDE versucht. Das selbe Ergebnis. Meiner Vermutung nach ist grundlegend etwas mit dem Bootloader des Sticks nicht ok oder ich übersehe ein relevantes Detail.

Ausgabe von Arduino IDE 1.8.2:

Der Sketch verwendet 27804 Bytes (86%) des Programmspeicherplatzes. Das Maximum sind 32256 Bytes.
Globale Variablen verwenden 1221 Bytes (59%) des dynamischen Speichers, 827 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.
Beim Hochladen des Sketches ist ein Fehler aufgetreten
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x9e
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x98
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x66
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x9e
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x86
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x66
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x98
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xe0
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x98
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x78

Daniel_

Zitat von: KölnSolar am 02 Juni 2017, 21:18:52
Lies Dir mal im Anfängerfragen-Subforum "In welcher Gruppe soll ich meine Frage stellen" durch und verschiebe dann den Thread(ich glaub unten links) in das richtigere Subforum. Da hat man bestimmt auch Ideen  ;)
Grüße Markus

Grüß Gott,

sorry, Technoline, Intertechno, fast das selbe  :P

KernSani

Blinkt denn die LED, wenn du den Jeelink anstöpselst?
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

RaspiLED

Hi, was sagt den der Gerätemanager zum Stick? Alles okay ider Ausrufezeichen? Welchen Port bekommt der?
Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

Daniel_

Zitat von: KernSani am 03 Juni 2017, 11:16:33
Blinkt denn die LED, wenn du den Jeelink anstöpselst?
Hi zusammen,

@KernSani Wenn ich ihn einstecke, dann leuchten beide LEDs (rot und grün) gleichzeitig 2x kurz hintereinander auf und sind danach dunkel. Wie sollte es sein?

@RaspiLED Unter Windows ist das Gerät korrekt installiert mit den speziellen FTDI-Treibern für Windows. In Arduino IDE wird das Gerät als Arduino an Port COM3 erkannt. Mit der COM-Console kann ich mich auch drauf verbinden und sehe die Default-Sketch:

Available commands:
<nn>i      - set node ID (standard node ids are 1..30)
<n>b       - set MHz band (4 = 433, 8 = 868, 9 = 915)
<nnnn>o    - change frequency offset within the band (default 1600)
               96..3903 is the range supported by the RFM12B
<nnn>g     - set network group (RFM12 only allows 212, 0 = any)
<n>c       - set collect mode (advanced, normally 0)
t          - broadcast max-size test packet, request ack
...,<nn>a  - send data packet to node <nn>, request ack
              if using group 0 then sticky group number is used
...,<nn>s  - send data packet to node <nn>, no ack
... <nn>   - Space character is a valid delimiter
<i>,n      - remove group/node index number <i> entry from eeprom
<g>n       - set group <g> as sticky. Group 0 only, see p command
<n>l       - turn activity LED on PB1 on or off
  ...,m     - add message string to ram, see p command
<i>,<g>,<s>p post semaphore <s> for node <i>, group <g> to be
              sent with its next ack. Group number becomes sticky
<n>q       - set quiet mode (1 = don't report bad packets)
<n>x       - set reporting format (0: decimal, 2: decimal+ascii
            -  1: hex, 3: hex+ascii)
123z       - total power down, needs a reset to start up again
Current configuration:
A i1 g210 @ 868 MHz

HCS

Zitat von: Daniel_ am 02 Juni 2017, 20:09:40
Der Befehl set myJeeLink flash LaCrosse verhöhnt mich nur mit folgenden Fehlermeldungen:
Ich bin mir recht sicher, dass ich nichts implementiert habe, dass den Anwender verhöhnen soll / will.

Eine Möglichkeit ist ein Hardware-Fehler. avrdude löst einen Reset aus, um den Bootloader zu aktivieren. Dazu wird auf der seriellen Schnittstelle DTR kurz auf LOW gesetzt um über C1 den Reset auszulösen. Wenn in diesem Bereich auf der Platine ein Fehler vorliegt, dann: kein Reset -> kein Bootloader -> kein Firmware upload -> stk500_getsync() attempt 1 of 10: not in sync: resp=0x9e

Testen kann man die Reset-Schaltung, indem man mit einem Terminalprogramm DTR ein- und wieder ausschaltet, dann muss der JeeLink einen Reset machen.
Dazu bietet sich unter Windows z.B. HTerm an, siehe Anhang.

Dass der Bootloader ein Problem hat, kann man nicht völlig ausschließen, aber das habe ich noch nie gesehen.

Daniel_

Hi HCS,

Zitat von: HCS am 04 Juni 2017, 13:07:19
Ich bin mir recht sicher, dass ich nichts implementiert habe, dass den Anwender verhöhnen soll / will.

Das war auch nicht so gemeint. Man hat nur nach 3 Stunden rumprobieren und konfigurieren generell das Gefühl, dass sich  Raspi, Jeelink und FHEM gegen einen verschworen haben. Das ist gerade der Frust, der aus mir spricht. Als Entwickler bin ich gewohnt meine Geräte im Griff zu haben ;D

Ich danke dir für deine exzellente Antwort; das werde ich direkt versuchen und mich wieder melden.

Daniel_

So, da simma schon wieder. Danke für das Tool. Cooles Ding. Hier mein Ergebnis:

Nach dem Klick auf DTR kommt der "Startscreen" des Sketch erneut. Ich denke mal das hat also geklappt.

HCS

Zitat von: Daniel_ am 04 Juni 2017, 14:03:48
Nach dem Klick auf DTR kommt der "Startscreen" des Sketch erneut. Ich denke mal das hat also geklappt.
Sehe ich auch so. Reset per DTR scheint zu funktionieren.

Schalte mal in der Arduino IDE das logging für upload ein und hänge das Log, das unten ausgegeben wird, hier an.

Daniel_

Anbei das log wie gewünscht. Was mich persönlich wundert: Wieso mit -b115200? Auf diversen Seiten heißt es -b56700. Hab beides eben in der Kommandozeile versucht, geht auch net.


Archiving built core (caching) in: C:\Users\Jonny\AppData\Local\Temp\arduino_cache_818933\core\core_arduino_avr_uno_0c812875ac70eb4a9b385d8fb077f54c.a
Der Sketch verwendet 27804 Bytes (86%) des Programmspeicherplatzes. Das Maximum sind 32256 Bytes.
Globale Variablen verwenden 1221 Bytes (59%) des dynamischen Speichers, 827 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM3 -b115200 -D -Uflash:w:C:\Users\Jonny\AppData\Local\Temp\arduino_build_717874/LaCrosseITPlusReader10.ino.hex:i

avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM3
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x9e
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x98
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x66
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x9e
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x86
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x66
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x98
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xe0
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x98
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x78

avrdude done.  Thank you.

Beim Hochladen des Sketches ist ein Fehler aufgetreten

RaspiLED

Hi, aber FHEM hat die Schnittstelle nicht, während die IDE versucht, oder?
Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

Daniel_

@RaspiLED Die angegebene Schnittstelle kann ich mit dem COM-Monitor öffnen, bekommen die Ausgabe des aktuellen Sketch angezeigt und kann auch damit interagieren.

HCS

Zitat von: Daniel_ am 04 Juni 2017, 18:35:29
Anbei das log wie gewünscht. Was mich persönlich wundert: Wieso mit -b115200? Auf diversen Seiten heißt es -b56700. Hab beides eben in der Kommandozeile versucht, geht auch net.
Der JeeLink hat einen optiboot bootloader drauf und der kann 115200.

Zitat von: Daniel_ am 04 Juni 2017, 18:35:29C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM3 -b115200 -D -Uflash:w:C:\Users\Jonny\AppData\Local\Temp\arduino_build_717874/LaCrosseITPlusReader10.ino.hex:i
Der generierte avrdude-Aufruf ist korrekt.

Zitat von: RaspiLED am 04 Juni 2017, 18:44:56
Hi, aber FHEM hat die Schnittstelle nicht, während die IDE versucht, oder?
Wenn avrdude die Schnittstelle nicht aufbekommt, dann sieht die Fehelrmeldung so aus:
avrdude: ser_open(): can't open device "\\.\COM3": Zugriff verweigert


Aktuell gehen mir die Ideen aus. Notfalls bei JeeLabs reklamieren, hast ja was mit Gewährleistung gekauft.