Jump to content

Recommended Posts

Geschrieben (bearbeitet)

Hallo,

ich habe das Rack Monitoring Set von Netways gekauft und dabei ist ein RED Brick, der sehr oft die Netzwerkverbindung komplett verliert, sodass ein Reboot / Reset notwendig ist. Im Terminal sehe ich im (Milli-)Sekundentakt:

kernel: socket_send(84000): free_buf_size 2048

Ich dachte erst, dass es eventuell mit der Spannung zu tun haben könnte (zu wenig), aber in der Log finde ich noch:

NetworkManager assertion '<dropped>' failed
...
                   
: <info>  [1574689760.6530] device (tf0): driver 'w5x00' does not support carrier detection.

Das habe ich mehrfach pro Tag, bzw. sogar in der Stunde.

Ich habe auch von DHCP auf statisch umgestellt, brachte aber keine Änderung. Über Google habe ich folgendes gefunden: https://access.redhat.com/solutions/894763 Das ist zwar ein leicht anderes Problem, aber eventuell kann es helfen, ebenfalls "ignore-carrier=no" zu setzen.

Hat jemand schon Ànliches beobachtet ?

cu denny

bearbeitet von linuxmail
Geschrieben

Moin,

Dein Problem scheint zu sein, dass der Ethernet-Chip seine Daten nicht senden kann. Das sollte nichts mit Spannungsproblemem, DHCP oder der Anzahl der Verbindungen zu tun haben.

Zum Debuggen brÀuchte ich Informationen aus dem Kernel-Log, konkret die Ausgabe folgender Befehle auf dem Terminal:

dmesg | grep -C 5 "PHY RESET"

dmesg | grep ": socket("

dmesg | grep "socket_send(100000)"

Gruß,
Erik

Geschrieben

hi,

noch vorab: der Switch (HP 2920) sagt mir folgendes:

I 11/25/19 15:41:05 00076 ports: ST1-CMDR: port 2/17 is now on-line
I 11/25/19 15:41:03 00077 ports: ST1-CMDR: port 2/17 is now off-line
I 11/25/19 15:40:46 00076 ports: ST1-CMDR: port 2/17 is now on-line
I 11/25/19 15:40:44 00077 ports: ST1-CMDR: port 2/17 is now off-line
I 11/25/19 14:59:46 00076 ports: ST1-CMDR: port 2/17 is now on-line
W 11/25/19 14:59:46 02672 FFI: ST1-CMDR: port 2/17-Excessive link state
            transitions
I 11/25/19 14:59:44 00077 ports: ST1-CMDR: port 2/17 is now off-line
I 11/25/19 14:59:39 00076 ports: ST1-CMDR: port 2/17 is now on-line
I 11/25/19 14:59:38 00077 ports: ST1-CMDR: port 2/17 is now off-line
I 11/25/19 14:46:12 00076 ports: ST1-CMDR: port 2/17 is now on-line
I 11/25/19 14:46:09 00077 ports: ST1-CMDR: port 2/17 is now off-line
I 11/25/19 14:45:06 00076 ports: ST1-CMDR: port 2/17 is now on-line
I 11/25/19 14:45:04 00077 ports: ST1-CMDR: port 2/17 is now off-line
I 11/25/19 14:16:40 00076 ports: ST1-CMDR: port 2/17 is now on-line
I 11/25/19 14:16:38 00077 ports: ST1-CMDR: port 2/17 is now off-line
I 11/25/19 14:16:34 00076 ports: ST1-CMDR: port 2/17 is now on-line
I 11/25/19 14:16:32 00077 ports: ST1-CMDR: port 2/17 is now off-line
I 11/25/19 14:16:13 00076 ports: ST1-CMDR: port 2/17 is now on-line
I 11/25/19 14:16:08 00077 ports: ST1-CMDR: port 2/17 is now off-line
I 11/25/19 14:15:09 00076 ports: ST1-CMDR: port 2/17 is now on-line
I 11/25/19 14:15:07 00077 ports: ST1-CMDR: port 2/17 is now off-line

 

Bevor ich los musste, trat der Fehler wieder auf, 

root@sensor:~# dmesg | grep "socket_send(100000)"  
[ 3584.279511] socket_send(100000): free_buf_size 2048    
[ 3606.208238] socket_send(100000): free_buf_size 2048    
[ 3628.239347] socket_send(100000): free_buf_size 2048    
[ 3650.040685] socket_send(100000): free_buf_size 2048    
[ 3671.958557] socket_send(100000): free_buf_size 2048    
[ 3693.702808] socket_send(100000): free_buf_size 2048    
[ 3715.459370] socket_send(100000): free_buf_size 2048    
[ 3737.385853] socket_send(100000): free_buf_size 2048    
[ 3759.113768] socket_send(100000): free_buf_size 2048    

