1,不要在虚拟机测试,否则IgH无法收发数据包
现象:虚拟机中运行IgH master并绑定网卡后,主站由ORPHANED状态转换成IDLE状态,但无法收发数据报。
这是因为虚拟机用的是虚拟网卡,需通过iptables将数据包到转发到真实的网卡上,实现收发数据的目的。但IgH替换了网卡驱动程序,收到数据包后,处理流程没有走内核的网络协议栈,所以工作中tcp/ip层的iptables就不起作用,导致IgH无法正常收发报文。
虚拟机网络原理参考:ubuntu20.04 搭建kernel调试环境第六篇(下)-网络原理-CSDN博客
解决:物理机安装ubuntu用来测试IgH。
2,获取IgH的INFO、WARNING、ERR信息
root@ubuntu:/home/gsf# echo 7 7 7 7 > /proc/sys/kernel/printk
#define EC_MASTER_INFO(master, fmt, args...) \ printk(KERN_INFO "EtherCAT %u: " fmt, master->index, args) #define EC_MASTER_WARN(master, fmt, args...) \ printk(KERN_WARNING "EtherCAT WARNING %u: " fmt, master->index, args) #define EC_MASTER_ERR(master, fmt, args...) \ printk(KERN_ERR "EtherCAT ERROR %u: " fmt, master->index, args)
讯享网

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/119648.html