Ubuntu 22.04安装IGH

查看设备是否支持

硬件

shell 复制代码
$ sudo lshw -class network -short
H/W path           Device     Class          Description
========================================================
/0/100/1c/0        enp1s0     network        I211 Gigabit Network Connection
/0/100/1c.1/0      enp2s0     network        RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
/0/100/1c.2/0      enp3s0     network        RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller

查看RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller使用的驱动

端口enp2s0连接的EtherCAT设备

shell 复制代码
$ ethtool -i enp2s0 | grep driver
driver: r8169

系统

实时内核

shell 复制代码
$ uname -a
Linux demo-O-E-M 5.15.0-1053-realtime #59-Ubuntu SMP PREEMPT_RT Fri Jan 12 20:29:00 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

测试实时性

shell 复制代码
$ sudo cyclictest -t 5 -p 99
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 3.68 2.48 1.44 1/802 2688596

T: 0 (2687390) P:99 I:1000 C: 170479 Min:      3 Act:    4 Avg:    4 Max:      73
T: 1 (2687391) P:99 I:1500 C: 113653 Min:      3 Act:    4 Avg:    4 Max:      24
T: 2 (2687392) P:99 I:2000 C:  85239 Min:      3 Act:    4 Avg:    4 Max:      24
T: 3 (2687393) P:99 I:2500 C:  68191 Min:      4 Act:    4 Avg:    4 Max:      40
T: 4 (2687394) P:99 I:3000 C:  56826 Min:      4 Act:    4 Avg:    4 Max:      23

安装IGH主站

下载源码

shell 复制代码
$ git clone https://gitlab.com/etherlab.org/ethercat.git
$ cd ethercat
$ ./bootstrap
$ ./configure --enable-generic --enable-8139too=no --enable-r8169=yes
$ make
$ make modules
$ sudo make install
$ sudo make modules_install
$ sudo depmod

安装

shell 复制代码
# modprobe ec_generic ec_master
# lsmod | grep ec_
ec_generic             16384  0
ec_master             348160  1 ec_generic

配置

复制代码
$ vim /usr/local/etc/ethercat.conf
MASTER0_DEVICE="68:ed:a6:08:b1:77"

测试

shell 复制代码
# ethercat master
Master0
  Phase: Idle
  Active: no
  Slaves: 1
  Ethernet devices:
    Main: 68:ed:a6:08:b1:77 (attached)
      Link: UP
      Tx frames:   33700
      Tx bytes:    2099856
      Rx frames:   33700
      Rx bytes:    2099856
      Tx errors:   0
      Tx frame rate [1/s]:    186    186    184
      Tx rate [KByte/s]:     10.9   11.2   11.2
      Rx frame rate [1/s]:    186    186    184
      Rx rate [KByte/s]:     10.9   11.2   11.2
    Common:
      Tx frames:   33700
      Tx bytes:    2099856
      Rx frames:   33700
      Rx bytes:    2099856
      Lost frames: 0
      Tx frame rate [1/s]:    186    186    184
      Tx rate [KByte/s]:     10.9   11.2   11.2
      Rx frame rate [1/s]:    186    186    184
      Rx rate [KByte/s]:     10.9   11.2   11.2
      Loss rate [1/s]:          0      0      0
      Frame loss [%]:         0.0    0.0    0.0
  Distributed clocks:
    Reference clock:   Slave 0
    DC reference time: 0
    Application time:  0
                       2000-01-01 00:00:00.000000000
# ethercat slave
0  0:0  PREOP  +  SV660_1Axis_00916

TODO

文中使用ec_generic通用驱动,需换为ec_r8169

-->

编辑ethercat配置文件

shell 复制代码
# vim /usr/local/etc/sysconfig/ethercat
MASTER0_DEVICE="68:ed:a6:08:b1:77"
DEVICE_MODULES="r8169"
# /usr/local/etc/init.d/ethercat restart

问题: 虽然ethercat master也能够正常工作,但是ifconfig却看不到网卡了

相关推荐
用户9718356334663 小时前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪5 小时前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠21 小时前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush421 小时前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行52021 小时前
Linux 11 动态监控指令top
linux
不会C语言的男孩1 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
古城小栈1 天前
Unix 与 Linux 异同小叙
linux·服务器·unix
凡人叶枫1 天前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++
2601_961875241 天前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant
java_cj1 天前
深入kube-apiserver认证机制:从Bearer Token到mTLS的完整认证链解析
linux·运维·服务器·云原生·容器·kubernetes