当前位置: 首页 > news >正文

英文网站建设方案详细方案wordpress怎么防止d

英文网站建设方案详细方案,wordpress怎么防止d,适响应式网站弊端,asp网站后台无法显示该页面1#xff0c;不要在虚拟机测试#xff0c;否则IgH无法收发数据包 现象#xff1a;虚拟机中运行IgH master并绑定网卡后#xff0c;主站由ORPHANED状态转换成IDLE状态#xff0c;但无法收发数据报。 这是因为虚拟机用的是虚拟网卡#xff0c;需通过iptables将数据包到转…1不要在虚拟机测试否则IgH无法收发数据包 现象虚拟机中运行IgH master并绑定网卡后主站由ORPHANED状态转换成IDLE状态但无法收发数据报。 这是因为虚拟机用的是虚拟网卡需通过iptables将数据包到转发到真实的网卡上实现收发数据的目的。但IgH替换了网卡驱动程序收到数据包后处理流程没有走内核的网络协议栈所以工作中tcp/ip层的iptables就不起作用导致IgH无法正常收发报文。 虚拟机网络原理参考ubuntu20.04 搭建kernel调试环境第六篇下-网络原理-CSDN博客   解决物理机安装ubuntu用来测试IgH。 2获取IgH的INFO、WARNING、ERR信息 rootubuntu:/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) 3获取IgH的DEBUG信息 rootubuntu:/home/gsf# vim /etc/init.d/ethercat #MASTER_ARGS 改成下面MASTER_ARGSdebug_level2 务必注意注意make modules_install install后需要重新修改 DEBUG主要是输出一些收发报文的数据比如 [73996.353863] EtherCAT DEBUG 0: ec_master_send_datagrams(device_index 0) [73996.353863] EtherCAT DEBUG 0: Adding datagram 0x2E [73996.353864] EtherCAT DEBUG 0: frame size: 46 [73996.353864] EtherCAT DEBUG 0: Sending frame: [73996.353864] EtherCAT DEBUG: FF FF FF FF FF FF 6C 24 08 29 52 19 88 A4 0E 10 [73996.353867] EtherCAT DEBUG: 05 2E 01 00 20 01 02 00 00 00 02 00 00 00 00 00 [73996.353869] EtherCAT DEBUG: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [73996.353871] EtherCAT DEBUG: 00 00 00 00 00 00 00 00 00 00 00 00 4dmesg日志不全 现象IgH源码中加了很多打印连接从站后发现dmesg会失了部分日志。 下面的下图显示的是ec_master_idle_thread -- ecrt_master_send -- ec_master_send_datagrams发送数据报文时增加的printk打印。 datagram-index用的是master-datagram_index初始化是master-datagram_index为0所以所有主站发送的数据报文的index应该是从0递增的最大值255master-datagram_index是uint8_t类型到最大值后又从0开始计数。 原因主站初始化时ec_master_idle_thread线程循环执行循环时间比较短见下面代码 ec_master_idle_thread函数if (ec_fsm_master_idle(master-fsm)) {set_current_state(TASK_INTERRUPTIBLE);schedule_timeout(1); --------------- 1个jiffies} else {schedule(); ---------切换到其他线程执行如果系统空闲会继续执行该线程} 不接从站printk信息比较少可以完整输出。接上从站代码流程复杂自己加了很多printk由于循环时间短每轮循环都有大量的信息来不及输出就丢失了部分log。 解决 方法一直接修改主站的循环周期 ec_master_idle_thread函数//ec_master_set_send_interval(master, 1000000 / HZ); ec_master_set_send_interval(master, 5000000); -------改动1主站周期从4ms改成5sif (ec_fsm_master_idle(master-fsm)) {// set_current_state(TASK_INTERRUPTIBLE);// schedule_timeout(1); msleep(100); ----------改动2注掉上面2行} else {//schedule(); msleep(100); ----------改动2注掉上面1行} 方法二间接修改主站的循环周期 因为ec_master_idle_thread 每个周期都会执行ecrt_master_send -- ec_master_send_datagrams发送数据报文所以可以在发送报文时加个延时 ec_master_idle_thread函数//ec_master_set_send_interval(master, 1000000 / HZ); ec_master_set_send_interval(master, 5000000); -------改动1主站周期从4ms改成5s-----------------------------------------------------------------------------void ec_master_send_datagrams(ec_master_t *master, /** EtherCAT master */ec_device_index_t device_index /** Device index. */) {do {frame_data NULL;follows_word NULL;more_datagrams_waiting 0;// fill current frame with datagramslist_for_each_entry(datagram, master-datagram_queue, queue) {if (datagram-state ! EC_DATAGRAM_QUEUED ||datagram-device_index ! device_index) {continue;}……list_add_tail(datagram-sent, sent_datagrams);datagram-index master-datagram_index;EC_MASTER_DBG(master, 2, Adding datagram 0x%02X\n,datagram-index);msleep(100); ------------在这里加个延时 修改后log是全的。报文从0开始发送、接收是一一对应的 5过滤掉IgH主站插网线之前的log IgH主站网卡没有插网线意味着网卡的link_state处于down状态ec_master_idle_thread周期性执行ecrt_master_send发送数据报文在ecrt_master_send中如果网卡处于link down状态则会设置报文为EC_DATAGRAM_ERROR在这里加个printk见下代码log中过滤关键字EC_DATAGRAM_ERROR就可以了。 void ecrt_master_send(ec_master_t *master) {ec_datagram_t *datagram, *n;ec_device_index_t dev_idx;if (master-injection_seq_rt ! master-injection_seq_fsm) {// inject datagram produced by master FSMec_master_queue_datagram(master, master-fsm_datagram);master-injection_seq_rt master-injection_seq_fsm;}ec_master_inject_external_datagrams(master);for (dev_idx EC_DEVICE_MAIN; dev_idx ec_master_num_devices(master);dev_idx) {if (unlikely(!master-devices[dev_idx].link_state)) {// link is down, no datagram can be sentlist_for_each_entry_safe(datagram, n,master-datagram_queue, queue) {if (datagram-device_index dev_idx) {//在这里加行logprintk(KERN_ERR geshifei %s %d: set datagram-state EC_DATAGRAM_ERROR\n,__func__, __LINE__);datagram-state EC_DATAGRAM_ERROR;list_del_init(datagram-queue);}} 6IgH发送、接收的报文怎么看 以IgH读从站状态的广播报文0x0130为例打开DEBUG后demsg看到的报文 发送报文 [18773.590655] geshifei ec_master_send_datagrams 1059:  Adding datagram datagram-index0 [18773.590656] EtherCAT DEBUG 0: frame size: 46 [18773.590656] EtherCAT DEBUG 0: Sending frame: [18773.590658] EtherCAT DEBUG: FF FF FF FF FF FF 6C 24 08 29 52 19 88 A4 0E 10  [18773.590664] EtherCAT DEBUG: 07 00 00 00 30 01 02 00 00 00 00 00 00 00 00 00  [18773.590669] EtherCAT DEBUG: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  [18773.590674] EtherCAT DEBUG: 00 00 00 00 00 00 00 00 00 00 00 00  响应报文 [18773.710617] EtherCAT DEBUG 0: Received frame: [18773.710618] EtherCAT DEBUG: FF FF FF FF FF FF 6E 24 08 29 52 19 88 A4 0E 10  [18773.710624] EtherCAT DEBUG: 07 00 01 00 30 01 02 00 00 00 02 00 01 00 00 00  [18773.710628] EtherCAT DEBUG: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  [18773.710633] EtherCAT DEBUG: 00 00 00 00 00 00 00 00 00 00 00 00  [18773.710636] geshifei ec_master_receive_datagrams 1224:  datagram-index0 7wireshark报文怎么看 1注意source mac被从站改动过为什么改不清楚感觉没必要。 2正常情况下发送的报文WC 0响应报文的WC不为0存在从站的情况下 所以可通过上面两个特征来判断哪个是发送报文哪个是接收报文。 datagram-index用的是master-datagram_index初始化是master-datagram_index为0所以所有主站发送的数据报文的index应该是从0递增的最大值255master-datagram_index是uint8_t类型到最大值后又从0开始计数。 响应的报文不会也不能修改Index值因为IgH主站程序收到响应报文后需要根据报文的index去匹配对应的发送报文然后将发送报文从内部的发送队列中删除。
http://wiki.neutronadmin.com/news/145884/

