使用機器人作業系統 (ROS) 設定時,Ubuntu 18.04 上的網路連線中斷

使用機器人作業系統 (ROS) 設定時,Ubuntu 18.04 上的網路連線中斷

我有一個具有以下設定的機器人,[電腦 A] 的乙太網路介面 (enp4s0) 隨機掉落。

當電腦不做太多事情時,介面不會斷線。然而,當[電腦B]開始透過[電腦A]將壓縮影像流傳輸到[我的電腦]時,乙太網路介面斷開。

因此,這似乎是一個配置問題,我可能會無意中淹沒網絡,從而導致網絡連接斷開,我想就此事獲得一些建議。

dmesg 的輸出並沒有太大幫助

來自計算機 A 的 dmesg

[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 

我已經做過的事:

  1. 檢查並更換所有乙太網路電纜。
  2. 用備件更換所有電腦和感測器
  3. 在網橋上啟用 STP,轉送延遲為 4

不幸的是,由於機器人內部的尺寸限制,我無法將所有東西連接到開關。

設定

單板計算機設定

所有計算機都運行 Ubuntu 18.04ROS 旋律莫尼亞

我已經使用 netplan 設定了一個網橋,如下所示

# 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

我嘗試過的其他事情:

啟用連接埠轉送並新增從 [電腦 B] 到 [電腦 A] 的路由,並在不同子網路上設定 NIC /etc/sysctl.conf

net.ipv4.ip_forward = 1

電腦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]

答案1

我發現 eno1 和 enp4s0 使用不同的驅動程式。所以我嘗試切換兩個介面,現在介面沒有斷線。可能是過時的驅動程式導致了下降。

sudo lspci -v

接口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   

介面 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

電腦 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]

相關內容