0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

技术分享 | 开发板网口热插拔自动获取IP地址

启扬ARM嵌入式开发 2022-08-03 09:29 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

客户在使用启扬板卡的过程中提出要求开发板支持网口热插拔自动获取ip地址的需求。

启扬工程师了解到需求后快速确定了解决思路:

通过ifplugd工具监听网口热插拔信息,并且执行指定脚本,脚本中使用udhcpc工具自动获取ip地址。

接下来将对操作过程进行介绍与分析。

编译环境准备✦

QIYANG

主机:ubuntu16.04

编译器:arm-linux-gnueabihf-gcc,版本4.7

开发板环境:ARM32

1

移植libdaemon

因为ifplugd依赖libdaemon库,所以我们需要先编译daemon。

笔者这里选择daemon的版本是官方git下来的版本,git链接如下:

git clone git://git.0pointer.de/libdaemon

git下来之后先执行./bootstrap.sh脚本,此脚本会根据配置环境自动生成configure等编译相关文件,生成之后配置

./configure--host=arm-linux-gnueabihf--prefix=/home/ylook/Tools/libdaemon/build,

脚本执行完成之后会检查配置等,这里会出现一个报错:

checking whether setpgrp takes no argument... configure: error: cannot check setpgrp when cross compiling

遇到这个报错可以在之前配置的configure中加入ac_cv_func_setpgrp_void=yes,即可解决。

最后通过make && make install会将所需的lib以及include文件生成到build文件夹下。

注意:最后用file命令检查一下文件架构,防止误用X86的库。

c6be8ed6-0f58-11ed-9ade-dac502259ad0.png

2

移植ifplugd

本次使用的编译器是4.7版本,因为版本较低,所以ifplugd选择的也是老版本——ifplugd-0.14.tar.gz。

编译过程需要daemon的库和头文件,笔者为了方便直接将库和头文件放到编译器的头文件与库中,准备完毕后直接解压文件,

随后配置./configure --host=arm-linux-gnueabihf --prefix=/home/ylook/Tools/ifplugd-0.14/build

这里会报lynx的错误,可直接在原先配置的configuer后添加“--disable-lynx”,就可解决,

即修改为./configure--host=arm-linux-gnueabihf--prefix=/home/ylook/Tools/ifplugd-0.14/build/ --disable-lynx,


此外还会报“ undefined reference to rpl_malloc”错误,解决方式是修改config.h.in,去掉其中的malloc。

配置完成后make && make install,同样会在build目录下生成我们需要的二进制文件。

注意:为了避免错误,最后依旧是用file命令检查文件架构,确认采用的是否为arm架构。

c6d8c8dc-0f58-11ed-9ade-dac502259ad0.png

3

配置相关环境

配置环境过程中,启扬开发板需要daemon的库文件以及编译出来的ifplugd二进制文件。我们将daemon库文件拷贝到/usr/lib下,二进制文件拷贝到/usr/sbin下,输入ifplugd -h命令可以看到成功运行。

c6f6c864-0f58-11ed-9ade-dac502259ad0.png

根据help信息,我们可以用以下两个命令监听两个网口:

ifplugd -i eth0 -r /etc/network/if.sh

ifplugd -i eth1-r /etc/network/if.sh

监听两个网口并且执行后面的脚本文件,如果你的文件系统里有/etc/network/interface文件,需要将里面的auto改为allow-hotplug。

c71f83d0-0f58-11ed-9ade-dac502259ad0.png

而if.sh里面的内容就是简单的检测并且dhcp。

c74fec5a-0f58-11ed-9ade-dac502259ad0.png

最后我们可以将上面两个命令设置开机自启动,这样就会自动up两个网口,哪怕没有插网线也是准备状态,当插入网线后就会自动获取ip地址。

