Hauptmenü

culfw@ARM

Begonnen von Telekatz, 22 Juni 2015, 22:42:29

Vorheriges Thema - Nächstes Thema

Nitaro

Ok, gut.
Wie kann ich denn mit dem Cube am besten "einfangen" wo der Fehler liegen könnte ?
fhem.log verbose 5 zeigt mir nicht den Fehler. Kann man irgendetwas einstellen wo man dann
den Fehler sehen könnte ?

softcat

Zitat von: Telekatz am 01 Oktober 2019, 11:47:33
Debugausgaben gibt es an ST2. Allerdings hat der Bootloader selbst keine Debugausgaben, das verbraucht nur unnötig Platz.

Für Debugausgaben musst du im Makefile TARGETSTART und TRACE_LEVEL anpassen, den Bootloader neu compilieren und auch die a-culfw mit neuer TARGETSTART Adresse erstellen.

Tausend Dank!

Und ich habe leider noch eine kurze Frage für Doofe:

Könntest du mir ganz kurz ein Beispiel für die Werte für TARGETSTART und TRACE_LEVEL geben? (welche ich ja wahrscheinlich in  der "culfw/Devices/CUBe/bootloader/Makefile" anpasse). Voreingestellt ist ja 0x104000 für TARGETSTART und TRACE_LEVEL 0.

Und wo passe ich TARGETSTART für a-culfw an?

Sorry, ich habe keine Ahnung von Mikrocpntrollerprogrammierung...  :o

Telekatz

Nimm für TRACE_LEVEL 5 und stell TARGETSTART auf 0x108000. Damit darf der Bootloader maximal 32K groß werden.
TARGETSTART für die a-culfw wird im Linker Script CUBE_BL_flash.lds im Abschnitt MEMORY eingestellt.

softcat

Zitat von: Telekatz am 02 Oktober 2019, 20:52:40
Nimm für TRACE_LEVEL 5 und stell TARGETSTART auf 0x108000. Damit darf der Bootloader maximal 32K groß werden.
TARGETSTART für die a-culfw wird im Linker Script CUBE_BL_flash.lds im Abschnitt MEMORY eingestellt.

Danke, hat geklappt.

Log, wenn ich den geflashten CUBe an USB hänge:

CUBELOADER gestartet
-I- -- Compiled: Oct  2 2019 22:27:54 --
-I- Flash lock 00
-I- Flash memory 00108000:E59F006C
-I- RAM memory 00200000:AA
-I- TA2 off
-I- Chip ID 275B0940
-I- Chip ID Extention 00000000
-D- LUN SDRAM
-I- LUN init
-I- 1 Medias defined
-I- MSD init
MSDReset USBD_Init
Res Res EoBRes CfgEpt0 NewReq Std gDesc Dev EoBRes CfgEpt0 NewReq Std sAddr SetAddr(18) NewReq Std gDesc Dev NewReq Std gDesc Cfg NewReq Std gDesc Str3 NewReq Std gDesc Str0 NewReq Std gDesc Str2 NewReq Std gDesc Qua -W- Sta 0x888A8 [0] -W- _ NewReq Std gDesc Dev NewReq Std gDesc Cfg NewReq Std gDesc Cfg NewReq Std gDesc Str0 NewReq Std gDesc Str0 NewReq Std gDesc Str3 NewReq Std gDesc Str3 NewReq Std sCfg SetCfg(1) CfgEpt1 CfgEpt2 MSDReset NewReq gMaxLun -D- Cbk Inquiry S-D- Cbk ending Inquiry Sent -D- Cbk -D- Cbk Inquiry S-D- Cbk ending Inquiry Sent -D- Cbk -D- Cbk -W- MSDD_ProcessCommand: Unknown command 0x23
S-W- Sta 0x8628 [2] NewReq ClrFeat Hlt Std cFeat Hlt taIN -D- Cbk -D- Cbk ReqSense -D- Cbk ReqSense -D- Cbk -D- Cbk -W- MSDD_ProcessCommand: Unknown command 0x23
S-W- Sta 0x8E28 [2] NewReq ClrFeat Hlt Std cFeat Hlt taIN -D- Cbk -D- Cbk ReqSense R-D- Cbk eqSense -D- Cbk -D- Cbk -W- MSDD_ProcessCommand: Unknown command 0x23