[ 3802.223223] ----PHY RESET----                         
[ 3802.628726] socket_send(1000): free_buf_size 2048     
[ 3803.040922] socket_send(2000): free_buf_size 2048     
[ 3803.450726] socket_send(3000): free_buf_size 2048     
[ 3803.852613] socket_send(4000): free_buf_size 2048     
[ 3804.262684] socket_send(5000): free_buf_size 2048     
--                                                       
[ 3843.850824] socket_send(96000): free_buf_size 2048    
[ 3844.261495] socket_send(97000): free_buf_size 2048    
[ 3844.675212] socket_send(98000): free_buf_size 2048    
[ 3845.076846] socket_send(99000): free_buf_size 2048    
[ 3845.487318] socket_send(100000): free_buf_size 2048   
[ 3845.487730] ----PHY RESET----                         
[ 3845.901585] socket_send(1000): free_buf_size 2048     
[ 3846.304035] socket_send(2000): free_buf_size 2048     
[ 3846.714713] socket_send(3000): free_buf_size 2048     
[ 3847.116583] socket_send(4000): free_buf_size 2048     

root@sensor:~# dmesg | grep "socket_send(100000)"    
[ 3584.279511] socket_send(100000): free_buf_size 2048      
[ 3606.208238] socket_send(100000): free_buf_size 2048      
[ 3628.239347] socket_send(100000): free_buf_size 2048      
[ 3650.040685] socket_send(100000): free_buf_size 2048      
[ 3671.958557] socket_send(100000): free_buf_size 2048      
[ 3693.702808] socket_send(100000): free_buf_size 2048      
[ 3715.459370] socket_send(100000): free_buf_size 2048      
[ 3737.385853] socket_send(100000): free_buf_size 2048      
[ 3759.113768] socket_send(100000): free_buf_size 2048      
[ 3802.222666] socket_send(100000): free_buf_size 2048      

 

Ich denke, es wird nicht lange dauern, bis das Problem wieder auftritt, dann reiche ich noch nach, was ich vergaß.

Geschrieben

Moin,

Die Ausgaben sehen so aus, wie erwartet. Die Logs aus deinem Switch dĂŒrften zeitlich mit den PHY-Resets zusammenfallen.

Das Problem scheint zu sein, dass die Ethernet-Extension 14kb an Netzwerkdaten verschicken will, aber die aus irgendeinem Grund nicht hinbekommt. Nachdem das eine Weile nicht funktioniert hat, löst der Treiber den Reset aus um irgendwie wieder auf einen sinnvollen Zustand kommt. Ich versuche das hier mal nachzustellen und melde mich dann nochmal.

Gruß,
Erik

Geschrieben

Guten Morgen,

 

ich weiß nicht, ob das von Bedeutung ist ... manchmal passiert es, dass beim (USB) Strom ziehen und wieder reinstecken der RedBrick nicht "an" geht. Die  blaue  status LED bleibt aus. Erst beim wiederholten aus/einstecken geht der RedBrick wieder an. Die ĂŒbrigen Bricks dagegen leuchten (blau).

Geschrieben

Moin,

Ich habe das ganze hier reproduzieren können. Ich melde mich, wenn ich mehr weiß.

5 hours ago, linuxmail said:

manchmal passiert es, dass beim (USB) Strom ziehen und wieder reinstecken der RedBrick nicht "an" geht. Die  blaue  status LED bleibt aus. Erst beim wiederholten aus/einstecken geht der RedBrick wieder an. Die ĂŒbrigen Bricks dagegen leuchten (blau).

Kannst du, wenn das Anstecken nichts tut, den RED-Brick mit dem Power-Knopf starten (Braucht so 2-3 Sekunden, der Knopf ist links neben der USB-Buchse) oder musst du dann das Kabel neu aus-/einstecken?

Geschrieben

Moin,

Ich bin dem ganzen in den letzten Tagen mal nachgegangen. Du kannst mal den angehangenen Kernel testen, der im Modul fĂŒr die Ethernet-Extension zwei Änderungen hat: Falls das Problem nochmal auftritt (und direkt zum Start einmal), werden im Wurzelverzeichnis ring_buf_dump-Dateien angelegt, die jeweils die letzten 4 Pakete, die gesendet wurden enthalten. (Das hilft mir beim Debuggen). Zweitens habe ich einen möglichen Fix fĂŒr das Problem (siehe unten) gefunden, deshalb kannst du das mal testen. Ich lasse hier auch zwei RED-Bricks ĂŒber das Wochenende laufen, bisher haben sie 18 Stunden ausgehalten.

Um den Kernel zu installieren musst du das angehangene Paket auf den RED-Brick schieben (z.b. mit scp), dann den alten Kernel mit sudo apt purge linux-image-4.13.0-red-brick-1 deinstallieren und den neuen Kernel mit sudo dpkg -i linux-image-4.13.0-red-brick-1_4.13.0-red-brick-1_armhf.deb installieren und den RED-Brick neustarten. Ob es geklappt hat siehst du daran, dass dann nach dem Neustart im Wurzelverzeichnis eine Datei namens ring_buf_dumpI existieren sollte.

