Hallo,
ich hab die Überwachung für MACON1 in master aufgenommen. Netzwerk hat bei einem spontanem Test funktioniert, scheint also nichts kaputt zu machen. Langzeitauswirkungen müsste man jetzt beobachten. @taru: Kannst du noch den Code für den richtig implementierten errata fix hier posten? Muss jetzt auch nicht unbedingt den ethersex patch Richtlinien entsprechen, hauptsache dieser 3 Jahre alte, sehr nervige Bug ist endlich behoben :D

Grüße,
David

-----Ursprüngliche Nachricht----- From: taru
Sent: Sunday, April 17, 2011 1:50 PM
To: [email protected]
Subject: Re: [ethersex-devel] NET-IO Netzwerk fällt aus !!!SOLVED !!!

Hallo

wie ist der Prozess beim Code-Fix? Einen commit machen? Oder möchte
das jemand vorher nochmal testen? Ich kenne mich auch mit Git nicht aus.
Eine kurze Anleitung wäre schön.

Nach der Durchsicht von enc28j60.c bin ich der Meinung dass ein errata Fix
nicht richtig implementiert wurde. Ich habe das berichtigt und mein AVR
läuft jetzt seit Tagen ohne Netzwerkfehler durch, trotz ping-stress.
Die Funktion enc28j60_periodic(void) die auf die Bits im ENC aufpasst,
ist nun anscheinend auch arbeitslos - findet bei mir keine Fehler mehr.
(Weiss jemand warum die dazugekommen ist?)

Eventuell sehen wir auch 2 Fehler mit der gleichen Auswirkung.
Der Fehler oben tritt meine ich nur unter ping-stress auf (Receiver overrun)
Mein ursprünglicher Fehler trat aber auch ohne Netzwerklast auf,
ich kann mir nicht vorstellen dass da ein Receiver overrun stattgefunden
hat.
Allerdings habe ich auf meinen Boards den ENC mit Kondensatoren abgeblockt.
Es ist möglich dass das schon den ursprünglichen Fehler beseitigt hat, und
ich dann nur noch den zweiten Fehler sehe.

Frohes Basteln,

taru


Am 13.04.2011 10:14, schrieb [email protected]:
Hallo,

mit folgendem fix läuft jetzt mein Board durch (MACON1 Überwachung):

void enc28j60_periodic(void)
{
      uint8_t mask = _BV(PADCFG0) | _BV(TXCRCEN) | _BV(FRMLNEN);

      if (   (read_control_register(REG_MACON3)&  mask) != mask
          || (read_control_register(REG_MACON1))        != 0x0D  ) {
          init_enc28j60();
      }
}


Jetzt stellen sich natürlich neue Fragen:
Wer weiss wann/warum der erste Fix eingeführt wurde?
Müssen wir jetzt alle Register überwachen?
Wie wichtig sind die Blockkondesatoren ?

Viele Grüße,


taru







-------- Original-Nachricht --------
Datum: Tue, 12 Apr 2011 07:27:42 +0200
Von: taru<[email protected]>
An: [email protected]
Betreff: Re: [ethersex-devel] NET-IO Netzwerk fällt aus
Hallo,

hier ist mal ein Dump vom ENC, vielleicht kann das jemand interpretieren:

(bitte mit Courier formatieren, dann stimmen die Abstände)

running snapshot:
D: RevID: 0x06
D: Cntrl: ECON1 ECON2 ESTAT  EIR  EIE
D:        0x07  0x80  0x81   0x48 0xdb
D: MAC  : MACON1  MACON2  MACON3  MACON4  MAC-Address
D:         0x0d    0x00    0x32    0x00  ac:de:48:10:97:27
D: Rx   : ERXST  ERXND  ERXWRPT ERXRDPT ERXFCON EPKTCNT MAMXFL
D:       0x0000 0x0fff   0x05ca  0x0fcf    0x83    0x03 0x01f8
D: Tx   : ETXST  ETXND  MACLCON1 MACLCON2 MAPHSUP
D:        0x1000 0x11f4   0x0f     0x37     0x10
D: DMA  : EDMAST EDMAND
D:        0x0000 0x0000

Fehlerfall:
--------------------------------------------------------------------------------------
D: RevID: 0x06
D: Cntrl: ECON1 ECON2 ESTAT  EIR  EIE
D:        0x07  0x80  0x81   0x18 0xdb
D: MAC  : MACON1  MACON2  MACON3  MACON4  MAC-Address
D:         0x00    0x00    0x32    0x00  ac:de:48:10:97:27
D: Rx   : ERXST  ERXND  ERXWRPT ERXRDPT ERXFCON EPKTCNT MAMXFL
D:       0x0000 0x0fff   0x0000  0x0000    0x83    0x00 0x01f8
D: Tx   : ETXST  ETXND  MACLCON1 MACLCON2 MAPHSUP
D:        0x1000 0x1036   0x0f     0x37     0x10
D: DMA  : EDMAST EDMAND
D:        0x0000 0x0000

D: RevID: 0x06
D: Cntrl: ECON1 ECON2 ESTAT  EIR  EIE
D:        0x07  0x80  0x81   0x18 0xdb
D: MAC  : MACON1  MACON2  MACON3  MACON4  MAC-Address
D:         0x00    0x00    0x32    0x00  ac:de:48:10:97:27
D: Rx   : ERXST  ERXND  ERXWRPT ERXRDPT ERXFCON EPKTCNT MAMXFL
D:       0x0000 0x0fff   0x0000  0x0000    0x83    0x00 0x01f8
D: Tx   : ETXST  ETXND  MACLCON1 MACLCON2 MAPHSUP
D:        0x1000 0x1036   0x0f     0x37     0x10
D: DMA  : EDMAST EDMAND
D:        0x0000 0x0000

nach Reset:
------------------------------------------------------------------------------------
D: RevID: 0x06
D: Cntrl: ECON1 ECON2 ESTAT  EIR  EIE
D:        0x07  0x80  0x81   0x10 0xdb
D: MAC  : MACON1  MACON2  MACON3  MACON4  MAC-Address
D:         0x0d    0x00    0x32    0x00  ac:de:48:10:97:27
D: Rx   : ERXST  ERXND  ERXWRPT ERXRDPT ERXFCON EPKTCNT MAMXFL
D:       0x0000 0x0fff   0x0000  0x0000    0x83    0x00 0x01f8
D: Tx   : ETXST  ETXND  MACLCON1 MACLCON2 MAPHSUP
D:        0x1000 0x0000   0x0f     0x37     0x10
D: DMA  : EDMAST EDMAND
D:        0x0000 0x0000
OK


Fragen an die Experten:
sollte der ERXRDPT nach den errata-Liste nicht immer ungerade sein?

kann jemand die Dumps interpretieren was da zum Ausfall führt?

Ich habe gesehen, dass es auch im Bugtracker einen Eintrag
zu einem Hänger mit 1w gibt: http://bugs.ethersex.de/view.php?id=128

viele Grüße,

taru










_______________________________________________
Ethersex-devel mailing list
[email protected]
https://list.zerties.org/cgi-bin/mailman/listinfo/ethersex-devel


_______________________________________________
Ethersex-devel mailing list
[email protected]
https://list.zerties.org/cgi-bin/mailman/listinfo/ethersex-devel

_______________________________________________
Ethersex-devel mailing list
[email protected]
https://list.zerties.org/cgi-bin/mailman/listinfo/ethersex-devel

Antwort per Email an