Danach habe ich die Firmware über JP1 zurückgesetzt. Den Bootloader geflasht und die Firmware über das Netzlaufwerk eingespielt.

Wenn ich jetzt den USB Stecker ab und anstecke funktioniert der CUBe, aber nur solange er ohne Unterbrechung über ST2 mit Strom versorgt bleibt:

-I- CUBe
-I- Compiled: Oct  2 2019 22:25:55 --
-I- init Flash
-I- Initializing the SPI and AT45 drivers
-I- At45 enabled
-I- SPI interrupt enabled
-I- Waiting for a dataflash to be connected ...
-I- AT45DB041D detected
-I- Device identifier: 0x0000241F
-I- EE Magic: 1 26 Start 792
-I- Flash Serial: 3e6a0937
-I- init Timer
-I- init EEprom
-I-  - MAC 0:80:41:6a:9:37
-I- ** Valid PHY Found: 1
-I-  DM9161_ResetPhy
-I- init USB
-I- CDCDSerialDriver_Initialize
USBD_Init
-I- PMC_EnablePeripheral: clock of peripheral 6 is already enabled
-I- init Complete
Res EoBRes CfgEpt0 NewReq Std gDesc Dev EoBRes CfgEpt0 NewReq Std sAddr SetAddr(19) NewReq Std gDesc Dev NewReq Std gDesc Cfg NewReq Std gDesc Str0 NewReq Std gDesc Str1 NewReq Std gDesc Qua -W- Sta 0x888A8 [0] -W- _ NewReq Std gDesc Dev NewReq Std gDesc Cfg NewReq Std gDesc Cfg NewReq Std gDesc Cfg NewReq Std sCfg SetCfg(1) CfgEpt3 CfgEpt1 CfgEpt2 ConfigurationChanged NewReq gLineCoding NewReq sControlLineState(0, 0) NewReq sLineCoding NewReq gLineCoding


Sobald ist den CUBe komplett stromlos mache blinkt D1 wieder schnell und es öffnet sich das Netzlaufwerk zum einspielen der Firmware.

