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却看不到网卡了

相关推荐
头发还没掉光光5 小时前
HTTP协议从基础到实战全解析
linux·服务器·网络·c++·网络协议·http
小白同学_C6 小时前
Lab2-system calls && MIT6.1810操作系统工程【持续更新】
linux·c/c++·操作系统os
物理与数学6 小时前
linux内核 struct super_block
linux·linux内核
Getgit6 小时前
Linux 下查看 DNS 配置信息的常用命令详解
linux·运维·服务器·面试·maven
zhangrelay7 小时前
Linux(ubuntu)如何锁定cpu频率工作在最低能耗模式下
linux·笔记·学习
_OP_CHEN7 小时前
【Linux系统编程】(二十)揭秘 Linux 文件描述符:从底层原理到实战应用,一篇吃透 fd 本质!
linux·后端·操作系统·c/c++·重定向·文件描述符·linux文件
chem41117 小时前
玩客云 边缘AI模型 本地搭建部署 llama.cpp qwen
linux·人工智能·llama
一个平凡而乐于分享的小比特7 小时前
Linux内核中的BogoMIPS详解
linux·bogomips
橘颂TA8 小时前
【Linux 网络】TCP 拥塞控制与异常处理:从原理到实践的深度剖析
linux·运维·网络·tcp/ip·算法·职场和发展·结构与算法
zbguolei8 小时前
CentOS 7.6离线安装Nginx
linux·nginx·centos