igh主站搭建过程(e1000e 网卡/ generic网卡)

1、下载igh源码
gary@jxes:~$ git clone https://gitlab.com/etherlab.org/ethercat.git
2、配置(可参考官方文档)
gary@jxes:~/Xenomai/xenomai-v3.2.1$ sudo cp …/…/ethercat/ . -r
gary@jxes:~/Xenomai/xenomai-v3.2.1/ethercat$ sudo ./bootstrap

  • touch ChangeLog
  • mkdir -p m4
  • autoreconf -i
    libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, ‘autoconf’.
    libtoolize: copying file ‘autoconf/ltmain.sh’
    libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, ‘m4’.
    libtoolize: copying file ‘m4/libtool.m4’
    libtoolize: copying file ‘m4/ltoptions.m4’
    libtoolize: copying file ‘m4/ltsugar.m4’
    libtoolize: copying file ‘m4/ltversion.m4’
    libtoolize: copying file ‘m4/lt~obsolete.m4’
    configure.ac:58: installing ‘autoconf/ar-lib’
    configure.ac:57: installing ‘autoconf/compile’
    configure.ac:61: installing ‘autoconf/config.guess’
    configure.ac:61: installing ‘autoconf/config.sub’
    configure.ac:42: installing ‘autoconf/install-sh’
    configure.ac:42: installing ‘autoconf/missing’
    examples/dc_user/Makefile.am: installing ‘autoconf/depcomp’
    配置可以参考官方配置文档,比如–with-module-dir即指定内核源码路径,需要查看当前系统的module是什么:
    gary@jxes:~/Xenomai/xenomai-v3.2.1/ethercat$ ls /lib/modules
    5.13.0-30-generic 5.13.0-40-generic 5.13.0xenomai 5.15.0-60-generic 5.15.0-69-generic 5.15.106-xenomai3.2.1
    下面是本人的配置,具体视情况而定:
    gary@jxes:~/Xenomai/xenomai-v3.2.1/ethercat$ sudo ./configure --with-module-dir=/lib/modules/5.15.106-xenomai3.2.1 --enable-generic --enable-8139too=no --enable-e1000e --enable-cycles --enable-hrtimer --prefix=/opt/etherlab --with-xenomai-dir=/home/gary/Xenomai/xenomai-v3.2.1
    如果在刚开始配置的时候没有动–prefix选项,默认是安装在/opt/下的,可以查看在/opt/路径下多了一个etherlab文件夹。
    以上./configure执行失败如下:
    checking for kernel for e1000e driver… configure: error: kernel 5.15 not available for e1000e driver!
    原因是网卡与内核版本不匹配。
    下载e100e网卡:
    https://www.intel.cn/content/www/cn/zh/download/14611/15817/intel-network-adapter-driver-for-pcie-intel-gigabit-ethernet-network-connections-under-linux-final-release.html?
    具体安装方法参考:
    https://www.intel.cn/content/www/cn/zh/support/articles/000005480/ethernet-products.html
    下载后编译安装,编译时遇到错误,是与内核版本匹配问题。
    综合上面,这里只是演示下igh的源码编译,所以将e1000e网卡去掉。
    sudo ./configure --with-module-dir=/lib/modules/5.15.106-xenomai3.2.1 --enable-generic --enable-8139too=no --enable-cycles --enable-hrtimer --prefix=/opt/etherlab --with-xenomai-dir=/home/gary/Xenomai/xenomai-v3.2.1
    这样就配置成功,生成Makefile。

为了验证,于是重新下载了版本igh(带有E100E网卡):
https://gitlab.com/etherlab.org/ethercat/-/tree/e1000e-5.10?ref_type=heads
步骤与上面一样:
gary@jxes:~/Xenomai/xenomai-v3.2.1$ sudo cp ~/Downloads/ethercat-e1000e-5.10 . -r
gary@jxes:~/Xenomai/xenomai-v3.2.1$ cd ethercat-e1000e-5.10/
gary@jxes:~/Xenomai/xenomai-v3.2.1/ethercat-e1000e-5.10$ sudo ./bootstrap

  • touch ChangeLog
  • mkdir -p m4
  • autoreconf -i
    libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, ‘autoconf’.
    libtoolize: copying file ‘autoconf/ltmain.sh’
    libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, ‘m4’.
    libtoolize: copying file ‘m4/libtool.m4’
    libtoolize: copying file ‘m4/ltoptions.m4’
    libtoolize: copying file ‘m4/ltsugar.m4’
    libtoolize: copying file ‘m4/ltversion.m4’
    libtoolize: copying file ‘m4/lt~obsolete.m4’
    configure.ac:58: installing ‘autoconf/ar-lib’
    configure.ac:57: installing ‘autoconf/compile’
    configure.ac:60: installing ‘autoconf/config.guess’
    configure.ac:
<think>好的,我需要帮助用户了解igc网卡驱动是否兼容IGH主站。首先,我得弄清楚igc驱动和IGH主站的基本情况。 igc驱动是Intel为I225/I226等2.5G网卡开发的Linux内核驱动,属于较新的硬件支持。而IGH(EtherCAT Master)主站需要实时性强的系统环境,通常搭配PREEMPT_RT内核使用,比如用户提到的Intel LTS PREEMPT_RT内核[^2]。 接下来,兼容性方面,关键在于驱动是否支持实时内核和EtherCAT协议。IGH主站网卡驱动有严格的要求,需要驱动具备实时性和精确的中断处理能力。查看官方文档,IGH支持的驱动列表里是否有igc驱动。如果没有明确列出,可能需要测试或者社区反馈。 另外,用户提到修改MASTER0_DEVICE为MAC地址[^1],这说明配置时需要正确识别网卡。如果igc驱动能正确加载,并能在实时内核下工作,可能兼容。但需注意,新驱动可能存在稳定性问题,需要实际验证。 建议用户检查驱动加载情况,使用ifconfig确认网卡信息,并在实时内核下测试EtherCAT性能。同时,参考社区或官方论坛是否有成功案例。</think>igc网卡驱动与IGH主站的兼容性分析如下: 1. **驱动基础支持** - igc驱动是Intel专为2.5G网卡(如I225/I226)开发的内核模块,属于现代网卡的标准驱动 - IGH主站依赖**实时内核环境**(如PREEMPT_RT补丁内核)[^2],需验证igc驱动是否在实时内核中稳定运行 2. **关键兼容指标** - 中断处理能力:需支持NAPI机制和硬件时间戳 - DMA缓冲区管理:满足EtherCAT的循环通信要求 - 实时性能:中断延迟需小于50μs(典型EtherCAT要求) 3. **验证步骤** ```bash # 查看驱动加载状态 dmesg | grep igc # 检查实时性指标 cyclictest -m -p90 -n -l 10000 ``` 建议在实时内核下测试网络延迟和抖动,使用`ifconfig`确认网卡识别 4. **已知兼容情况** - 自Linux 5.10起,igc驱动已加入PREEMPT_RT兼容性改进 - Intel官方ECI方案中,igc+IGH组合需要特定补丁(需联系供应商获取)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JXES智能生态系统

如文章对你有用,请作者喝个咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值