Log:
-I- -- Compiled: Oct  2 2019 22:27:54 --
-I- Flash lock 00
-I- Flash memory 00108000:E59F006C
-I- RAM memory 00200000:AA
-I- TA2 off
-I- Chip ID 275B0940
-I- Chip ID Extention 00000000
-D- LUN SDRAM
-I- LUN init
-I- 1 Medias defined
-I- MSD init
MSDReset USBD_Init
Res Res EoBRes CfgEpt0 NewReq Std gDesc Dev EoBRes CfgEpt0 NewReq Std sAddr SetAddr(22) NewReq Std gDesc Dev NewReq Std gDesc Cfg NewReq Std gDesc Str3 NewReq Std gDesc Str0 NewReq Std gDesc Str2 NewReq Std gDesc Qua -W- Sta 0x888A8 [0] -W- _ NewReq Std gDesc Dev NewReq Std gDesc Cfg NewReq Std gDesc Cfg NewReq Std gDesc Str0 NewReq Std gDesc Str0 NewReq Std gDesc Str3 NewReq Std gDesc Str3 NewReq Std sCfg SetCfg(1) CfgEpt1 CfgEpt2 MSDReset NewReq gMaxLun -D- Cbk Inquiry S-D- Cbk ending Inquiry Sent -D- Cbk -D- Cbk Inquiry S-D- Cbk ending Inquiry Sent -D- Cbk -D- Cbk -W- MSDD_ProcessCommand: Unknown command 0x23
S-W- Sta 0x8628 [2] NewReq ClrFeat Hlt Std cFeat Hlt taIN -D- Cbk -D- Cbk ReqSense R-D- Cbk eqSense -D- Cbk -D- Cbk -W- MSDD_ProcessCommand: Unknown command 0x23
-W- Sta 0x8E28 [2] NewReq ClrFeat Hlt Std cFeat Hlt StaIN -D- Cbk -D- Cbk ReqSense R-D- Cbk eqSense -D- Cbk -D- Cbk -W- MSDD_ProcessCommand: Unknown command 0x23
-W- Sta 0x8E28 [2] NewReq ClrFeat Hlt Std cFeat Hlt StaIN -D- Cbk -D- Cbk ReqSense R-D- Cbk eqSense -D- Cbk -D- Cbk Inquiry Sen-D- Cbk ding Inquiry Sent -D- Cbk -D- Cbk RdCapacity(10) S-D- Cbk ending RdCapacity(10) Sent -D- Cbk -D- Cbk -W- SBC_GetCommandInformation: Page code not supported(0x1C)
ModeSense(6) -W- MSDD_ProcessCommand: Unknown command 0x1A
-W- Sta 0x8628 [2] NewReq ClrFeat Hlt Std cFeat Hlt StaIN -D- Cbk -D- Cbk ReqSense -D- Cbk ReqSense -D- Cbk -D- Cbk -W- SBC_GetCommandInformation: Page code not supported(0x08)
ModeSense(6) -W- MSDD_ProcessCommand: Unknown command 0x1A
S-W- Sta 0x8E28 [2] NewReq ClrFeat Hlt Std cFeat Hlt taIN -D- Cbk -D- Cbk ReqSense R-D- Cbk eqSense -D- Cbk -D- Cbk -W- SBC_GetCommandInformation: Page code not supported(0x08)
ModeSense(6) -W- MSDD_ProcessCommand: Unknown command 0x1A
-W- Sta 0x8E28 [2] NewReq ClrFeat Hlt Std cFeat Hlt StaIN -D- Cbk -D- Cbk ReqSense -D- Cbk ReqSense -D- Cbk -D- Cbk RdCapacity(10) S-D- Cbk ending RdCapacity(10) Sent -D- Cbk -D- Cbk Inquiry S-D- Cbk ending Inquiry Sent -D- Cbk -D- Cbk RdCapacity(10) S-D- Cbk ending RdCapacity(10) Sent -D- Cbk -D- Cbk RdCapacity(10) S-D- Cbk ending RdCapacity(10) Sent -D- Cbk -D- Cbk RdCapacity(10) S-D- Cbk ending RdCapacity(10) Sent -D- Cbk -D- Cbk Read(10) LUNRead(0) LUNRead:0 len:1
-D- Cbk Read(10) Ok Read(10) Sendi-D- Cbk ng Read(10) Sent Read(10) Next -D- Cbk -D- Cbk RdCapacity(10) S-D- Cbk ending RdCapacity(10) Sent -D- Cbk -D- Cbk RdCapacity(10) S-D- Cbk ending RdCapacity(10) Sent -D- Cbk -D- Cbk RdCapacity(10) S-D- Cbk ending RdCapacity(10) Sent -D- Cbk -D- Cbk RdCapacity(10) S-D- Cbk ending RdCapacity(10) Sent -D- Cbk -D- Cbk RdCapacity(10) -D- Cbk Sending RdCapacity(10) Sent -D- Cbk -D- Cbk Read(10) LUNRead(2) LUNRead:2 len:1
-D- Cbk Read(10) Ok Read(10) Sendi-D- Cbk ng Read(10) Sent Read(10) Next -D- Cbk -D- Cbk RdCapacity(10) -D- Cbk Sending RdCapacity(10) Sent -D- Cbk -D- Cbk RdCapacity(10) S-D- Cbk ending RdCapacity(10) Sent -D- Cbk -D- Cbk Read(10) LUNRead(0) LUNRead:0 len:1
-D- Cbk Read(10) Ok Read(10) Sendi-D- Cbk ng Read(10) Sent Read(10) Next -D- Cbk -D- Cbk Read(10) LUNRead(0) LUNRead:0 len:1
-D- Cbk Read(10) Ok Read(10) Sendin-D- Cbk g Read(10) Sent Read(10) Next -D- Cbk -D- Cbk -W- MSDD_PreProcessCommand: Case 5
ModeSense(6) -D- Cbk ModeSense(6) Wait StallIn -W- Sta 0x8628 [2] NewReq ClrFeat Hlt Std cFeat Hlt -D- Cbk -D- Cbk -D- Cbk -D- Cbk RdCapacity(10) -D- Cbk Sending RdCapacity(10) Sent -D- Cbk -D- Cbk RdCapacity(10) S-D- Cbk ending RdCapacity(10) Sent -D- Cbk -D- Cbk Read(10) LUNRead(0) LUNRead:0 len:1
-D- Cbk Read(10) Ok Read(10) Sendi-D- Cbk ng Read(10) Sent Read(10) Next -D- Cbk -D- Cbk RdCapacity(10) S-D- Cbk ending RdCapacity(10) Sent -D- Cbk -D- Cbk RdCapacity(10) S-D- Cbk ending RdCapacity(10) Sent -D- Cbk -D- Cbk RdCapacity(10) S-D- Cbk ending RdCapacity(10) Sent -D- Cbk -D- Cbk Read(10) LUNRead(0) LUNRead:0 len:1