相关文章:

  • 网站设计遵从的原则搭建影视网站
  • 西城专业网站建设公司哪家好高德地图可以看国外吗
  • 网站设计书的结构河南新冠防控
  • 新华书店网站建设企业做网站属于广告宣传费吗
  • 免费网站如何被百度收录上海高端建站网站
  • 哈尔滨网站建设资海网站备案 信息安全管理协议
  • 文明网站建设情况报告长沙网站开发 58
  • 网站开发所需要的语言百科主题wordpress
  • dede网站地图路径修改广告拍摄
  • 庆阳工程建设网站百度品牌推广
  • 手机网站图片优化太仓市住房和城乡建设局网站
  • vue大型网站开发吗网站代运营价格
  • 营销型网站策划书建设网站的费用如何入账
  • 学生做网站赚钱口碑好的无锡网站建设
  • 网站rar文件湖南招标网官网
  • dw怎么做鲜花网站网站建设需求文章
  • 开一家互联网公司需要多少钱东莞网站优化效果如何
  • 网站运营包括哪些内容有哪些品牌做打底衫的网站
  • 免费网站空间怎么办商丘互联网营销推广
  • wp如何做双语网站外贸建站 智能营销
  • 保山公司做网站什么是网页开发
  • 网站建设国内外研究现状微信公众号登录入口官方
  • 上海市建设小学网站上海微网站建设方案
  • 做什么样的网站seo搜索引擎优化的内容
  • 爱建站吧昆山哪里有做网站的
  • 网站 框架网站飘动广告代码
  • 不要域名做网站搜索引擎营销方法主要有三种
  • 网站说明页内容维护大型门户网站开发
  • 做网站制作外包企业宣传视频
  • 官方网站建设属于什么科目深圳网站建设服务电话