Autor Thema: UNKNOWNCODE ZERR30D  (Gelesen 3772 mal)

Offline P.A.Trick

  • Hero Member
  • *****
  • Beiträge: 1697
  • Love it, change it or leave it
UNKNOWNCODE ZERR30D
« am: 29 Juli 2014, 09:42:15 »
Guten Morgen Forum,

eben ist mir folgender Eintrag im fhem-log aufgefallen.
2014.07.29 09:25:52.140 4: CUL_0: CUL CUL_0 UNKNOWNCODE ZERR30D
Ich bin mir nicht sicher ob das ein Fehler ist, aber vielleicht kann mir jemand sagen was das für ein Gerät sein könnte?
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 20778
Antw:UNKNOWNCODE ZERR30D
« Antwort #1 am: 03 August 2014, 13:04:37 »
culfw/clib/rf_moritz.c: (== MAX)

ZERR3<CC1100_MARCSTATE> wird ausgegeben, falls MARCSTATE nicht auf RX steht.
Lustigerweise ist RX==0D, d.h. zw. den zwei Abfragen ist der CC1101 Status auf RX gesprungen.

Offline P.A.Trick

  • Hero Member
  • *****
  • Beiträge: 1697
  • Love it, change it or leave it
Antw:UNKNOWNCODE ZERR30D
« Antwort #2 am: 03 August 2014, 18:42:48 »
MAX habe ich Rudi, aber ansonsten habe ich nur Bahnhof verstanden! Sorry!
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 20778
Antw:UNKNOWNCODE ZERR30D
« Antwort #3 am: 03 August 2014, 18:56:46 »
culfw programmiert den Funkchip (cc1101) auf Empfang. Der ist selbst ein kleiner Computer mit vielen Zustaenden (Initialisieren, Kalibrieren, Senden, Empfangen, etc). Wenn nach dem programmieren eine gewisse Zeit verstrichen ist, und der Zustand immer noch nicht auf Empfang (RX) steht, dann gibt es die Fehlermeldung.

Offline P.A.Trick

  • Hero Member
  • *****
  • Beiträge: 1697
  • Love it, change it or leave it
Antw:UNKNOWNCODE ZERR30D
« Antwort #4 am: 04 August 2014, 10:34:02 »
Ah ok verstehe, also kann ich die Meldung ignorieren oder soll ich weiter analysieren?
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 20778
Antw:UNKNOWNCODE ZERR30D
« Antwort #5 am: 04 August 2014, 10:42:59 »
Zitat
oder soll ich weiter analysieren?

Gerne, aber dann ohne meine Hilfe.

Offline gero

  • Sr. Member
  • ****
  • Beiträge: 593
Antw:UNKNOWNCODE ZERR30D
« Antwort #6 am: 14 November 2014, 09:47:00 »
Ich beobachte diese Meldung seit Oktober verstärkt in meinen Logfiles.
Verursacht wird sie durch rf_moritz.c Zeile 301ff:
  //Wait for sending to finish (CC1101 will go to RX state automatically
  //after sending
  uint8_t i;
  for(i=0; i< 200;++i) {
    if( cc1100_readReg( CC1100_MARCSTATE ) == MARCSTATE_RX)
      break; //now in RX, good
    if( cc1100_readReg( CC1100_MARCSTATE ) != MARCSTATE_TX)
      break; //neither in RX nor TX, probably some error
    my_delay_ms(1);
  }

  if(cc1100_readReg( CC1100_MARCSTATE ) != MARCSTATE_RX) { //error
    DC('Z');
    DC('E');
    DC('R');
    DC('R');
    DC('3');
    DH2(cc1100_readReg( CC1100_MARCSTATE ));
    DNL();
    rf_moritz_init();
  }

Zum einen wird der Fehler verursacht, weil CC1100_MARCSTATE beim Wechsel von TX nach RX auf MARCSTATE_TXRX_SWITCH steht. Ab und zu beobachte ich auch ungültige Werte (z.B. 0x17), die durch das "SPI Read Synchronization Issue" (siehe CC1101 Silicon Errata http://www.ti.com/lit/er/swrz020d/swrz020d.pdf) zu erklären sind.

Ich habe bei mir obigen Code durch folgenden ersetzt:
  //Wait for sending to finish (CC1101 will go to RX state automatically
  //after sending
  uint8_t i;
  uint8_t stat1,stat2;
  for(i=0; i< 250;++i) {
    my_delay_ms(1);
    stat1=cc1100_readReg( CC1100_MARCSTATE );
    stat2=cc1100_readReg( CC1100_MARCSTATE );
    if(stat1!=stat2) continue;
    if( stat1 == MARCSTATE_RX)
      break; //now in RX, good
  }

  if(cc1100_readReg( CC1100_MARCSTATE ) != MARCSTATE_RX) { //error
    DC('Z');
    DC('E');
    DC('R');
    DC('R');
    DC('3');
    DH2(cc1100_readReg( CC1100_MARCSTATE ));
    DH2(stat1);
    DH2(i);
    DNL();
    rf_moritz_init();
  }

Bisher tritt der Fehler nicht mehr auf.
Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

adb76

  • Gast
Antw:UNKNOWNCODE ZERR30D
« Antwort #7 am: 07 September 2015, 13:08:21 »
Hallo Gero,

habe seit dem Einsatz eines MAX!-Wandschalters ebenfalls ab und zu die genannten ZERR30D Meldungen. Werde mal deinen Vorschlag entsprechend übernehmen und mir eine entsprechende CUL-Firmware kompilieren. Parallel würde mich interessieren, ob sich seit dem Einsatz des Patches irgendwelche Nebeneffekte ergeben haben, oder ob die Probleme seither vollständig gelöst sind?

Werde hier auch mal eine Rückmeldung geben, sobald die gepatchte Version bei mir eine Weile gelaufen ist.

Gruß,

André

Offline gero

  • Sr. Member
  • ****
  • Beiträge: 593
Antw:UNKNOWNCODE ZERR30D
« Antwort #8 am: 07 September 2015, 13:43:36 »
Hallo André,

die Firmware läuft bei mir seit einem knappen Jahr ohne jegliche Probleme.

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

adb76

  • Gast
Antw:UNKNOWNCODE ZERR30D
« Antwort #9 am: 14 September 2015, 20:12:37 »
So, jetzt habe ich diesen Patch seit ein paar Tagen in meinem MAX! Setup mit der a-culfw Firmware im Einsatz: läuft tadellos. Seitdem keine ZERR30D Meldungen mehr und auch sonst keine Probleme.

Daher für mich ein heisser Kandidat offiziell in die culfw bzw. a-culfw aufgenommen zu werden.  ;D Gibt es eigenlich einen Grund was dagegen spricht?

P.S. Für alle MAX-Cube-User, die keine Lust haben selber zu kompilieren, findet ihr im Anhang die von mir eingesetzte Version auf Basis der a-culfw 1.05.04 mit der o.g. kleinen Anpassung (Beschreibung zur Verwendung dieser Firmware gibt es hier: http://forum.fhem.de/index.php/topic,38404.0.html)

Gruß,

André

 

decade-submarginal