Hilft das weiter?

Nochmals danke für die tolle Unterstützung hier!

Telekatz

-I- RAM memory 00200000:AA
Der Bootloader findet am RAM Anfang den Wert 0xAA. Dadurch wird der Bootloader gestartet. Sollte eigentlich nach dem Einstecken der Stromversorgung nicht passieren.

Teste mal, ob bei aktivierten Bootloader nach ein paar Minuten der Cube automatisch neu starten und in die Firmware springt.

Auch könntest du mal probieren, Zeile 238 in bootloader.c zu ändern:
  *ram = 0x55;

Wenn das nichts hilft, kann man die Überprüfung auf 0xAA auch deaktivieren in Zeile 164-166:
//      if(*ram != 0xaa) {
        jump_to_target();
//      }

softcat

Zitat von: Telekatz am 03 Oktober 2019, 11:13:34
Teste mal, ob bei aktivierten Bootloader nach ein paar Minuten der Cube automatisch neu starten und in die Firmware springt.

Das funktioniert, nach ein paar Minuten startet die Firmware und der Cube funktioniert einwandfrei.

Zitat von: Telekatz am 03 Oktober 2019, 11:13:34
Auch könntest du mal probieren, Zeile 238 in bootloader.c zu ändern:
  *ram = 0x55;

Das hat keine Änderung gebracht, nur der Bootloader startet.

Zitat von: Telekatz am 03 Oktober 2019, 11:13:34
Wenn das nichts hilft, kann man die Überprüfung auf 0xAA auch deaktivieren in Zeile 164-166:
//      if(*ram != 0xaa) {
        jump_to_target();
//      }


Das funktionert einwandfrei, die Firmware startet direkt.

Hmm, gibt es eine Idee, warum das bei meinen Gerät angepasst werden muss? Ich kann damit gut leben aber irgendeine Ursache muss es ja dafür geben...

Vielen Dank, der CUBEe ist gerettet  :)


connaisseur

#1116
Habe meinen eingestaubten CUBE wieder aktiviert und auf 1.26.08 geflasht. Ziel ist es ista Wasser- / Wärmezähler (vermutl. mit Wireless M-Bus) zu empfangen. Wireless M-Bus wäre hier im Status ein bißchen wie "Jugend forscht".

Ist das Protokoll grundsätzlich in der culfw@ARM mit eingebaut / aktiviert worden?

