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地址。

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

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

    关注

    26

    文章

    6403

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【飞凌嵌入式RV1126B开发板试用体验】+ 2. 编译与运行

    输入:wq!保存并退出。这样eth0开启自动获取ip模式。 接着打开电脑上的网络连接查看与开发板连接的网卡,本机是以太3。 一个
    发表于 03-17 10:52

    深入解析MAX5949 -48V热插拔控制器

    深入解析MAX5949A/MAX5949B -48V热插拔控制器 引言 在现代电子系统中,热插拔技术的应用越来越广泛,尤其是在 -48V 电源系统中。热插拔功能允许在系统运行时安全地插
    的头像 发表于 02-10 16:35 478次阅读

    深入解析LTC4260:正高压热插拔控制器的技术瑰宝

    深入解析LTC4260:正高压热插拔控制器的技术瑰宝 一、引言 在电子系统设计中,热插拔功能是提高系统可用性和可维护性的关键技术。LTC4260作为一款正高压
    的头像 发表于 02-10 10:40 305次阅读

    LTC4212热插拔控制器:特性、应用与设计要点

    LTC4212热插拔控制器:特性、应用与设计要点 在电子系统设计中,热插拔功能至关重要,它能确保在系统运行时安全地插入和移除电路,避免对系统造成损害。LTC4212作为一款出色的热插拔
    的头像 发表于 02-10 10:10 224次阅读

    LTC4280热插拔控制器:实现安全热插拔的利器

    LTC4280热插拔控制器:实现安全热插拔的利器 在电子设备的设计中,热插拔功能是一项非常重要的特性,它允许在不关闭系统电源的情况下插入或移除电路,大大提高了系统的可用性和维护效率。
    的头像 发表于 02-09 11:55 377次阅读

    线性科技LTC4219:热插拔应用的理想选择

    )的LTC4219就是这样一款值得关注的产品,今天就和大家详细探讨一下这款热插拔控制器。 文件下载: LTC4219.pdf 一、产品概述 LTC4219是专为热插拔应用设计的集成解决方案,它允许电路安全地插入和拔出带电背板。
    的头像 发表于 02-09 11:30 381次阅读

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

    MCP18480 -48V热插拔控制器:技术解析与应用指南 在电子设备的设计中,热插拔功能至关重要,它能确保在不中断系统运行的情况下安全地插入和移除电路。Microchip的MCP1
    的头像 发表于 11-27 16:18 935次阅读
    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 730次阅读
    EtherCAT<b class='flag-5'>热插拔</b><b class='flag-5'>技术</b>:提升工业<b class='flag-5'>自动</b>化系统灵活性的关键

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

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

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

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

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

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

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

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

    热插拔算力集群

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

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

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