ptpd2提示failed to join the multicast group (strerror: No buffer space available)

下载交叉编译ptpd-ptpd-2.3.1源码,在IMX6板子上面运行ptpd2提示错误如下:

root@imx6qsabresd_genvict:~# ./ptpd2 -C -m -i eth0
2023-11-24 14:30:21.484399 ptpd2[6512].startup (info)      (___) Configuration OK
2023-11-24 14:30:21.487152 ptpd2[6512].startup (info)      (___) Successfully acquired lock on /var/run/ptpd2.lock
2023-11-24 14:30:21.487684 ptpd2[6512].startup (notice)    (___) PTPDv2 started successfully on eth0 using "masterslave" preset (PID 6512)
2023-11-24 14:30:21.487775 ptpd2[6512].startup (info)      (___) TimingService.PTP0: PTP service init
2023-11-24 14:30:21.491781 ptpd2[6512].eth0 (error)     (init) failed to join the multicast group      (strerror: No buffer space available)
2023-11-24 14:30:21.491880 ptpd2[6512].eth0 (error)     (init) Failed to initialize network
2023-11-24 14:30:21.491943 ptpd2[6512].eth0 (error)     (flt) PTPd init failed - will retry in 10 seconds

查看源码:src/dep/net.c,函数:netInitMulticastIPv4

	/* join multicast group (for receiving) on specified interface */if (setsockopt(netPath->eventSock, IPPROTO_IP, IP_ADD_MEMBERSHIP, &imr, sizeof(struct ip_mreq)) < 0|| setsockopt(netPath->generalSock, IPPROTO_IP, IP_ADD_MEMBERSHIP, &imr, sizeof(struct ip_mreq)) < 0) {PERROR("failed to join the multicast group");return FALSE;}