Auf "brs", bzw. "brt" im telnet client kommen jedenfalls "SMODE" / "TMODE" als Responses.

Besten Dank schon mal!

freetz

#1117
Hallo zusammen,

ich habe schon seit ein paar Jahren einen MAX!Cube mit der Firmware von Telekatz geflasht und das Teil arbeitet ohne Mucken, vielen Dank noch mal für die tolle Arbeit hier!
Ich habe nun von Conrad im Rahmen einer Weihnachtsaktion die Wetterstation Eurochron ETFH-800 gratis mit dazu bekommen, und die ist schon ganz nett, aber ich würde sie gerne in FHEM einbinden, und habe die Hoffnung, da es sich um ein 433MHz-System handelt, dass das vielleicht sogar möglich ist?
Im Forum findet man zu anderen Eurochron-Wetterstationen Hinweise, aber ich bin mir nicht sicher, wie ich eine Einbindung angehen sollte und ob das überhaupt mit diesem Modell out-of-the-box geht. Falls nicht, dann hat vielleicht trotzdem jemand Hinweise, wie ich da vorgehen könnte?

Neben dem geflashten Cube (der momentan im Moritz-Modus die Max!-Heizkörper- und Wandthermostate abfragt) hätte ich auch noch einen CC1101-USB-Lite 868MHz Stick hier herumliegen, falls es damit besser/überhaupt nur gehen sollte.

Freue mich über jeden Hinweis, danke dafür schon im Voraus,

F.

EDIT: Foto von Platine angehängt.
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

JonesFXR

Hi,
ich habe vor ein paar Monaten meinen MaxCube erfolgreich mit einem zusätzlichen 433er CC1101 versehen,
mit a-CulFW V 1.26.08 geflasht und in meinem Testsystem im FHEM via Netzwerk zur Steuerung meiner IT-Komponenten eingebunden.
Das hat soweit alles funktioniert (Senden & Empfangen). (Soweit ich mich erinnern kann ;-) )

Jetzt hat's leider die MemCard meines Test-Raspis gerissen.
Auf meinem Prod-System sicherere ich regelmässig nach Änderungen. Leider nicht auf dem Testsystem.
Ich kann mich nicht mehr erinnern, wie ich den MaxCul eingebunden habe und die Suche hat auch nichts nützliches ergeben.

Könnte mir da bitte einer weiterhelfen und die Konfiguration eines funktionierenden Setups (MaxCube mit V 1.26.08 und zusätzlichen 433 CC1101, Netzwerkanschluss, für IT-Steuerung)
angeben?

gruss
jones

Wzut

#1119
Zitat von: JonesFXR am 23 Dezember 2019, 11:46:56
die Suche hat auch nichts nützliches ergeben.
Tipp : Suchbegriffe STACKABLE und  STACKABLE_CC
oder wie im Wiki für Maple ab Punkt 8 -> https://wiki.fhem.de/wiki/MapleCUN#Einrichtung_in_FHEM_.28alt.29
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

JonesFXR

STACKABLE bzw. CC, da kam ich nicht drauf.
Danke!!!

gmdd

Mein Cube wird nach dem ersten Teil dem Flashen des Bootloaders als USB Laufwerk erkannt, ich kann ihn seriell nicht verbiden?
Hat jemand eine Idee?

Version a-culfw_1.26.08_build_324, hab aber auch die zwei vorhergehenden probiert, derselbe Fehler.

Danke schonmal ....

Wzut

genau das ist ja der riesen Vorteil des neuen Bootloaders , ein Laufwerk und da schiebst du einfach die FW hin :)
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

gmdd

Zitat von: Wzut am 04 Januar 2020, 19:25:32
genau das ist ja der riesen Vorteil des neuen Bootloaders , ein Laufwerk und da schiebst du einfach die FW hin :)


1000x Dank, ich hab es nach der "alten" Anleitung versucht.
Noch eine Frage, gibt es da eine WEB Oberfläche?

Wzut

beim CUL ? nein wozu ?
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher