一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

技術(shù)分享 | 開發(fā)板網(wǎng)口熱插拔自動獲取IP地址

啟揚ARM嵌入式開發(fā) ? 2022-08-03 09:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

客戶在使用啟揚板卡的過程中提出要求開發(fā)板支持網(wǎng)口熱插拔自動獲取ip地址的需求。

啟揚工程師了解到需求后快速確定了解決思路:

通過ifplugd工具監(jiān)聽網(wǎng)口熱插拔信息,并且執(zhí)行指定腳本,腳本中使用udhcpc工具自動獲取ip地址。

接下來將對操作過程進(jìn)行介紹與分析。

編譯環(huán)境準(zhǔn)備?

QIYANG

主機:ubuntu16.04

編譯器:arm-linux-gnueabihf-gcc,版本4.7

開發(fā)板環(huán)境:ARM32

1

移植libdaemon

因為ifplugd依賴libdaemon庫,所以我們需要先編譯daemon。

筆者這里選擇daemon的版本是官方git下來的版本,git鏈接如下:

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

git下來之后先執(zhí)行./bootstrap.sh腳本,此腳本會根據(jù)配置環(huán)境自動生成configure等編譯相關(guān)文件,生成之后配置

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

腳本執(zhí)行完成之后會檢查配置等,這里會出現(xiàn)一個報錯:

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命令檢查一下文件架構(gòu),防止誤用X86的庫。

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

2

移植ifplugd

本次使用的編譯器是4.7版本,因為版本較低,所以ifplugd選擇的也是老版本——ifplugd-0.14.tar.gz。

編譯過程需要daemon的庫和頭文件,筆者為了方便直接將庫和頭文件放到編譯器的頭文件與庫中,準(zhǔn)備完畢后直接解壓文件,

隨后配置./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目錄下生成我們需要的二進(jìn)制文件。

注意:為了避免錯誤,最后依舊是用file命令檢查文件架構(gòu),確認(rèn)采用的是否為arm架構(gòu)。

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

3

配置相關(guān)環(huán)境

配置環(huán)境過程中,啟揚開發(fā)板需要daemon的庫文件以及編譯出來的ifplugd二進(jìn)制文件。我們將daemon庫文件拷貝到/usr/lib下,二進(jìn)制文件拷貝到/usr/sbin下,輸入ifplugd -h命令可以看到成功運行。

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

根據(jù)help信息,我們可以用以下兩個命令監(jiān)聽兩個網(wǎng)口:

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

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

監(jiān)聽兩個網(wǎng)口并且執(zhí)行后面的腳本文件,如果你的文件系統(tǒng)里有/etc/network/interface文件,需要將里面的auto改為allow-hotplug。

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

而if.sh里面的內(nèi)容就是簡單的檢測并且dhcp。

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

最后我們可以將上面兩個命令設(shè)置開機自啟動,這樣就會自動up兩個網(wǎng)口,哪怕沒有插網(wǎng)線也是準(zhǔn)備狀態(tài),當(dāng)插入網(wǎng)線后就會自動獲取ip地址。

注意可能會出現(xiàn)延遲,可以稍等一下查看。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5682

    瀏覽量

    104839
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    【HZ-T536開發(fā)板免費體驗】開箱評測

    口信息查詢 開發(fā)板支持雙網(wǎng),用戶可以通過任意網(wǎng)進(jìn)行 SSH 登錄。開發(fā)板上電后,默認(rèn)開
    發(fā)表于 07-02 22:52

    熱插拔算力集群

    熱插拔算力集群指在無需停機的情況下,動態(tài)增減計算節(jié)點或硬件的算力基礎(chǔ)設(shè)施,其核心價值在于實現(xiàn)資源的彈性伸縮和業(yè)務(wù)連續(xù)性。以下從關(guān)鍵技術(shù)、應(yīng)用場景及優(yōu)勢三個維度分析: 一、關(guān)鍵技術(shù)支撐? 硬件
    的頭像 發(fā)表于 06-26 09:20 ?193次閱讀

    如何選擇可靠的熱插拔?連接器熱插拔防護等級詳解

    熱插拔(Hot Swap)是指能夠在不關(guān)閉系統(tǒng)電源的情況下,安全地插入或拔除設(shè)備板卡或模塊。為了確保熱插拔過程的安全性和可靠性,連接器的熱插拔防護設(shè)計至關(guān)重要。
    的頭像 發(fā)表于 04-23 09:53 ?434次閱讀

    【ELF 2學(xué)習(xí)試用】ELF 2開發(fā)板的鏡像燒錄與網(wǎng)線連接配置

    鏡像燒錄 鏡像獲取 ELF 2 高性能嵌入式 AI學(xué)習(xí) | ElfBoard 官網(wǎng)-嵌入式Linux開發(fā)板/學(xué)習(xí)-讓嵌入式學(xué)習(xí)釋放無限可能 在此官
    發(fā)表于 02-05 22:19

    怎么綁定IP地址和MAC地址

    本篇文章主要說一說怎么在本地計算機上綁定IP和MAC地址以及通過路由器綁定IP和MAC地址,并且這兩者綁定可以解決什么問題。 ? 先來說說怎么去綁定 本地計算上綁定
    的頭像 發(fā)表于 12-01 22:48 ?1389次閱讀

    android如何獲取本機ip地址ip歸屬地

    # 前言 # 本篇文章主要介紹android如何獲取本機ip地址ip歸屬地。 ? # 定義 # ip
    的頭像 發(fā)表于 11-20 11:57 ?918次閱讀

    PCIe熱插拔機制介紹

    前言本文主要講述PCIe熱插拔機制,通過圖形方式方便讀者快速掌握。 一、概述 如果在PCIe設(shè)備不支持熱插拔的條件下,在不斷電的情況下插拔一塊PCIe SSD時,很可能會對主板或PCIe插槽造成損毀
    的頭像 發(fā)表于 11-20 09:07 ?2737次閱讀
    PCIe<b class='flag-5'>熱插拔</b>機制介紹

    熱插拔是什么意思

    熱插拔(Hot Swapping或Hot Swap),即帶電插拔,是指在不關(guān)閉系統(tǒng)電源的情況下,將模塊、板卡、存儲設(shè)備或其他外部設(shè)備插入或拔出系統(tǒng),且不影響系統(tǒng)正常工作的技術(shù)。這種技術(shù)
    的頭像 發(fā)表于 10-29 17:49 ?5544次閱讀

    穩(wěn)健的熱插拔設(shè)計

    電子發(fā)燒友網(wǎng)站提供《穩(wěn)健的熱插拔設(shè)計.pdf》資料免費下載
    發(fā)表于 10-08 09:51 ?3次下載
    穩(wěn)健的<b class='flag-5'>熱插拔</b>設(shè)計

    常見的IP地址查詢技術(shù)

    1. 在線IP地址查詢工具 ? 在線IP地址查詢服務(wù)是獲取IP
    的頭像 發(fā)表于 09-26 10:21 ?852次閱讀
    常見的<b class='flag-5'>IP</b><b class='flag-5'>地址</b>查詢<b class='flag-5'>技術(shù)</b>

    熱插拔電源是什么意思

    熱插拔電源,即帶電插拔電源,指的是在不關(guān)閉系統(tǒng)電源的情況下,能夠安全地將電源模塊、板卡等硬件設(shè)備插入或拔出系統(tǒng),而不影響系統(tǒng)的正常工作。這種技術(shù)大大提高了系統(tǒng)的可靠性、快速維修性、冗余性和對災(zāi)難
    的頭像 發(fā)表于 09-18 11:00 ?2170次閱讀

    熱插拔電源接口定義是什么

    的正常工作。這種技術(shù)提高了系統(tǒng)的可靠性、快速維修性、冗余性和對災(zāi)難的及時恢復(fù)能力。 接口特點 帶電操作 :熱插拔允許在電源不關(guān)閉的情況下進(jìn)行設(shè)備的插入和拔出操作,這是其最顯著的特點。 兼容性 :支持熱插拔的接口需要具有特定的電路
    的頭像 發(fā)表于 09-18 10:56 ?2171次閱讀

    面向熱插拔應(yīng)用的MOSFET

    熱插拔電路主要用于高可用性系統(tǒng),例如數(shù)據(jù)中心和電信基礎(chǔ)設(shè)施。在高可用性系統(tǒng)中采用熱插拔電路時,即使需要更換或添加組件以維持系統(tǒng)運行,系統(tǒng)也不會中斷運行。 對于電信服務(wù)器應(yīng)用而言,高功率和高冗余
    發(fā)表于 09-09 16:21 ?1204次閱讀
    面向<b class='flag-5'>熱插拔</b>應(yīng)用的MOSFET

    IP地址與NAT技術(shù)的結(jié)合與應(yīng)用

    隨著互聯(lián)網(wǎng)用戶增多,IPv4地址資源日益緊張,IPv6尚未完全普及,而私有IP地址的的使用讓內(nèi)部網(wǎng)絡(luò)可以靈活構(gòu)建,但無法直接訪問互聯(lián)網(wǎng)。NAT技術(shù)的出現(xiàn)解決了這一矛盾,它允許內(nèi)部網(wǎng)絡(luò)使
    的頭像 發(fā)表于 08-28 17:30 ?708次閱讀