添加错误值打印:

	int ret1=0;int ret2=0;ret1=setsockopt(netPath->eventSock, IPPROTO_IP, IP_ADD_MEMBERSHIP, &imr, sizeof(struct ip_mreq));if(ret1 < 0){printf("errno = %d\n",errno);	//105	printf("ret1=%d\n",ret1);return FALSE;}ret2=setsockopt(netPath->generalSock, IPPROTO_IP, IP_ADD_MEMBERSHIP, &imr, sizeof(struct ip_mreq));if(ret2 < 0){printf("ret2=%d\n",ret2);return FALSE;}

setsockopt返回-1,错误值105,搜索系统头文件:/usr/include/asm-generic/errno.h

#define ENOBUFS     105 /* No buffer space available */

通过网上搜到https://www.jianshu.com/p/6dfaeefac922,UDP组播的内核参数为0导致问题,修改10解决问题:

root@imx6qsabresd_genvict:~# sysctl net.ipv4.igmp_max_memberships
net.ipv4.igmp_max_memberships = 0
root@imx6qsabresd_genvict:~# 
root@imx6qsabresd_genvict:~# sysctl -w net.ipv4.igmp_max_memberships=10
net.ipv4.igmp_max_memberships = 10

查看其他平台是设置的参数20,所以没有这个问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/167142.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3ds Max 电脑配置建议 | 建模+渲染选专业显卡or游戏显卡?

&#xfeff;使用3ds Max进行建模和渲染时&#xff0c;选择合适的电脑配置非常重要。比如在硬件选择上&#xff0c;究竟选购游戏显卡还是专业显卡呢&#xff1f;本文将为你详细介绍游戏显卡和专业显卡的区别&#xff0c;并提供配置建议&#xff0c;助你作出明智的决策。 &#…

gcc编译优化

优化选项 -flto Whole Program Mode&#xff08;整个程序模式&#xff09;&#xff1a;在这种模式下&#xff0c;编译器对整个程序进行优化。它通过将所有源文件合并成一个单独的中间表示&#xff08;IR&#xff09;文件&#xff0c;然后进行全局的优化和代码生成。这种模式可…

手把手用GPT开发小程序全流程!就是这么easy~

大家好&#xff0c;我是五竹。 前段时间用GPT开发了一款小程序:GPT真牛批&#xff01;三天开发一个小程序&#xff0c;三天积累了2000的用户&#xff0c;上周末抽空又接入了流量主&#xff0c;感兴趣的同学可以围观一下。 今天就来带大家走一遍用GPT开发一款小程序的全过程&a…

为什么选择美国VPS服务器

企业、个人和组织都需要一个稳定高效的服务器来托管他们的网站、应用程序和数据。而对于中国用户来说&#xff0c;寻找一个性价比高的便宜美国VPS服务器&#xff0c;既能满足需求&#xff0c;又能节约成本&#xff0c;成为了一个非常重要的问题。 VPS即虚拟专用服务器&#xf…

Sulfo-Cy3-COOH荧光染料的合成和反应机制

Sulfo-Cy3-COOH**(源自星戈瑞的花菁染料)**荧光染料的合成通常涉及多个步骤&#xff0c;其中包括官能团的引入、染料核心的合成以及亲水性修饰等。 官能团引入&#xff1a; 合成Sulfo-Cy3-COOH的第一步通常是引入羧酸&#xff08;COOH&#xff09;官能团。这可以通过对已有的C…

C++算法 —— 贪心(3)

文章目录 1、买卖股票的最佳时机2、买卖股票的最佳时机Ⅱ3、K次取反后最大化的数组和4、按身高排序5、优势洗牌6、最长回文串7、增减字符串匹配 1、买卖股票的最佳时机 121. 买卖股票的最佳时机 这里最容易想到的就是暴力枚举&#xff0c;两层for循环&#xff0c;i 0&#xf…

RTMP直播应用与延时分析

直播应用中&#xff0c;RTMP和HLS基本上可以覆盖所有客户端观看&#xff0c; HLS主要是延时比较大&#xff0c;RTMP主要优势在于延时低。 一、应用场景 低延时应用场景包括&#xff1a; . 互动式直播&#xff1a;譬如2013年大行其道的美女主播&#xff0c;游戏直播等等各种…

TFA-Net

TFA SCA means ‘Self-Context Aggregation’ 作者未提供代码

一文讲明Mybatis 的使用 超详细 【爆肝两万字教程】

我 | 在这里 &#x1f575;️ 读书 | 长沙 ⭐软件工程 ⭐ 本科 &#x1f3e0; 工作 | 广州 ⭐ Java 全栈开发&#xff08;软件工程师&#xff09; &#x1f383; 爱好 | 研究技术、旅游、阅读、运动、喜欢流行歌曲 &#x1f3f7;️ 标签 | 男 自律狂人 目标明确 责任心强 ✈️公…

数据字典回显功能设计与实现

数据字典回显功能设计与实现 文章目录 数据字典回显功能设计与实现1. 业务场景2. 实现设计2.1 注解AOP切面2.2 注解mybatis拦截器2.3 注解序列化2.4 涉及字段直接申明成字典引用类型mybatis拦截器反序列化处理 3. 具体实现 1. 业务场景 我们日常开发中经常会遇到&#xff1a;数…

羊大师教你,什么搭配羊奶能够带来全方位的营养?

羊奶作为一种营养价值极高的乳制品&#xff0c;其丰富的营养成分对人体健康有着诸多益处。然而&#xff0c;不同的食物搭配会对羊奶的营养吸收产生不同的影响。为了让大家更好地利用羊奶的营养价值&#xff0c;下面小编羊大师将为大家介绍一些与羊奶搭配的食物&#xff0c;帮助…

Qt实现画的图片移动

要实现左键点击鼠标时图片跟着鼠标移动&#xff0c;可以通过以下步骤来实现&#xff1a;1. 在QGraphicsView的构造函数中设置鼠标跟踪属性&#xff0c;以便能够捕获鼠标事件。cpp QGraphicsView::QGraphicsView(QWidget *parent) : QGraphicsView(parent) {setMouseTracking(tr…

Leetcode617合并二叉树

理解题意&#xff1a;相同节点位置上&#xff0c;都有数据的话&#xff0c;节点值相加&#xff0c;只有一方有数据的话&#xff0c;把有数据的部分及相关子树保留下来。 考察操作两棵二叉树&#xff0c;二叉树的遍历。 一般有两种解决方式&#xff1a; 递归|迭代。 区别&#x…

element 中文地址

Element - The worlds most popular Vue UI framework 2 Menu 菜单 | Element Plus 3 侦听器 | Vue.js vue中文官网

软件测试职业规划导图

公司开发的产品专业性较强&#xff0c;软件测试人员需要有很强的专业知识&#xff0c;现在软件测试人员发展出现了一种测试管理者不愿意看到的景象&#xff1a; 1、开发技术较强的软件测试人员转向了软件开发(非测试工具开发)&#xff1b; 2、业务能力较强的测试人员转向了软件…

ubuntu创建新用户, 并赋予root权限

在Ubuntu上创建新用户可以通过adduser命令来完成。以下是创建新用户的基本步骤&#xff1a; 打开终端&#xff1a;你可以按下Ctrl Alt T来打开终端。 使用sudo命令以管理员权限执行adduser命令。例如&#xff0c;如果你要创建一个名为newuser的新用户&#xff0c;运行以下命…

【EI会议征稿】第三届电子信息技术国际学术会议(EIT 2024)

The 3rd International Conference on Electronic Information Technology 第三届电子信息技术国际学术会议&#xff08;EIT 2024&#xff09; 电子信息工程在我国信息化产业的发展过程中举足轻重&#xff0c;且随着现代社会的发展&#xff0c;航空航天领域、制造业领域和智能…

LSTM+CNN实现时间序列预测(负荷预测)

文章目录 LSTM+CNN实现时间序列预测(PyTorch版)基于PyTorch搭建LSTM+CNN模型实现风速时间序列预测配置类时序数据集的制作数据归一化数据集加载器搭建LSTM+CNN模型定义模型、损失函数、优化器模型训练可视化结果十、完整源码LSTM+CNN实现时间序列预测(Keras版)源码模型训练绘制…

每日一题:LeetCode-102.二叉树的层序遍历

每日一题系列&#xff08;day 03&#xff09; 前言&#xff1a; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f50e…