Die Netzwerkverbindung wird unter Ubuntu 18.04 unterbrochen, wenn ein Robot Operating System (ROS)-Setup verwendet wird

Die Netzwerkverbindung wird unter Ubuntu 18.04 unterbrochen, wenn ein Robot Operating System (ROS)-Setup verwendet wird

Ich habe einen Roboter mit dem folgenden Setup und die Ethernet-Schnittstelle (enp4s0) von [Computer A] bricht zufällig ab.

Die Schnittstelle bricht nicht ab, wenn die Computer nicht viel tun. Wenn [Computer B] jedoch beginnt, einen komprimierten Bildstrom über [Computer A] an [Arbeitsplatz] zu streamen, bricht die Ethernet-Schnittstelle ab.

Daher scheint es sich um ein Konfigurationsproblem zu handeln, bei dem ich möglicherweise unbeabsichtigt das Netzwerk überflute, wodurch die Netzwerkverbindung abbricht. Ich hätte diesbezüglich gern einen Rat.

Die Ausgabe von dmesg war nicht wirklich hilfreich

dmesg von Computer A

[Mon Apr 12 13:43:33 2021] igb 0000:04:00.0 enp4s0: igb: enp4s0 NIC Link is Down
[Mon Apr 12 13:43:33 2021] br0: port 1(enp4s0) entered disabled state
[Mon Apr 12 13:43:35 2021] igb 0000:04:00.0 enp4s0: igb: enp4s0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
[Mon Apr 12 13:43:35 2021] br0: port 1(enp4s0) entered blocking state
[Mon Apr 12 13:43:35 2021] br0: port 1(enp4s0) entered listening state
[Mon Apr 12 13:43:39 2021] br0: port 1(enp4s0) entered learning state
[Mon Apr 12 13:43:44 2021] br0: port 1(enp4s0) entered forwarding state
[Mon Apr 12 13:43:44 2021] br0: topology change detected, propagating
[Mon Apr 12 14:05:50 2021] igb 0000:04:00.0 enp4s0: igb: enp4s0 NIC Link is Down
[Mon Apr 12 14:05:50 2021] br0: port 1(enp4s0) entered disabled state
[Mon Apr 12 14:05:52 2021] igb 0000:04:00.0 enp4s0: igb: enp4s0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX 

Dinge, die ich bereits getan habe:

  1. Alle Ethernet-Kabel überprüft und durch neue ersetzt.
  2. Tauschen Sie alle Computer und Sensoren gegen Ersatzteile aus
  3. Aktivieren Sie STP auf der Netzwerkbrücke mit einer Vorwärtsverzögerung von 4

Aufgrund der Größenbeschränkungen innerhalb des Roboters kann ich leider nicht alles an den Switch anschließen.

Aufstellen

SBC-Einrichtung

Auf allen Computern läuft Ubuntu 18.04 undROS Melodic Morenia.

Ich habe mit Netplan eine Netzwerkbrücke eingerichtet, wie unten gezeigt

# Netplan on Computer A
# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    #Computer B
    enp1s0:
      dhcp4: no
    #Sensor 
    enp2s0:
      dhcp4: no
    #SBC to switch
    enp4s0:
      dhcp4: no
      

  #Setup a bridge and link eno1 to it
  bridges:
    br0:
      interfaces: [enp1s0, enp2s0, enp4s0]
      addresses: [192.168.1.1/24]
      gateway4: 192.168.1.253
      nameservers:
        addresses: [8.8.8.8]
      dhcp4: no

Andere Dinge, die ich versucht habe:

Aktivieren Sie die Portweiterleitung und fügen Sie eine Route von [Computer B] zu [Computer A] hinzu und richten Sie die Netzwerkkarten in einem anderen Subnetz ein in /etc/sysctl.conf:

net.ipv4.ip_forward = 1

Computer B

route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1

# Netplan on Computer A
# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    #Computer B
    enp1s0:
      addresses:
        - 192.168.2.1/24
      dhcp4: no
    #Sensor 
    enp2s0:
      addresses:
        - 192.168.3.1/24
      dhcp4: no
    #SBC to switch
    enp4s0:
      addresses:
        - 192.168.1.1/24
      dhcp4: no
      gateway4: 192.168.1.253      
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]

Antwort1

Ich habe herausgefunden, dass eno1 und enp4s0 unterschiedliche Treiber verwenden. Ich habe also versucht, beide Schnittstellen zu wechseln, aber jetzt wird die Schnittstelle nicht mehr unterbrochen. Möglicherweise ist ein veralteter Treiber der Grund für den Ausfall.

sudo lspci -v

Schnittstelle eno1

Ethernet controller: Intel Corporation Ethernet Connection (6) I219-LM (rev 30)                                                                                                                      
Subsystem: Intel Corporation Ethernet Connection (6) I219-LM                                                                                                                                         
Flags: bus master, fast devsel, latency 0, IRQ 141                                                                                                                                                   
Memory at a1a00000 (32-bit, non-prefetchable) [size=128K]                                                                                                                                            
Capabilities: [c8] Power Management version 3                                                                                                                                                        
Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+                                                                                                                                           
Kernel driver in use: e1000e                                                                                                                                                                         
Kernel modules: e1000e   

Schnittstelle enp4s0

Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)
Flags: bus master, fast devsel, latency 0, IRQ 17
Memory at a1780000 (32-bit, non-prefetchable) [size=512K]
I/O ports at 3000 [disabled] [size=32]
Memory at a1800000 (32-bit, non-prefetchable) [size=16K]
Expansion ROM at a1700000 [disabled] [size=512K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
Capabilities: [70] MSI-X: Enable+ Count=5 Masked-
Capabilities: [a0] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Device Serial Number c4-00-ad-ff-ff-4c-52-bf
Capabilities: [1a0] Transaction Processing Hints
Kernel driver in use: igb
Kernel modules: igb

Aktueller Netzplan auf Computer A

network:
  version: 2
  renderer: NetworkManager
  ethernets:
    enp2s0:
      addresses:
        - 192.168.3.1/24
      dhcp4: no
    enp1s0:
      mtu: 1500
      addresses:
        - 192.168.2.1/24
      dhcp4: no
    eno1:
      mtu: 1500
      dhcp4: no
      addresses: [192.168.1.1/24]
      gateway4: 192.168.1.253
      nameservers:
        addresses: [8.8.4.4,8.8.8.8]
    enp4s0:
      mtu: 1500
      dhcp4: no
      addresses: [192.168.1.2/24]
      gateway4: 192.168.1.253
      nameservers:
        addresses: [8.8.4.4,8.8.8.8]

verwandte Informationen