Die hĂ€sslichen Details: Der Ethernet-Chip hat einen Sende-/Empfangsbuffer von jeweils 16384 Byte, die man auf bis zu 8 Sockets verteilen kann. Standardeinstellung sind 2048 Byte pro Socket. Der Treiber konfiguriert das auf 16384 Byte fĂŒr den ersten Socket und 0 fĂŒr alle anderen um, da nicht die Sockets des Chips verwendet werden, sondern der Kernel n Sockets in Software auf den ersten Socket in Hardware multiplext. Der Chip scheint aber nach einer Weile die Konfiguration zu vergessen, und setzt sie wieder auf 8 * 2048 Byte. Der Treiber wartet dann endlos, bis die 16384 Byte des ersten Sockets wieder freiwerden, bevor er ein Paket als verschickt interpretiert, was dann aber nie passieren kann (das erzeugt dann die Ausgabeflut im Kernel-Log). Ich hatte erst getestet, in dem Fall die Konfiguration wieder umzustellen, aber dann hing der Chip komplett. Stattdessen lasse ich es jetzt gleich zu Anfang auf 8 * 2048 Byte, die maximale MTU ist sowieso auf ~1500 Byte hardgecodet, nur beim Empfangen hĂ€tte sich eventuell mehr gelohnt, das muss ich nochmal in Ruhe testen.

linux-image-4_13.0-red-brick-1_4_13.0-red-brick-1_armhf.deb

Geschrieben (bearbeitet)

hi,

sehr seltsam. In der tat. Ich habe jetzt mal ein Tar erzeugt. Da ist die komplette kern.log messages und nochmal die /ring_buf_dumpI drin. Es war auch der richtige Host, da der hinter mir steht. Ich musste allerdings ein wenig umbauen, da mein Rechner ein Laptop ist und der mitgenommen wird ... da wÀre das mit dem Strom schwierig :-) Daher kann ich da nicht mehr direkt auf die serielle Konsole.

Da sich das hier zu einem Chat entwickelt ...  sollen wir hier verbleiben, oder zu einem Github / Redmine /  Gitlab / ... oder was auch immer ihr verwendet  ĂŒbergehen ? Mail geht natĂŒrlich auch (alternativ Matrix.org, wenn ihr das rein zufĂ€llig verwendet).

Dem zweiten geht es bisher immer noch gut. Das ist der ohne Updates.

debug.tar.gz

bearbeitet von linuxmail
Geschrieben

Moin,

On 11/29/2019 at 4:36 PM, linuxmail said:

hi,

sehr seltsam. In der tat. Ich habe jetzt mal ein Tar erzeugt. Da ist die komplette kern.log messages und nochmal die /ring_buf_dumpI drin. Es war auch der richtige Host, da der hinter mir steht. Ich musste allerdings ein wenig umbauen, da mein Rechner ein Laptop ist und der mitgenommen wird ... da wĂ€re das mit dem Strom schwierig 🙂 Daher kann ich da nicht mehr direkt auf die serielle Konsole.

Hm im Log sind keine hilfreichen Aussagen drin, die ring_buf_dumpI ist ĂŒbrigens nur die, die zum Systemstart angelegt wird, damit teste ich nur ob das Dateien schreiben aus dem Kernelmodul klappt.

 

On 11/29/2019 at 4:36 PM, linuxmail said:

Da sich das hier zu einem Chat entwickelt ...  sollen wir hier verbleiben, oder zu einem Github / Redmine /  Gitlab / ... oder was auch immer ihr verwendet  ĂŒbergehen ? Mail geht natĂŒrlich auch (alternativ Matrix.org, wenn ihr das rein zufĂ€llig verwendet).

Ich wĂŒrde das erstmal hier lassen, ist ja eventuell fĂŒr die Nachwelt relevant.

1 hour ago, linuxmail said:

was ich nicht so verstehe ist, dass der RED ohne jegliches Update erheblich seltener ohne Netzwerk darsteht, als der mit allen Updates.

Mit den Updates meinst du ĂŒber apt oder den Kernel den ich dir gegeben habe?

Die beiden RED-Bricks hier haben das Wochenende mit dem modifizierten Kernel ĂŒbrigens gut ĂŒberstanden, d.h. eventuell hast du noch ein zusĂ€tzliches Problem.

Geschrieben

hi,

mit den Updates meine ich die, die per "brickv" durchgefĂŒhrt werden. Der, der gar keine Updates gesehen hat (also aus dem Karton raus und so belassen) hat auch das Wochenende ĂŒberstanden, wĂ€hrend der, der alle Updates erhalten hat, sich mittlerweise im kurzen Takt verabschiedet. Aktuell war der schon nach  runder einer Stunde weg. In den Logs gibt es tatsĂ€chlich garnichts. WĂ€re man eingeloggt, wĂŒrde man es nur daran merken, dass ntpd sich beklagt, weil DNS nicht mehr funktioniert.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefĂŒgt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rĂŒckgĂ€ngig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfĂŒgen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...