注意可能会出现延迟,可以稍等一下查看。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发板
    +关注

    关注

    25

    文章

    6128

    浏览量

    113477
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    MCP18480 -48V热插拔控制器:技术解析与应用指南

    MCP18480 -48V热插拔控制器:技术解析与应用指南 在电子设备的设计中,热插拔功能至关重要,它能确保在不中断系统运行的情况下安全地插入和移除电路。Microchip的MCP1
    的头像 发表于 11-27 16:18 300次阅读
    MCP18480 -48V<b class='flag-5'>热插拔</b>控制器:<b class='flag-5'>技术</b>解析与应用指南

    OK3506-S12 Mini开发板开箱和基本使用(飞凌嵌入式)

    登录获取开发板IP地址 电脑通过ipconfig命令获取电脑连接当前网络的IP地址, 图6
    发表于 11-03 00:57

    EtherCAT热插拔技术:提升工业自动化系统灵活性的关键

    在工业自动化领域,系统灵活性和维护性至关重要。本文将探讨EtherCAT从站热插拔技术,介绍其如何通过动态管理从站设备,提高系统的灵活性和维护性。EtherCAT热插拔
    的头像 发表于 10-16 11:36 333次阅读
    EtherCAT<b class='flag-5'>热插拔</b><b class='flag-5'>技术</b>:提升工业<b class='flag-5'>自动</b>化系统灵活性的关键

    兆易创新600MHz高性能MCU在聚沃科技双通信开发板的应用方案

    在当前智能化快速发展的背景下,嵌入式应用对系统性能以及通信可靠性的要求越来越高。聚沃科技推出的双通信开发板采用兆易创新600MHz高性能MCU,具备强大的运算能力和稳定的双
    的头像 发表于 10-10 10:57 2188次阅读
    兆易创新600MHz高性能MCU在聚沃科技双<b class='flag-5'>网</b><b class='flag-5'>口</b>通信<b class='flag-5'>开发板</b>的应用方案

    RT-Thread+STM32F429IGT6+LWIP(2.1.2)开启IPV6功能,无法获取有效IPV6地址怎么处理?

    我已经用正点原子的阿波罗开发板移植了PHY芯片(YT8512C,RMII接口),完成了TCP/IP网络功能,可以自动获取IPV4地址以及pi
    发表于 09-19 06:01

    从站热插拔技术:ZMC900E 助力自动化系统灵活扩展与稳定运行

    从站热插拔技术,让工业自动化系统在运行中实现系统的扩展、维护或更换,极大地提升了自动化系统的可用性和生产效率。本文将深入探讨其原理与ZMC900E控制器的应用。从站
    的头像 发表于 09-01 11:35 1625次阅读
    从站<b class='flag-5'>热插拔</b><b class='flag-5'>技术</b>:ZMC900E 助力<b class='flag-5'>自动</b>化系统灵活扩展与稳定运行

    【HZ-RK3568开发板免费体验】外设接口测试

    ip也是开发板的网关ip。 (4)开发板通过网线连接笔记本电脑,开发板ip
    发表于 08-12 23:40

    【干货分享】在M-K1HSE开发板上使用SecureCRT工具进行调试

    SecureCRT是一款支持SSH协议的终端仿真软件,可通过串口或开发板系统信息进行查看、对开发板系统进行调试等。
    的头像 发表于 08-12 08:07 1154次阅读
    【干货分享】在M-K1HSE<b class='flag-5'>开发板</b>上使用SecureCRT工具进行调试

    【创龙TL3562-MiniEVM开发板试用体验】--开发板外设与接口测试

    插上连接路由器的网线,如下所示 (1)查看口信息ifconfig 可以看到网线插入,网络端口eth0,插上使用没ping通网络。开发板黄灯闪烁。 (2)
    发表于 07-27 16:27

    【HZ-T536开发板免费体验】开箱评测

    口信息查询 开发板支持双,用户可以通过任意进行 SSH 登录。开发板上电后,默认开
    发表于 07-02 22:52

    热插拔算力集群

    热插拔算力集群指在无需停机的情况下,动态增减计算节点或硬件的算力基础设施,其核心价值在于实现资源的弹性伸缩和业务连续性。以下从关键技术、应用场景及优势三个维度分析: 一、关键技术支撑‌ 硬件
    的头像 发表于 06-26 09:20 714次阅读

    热插拔的危害及防护

    所谓热插拔就是带电插拔连接线,比如插拔U盘插拔屏线等。大家经常听说当某人自己给笔记本换屏的时候没有拔电池导致主板和屏双双烧毁,为什么会这样呢?其实很简单我们用下面的例子来解释一下。假设
    的头像 发表于 06-03 19:33 2448次阅读
    <b class='flag-5'>热插拔</b>的危害及防护

    如何选择可靠的热插拔?连接器热插拔防护等级详解

    热插拔(Hot Swap)是指能够在不关闭系统电源的情况下,安全地插入或拔除设备板卡或模块。为了确保热插拔过程的安全性和可靠性,连接器的热插拔防护设计至关重要。
    的头像 发表于 04-23 09:53 1066次阅读

    【ELF 2学习试用】ELF 2开发板的镜像烧录与网线连接配置

    镜像烧录 镜像获取 ELF 2 高性能嵌入式 AI学习 | ElfBoard 官-嵌入式Linux开发板/学习-让嵌入式学习释放无限可能 在此官
    发表于 02-05 22:19

    SATA硬盘的热插拔功能介绍

    的兼容性,已经成为个人电脑和服务器存储解决方案的首选。 一、热插拔技术的基本概念 热插拔技术允许用户在不关闭计算机电源的情况下,插入或拔出硬盘等设备。这种
    的头像 发表于 12-19 14:45 9040次阅读