當前位置:首頁 » 幣種行情 » arm板eth1靜態配置

arm板eth1靜態配置

發布時間: 2023-03-21 01:48:35

㈠ ZYNQ+linux網口調試筆記(3)PL-ETH

在ZYNQ上使用gigE Vision協議的網路介面相機。

第一步:調通PS側網口GEM0(Xilinx BSP默認配好)。

第二步:調通PS側網口GEM1(見前一篇文檔:開發筆記(1))。

第三步:調通PL側網口(本文闡述)。

第四步:在PL側網口上驗證Jumbo Frame特性,並在應用層適配gigE Vision協議。

根據《xapp1082》可知,PL側的PHY支持1000Base-X和SGMII兩種配置,這兩種配置對應兩種不同的PHY引腳介面(連接到MAC)。而我們的hdf文件使用的是1000Base-X的配置。

關於網口的Linux驅動,我們在官網找到一份資料: Xilinx Wiki - Zynq PL Ethernet 。資料很長,我們只看與我們相關的2.4.1 PL Ethernet BSP installation for 1000Base-X」這一章節就可以了。

首先導入FPGA設計同事提供的hdf文件:

在彈出的圖形界面里,進入Subsystem AUTO Hardware Settings——Ethernet Settings——Primary Ethernet,確認可以看到PL側網路設備axi_ethernet_0,說明hdf文件里已包含了必要的網口硬體信息:

上圖中被選中的網口將成為Linux上的設備eth0。這里我們默認選擇ps7_ethernet_0,即使用GEM0作為首選網口。

啟用Xilinx AXI Ethernet驅動

進入Device Drivers -- Network device support – 選中Xilinx AXI Ethernet(以及Xilinx Ethernet GEM,這是PS側網口的驅動)

進入Networking support – 選中 Random ethaddr if unset

進入Device Drivers -- Network device support -- PHY Device support and infrastructure – 啟用Drivers for xilinx PHYs

進入~~~~Device Drivers -- DMA Engine Support -– 禁用~~~~Xilinx AXI DMAS Engine~~~ (對應的配置項名為 ~~ CONFIG_XILINX_DMA ~~~)

注意: Xilinx Wiki里對設備樹節點的引用有誤(&axi_ethernet),導致編譯報錯,應改為&axi_ethernet_0。

註:PL-ETH驅動所在路徑:<project>/build/tmp/work-shared/plnx_arm/kernel-source/drivers/net/ethernet/xilinx/xilinx_axienet_main.c和xilinx_axienet_mdio.c。對應的內核配置項為CONFIG_NET_VENDOR_XILINX和CONFIG_XILINX_AXI_EMAC。

啟用ethtool和tcpmp(調試用,非必須):

然後將生成的BOOT.BIN和image.ub拷貝到SD卡根目錄下,將SD卡插入板子上,上電運行。

上電後,使用ifconfig eth1查看網口信息,觀察MAC地址與設置的一致,且ifconfig eth1 192.168.1.11 up沒有報錯。

測試網路通路:ping PC是通的。說明網口工作正常。

Linux下eth1(即PL-ETH)的MAC地址有誤

問題描述:

開機列印:

注意:

MAC地址是錯的,驅動里解析出的是GEM0的MAC地址。

試驗發現,即使在system-user.dtsi里不寫local-mac-address,也照樣解析出的是GEM0的MAC。

而將system-user.dtsi里的local-mac-address改名為pl-mac-address,並將驅動里解析的字元串也對應更改為pl-mac-address,則可以正確解析出來:

Passing MAC address to kernel via Device Tree Blob and U-Boot:

http://zedboard.org/content/passing-mac-address-kernel-device-tree-blob

通過更改u-boot環境變數和設備樹,為每個板子設置一個獨特的MAC地址:

https://www.xilinx.com/support/answers/53476.html

U-Boot里的環境變數ethaddr會覆蓋掉設備樹里pl-eth的local-mac-addr欄位,從而影響Linux啟動後的網卡MAC地址;

但U-Boot里的環境變數ipaddr不會對Linux啟動後的配置產生任何影響。因為設備樹里根本就沒有關於IP地址的配置。

phy-mode怎麼會是sgmii?查了下官方的提供的BSP里,也是「sgmii」。說明這個沒問題。具體原因不清楚。

@TODO: 設備樹里的中斷號的順序如何影響功能?

為何讀出來的IRQ號不對呢?這是因為這里讀到的不是硬體的中斷號,而是經過系統映射之後的軟體IRQ number。兩者不具有線性關系。

關於中斷號的疑問:

Linux上的網口eth0、eth1的順序,似乎是按照phy地址從小到大來排布的。

Xilinx xapp1082-zynq-eth.pdf (v5.0) July 16, 2018

https://www.xilinx.com/support/documentation/application_notes/xapp1082-zynq-eth.pdf

Xilinx Wiki - Zynq PL Ethernet:

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841633/Zynq+PL+Ethernet

Xilinx Wiki - Linux Drivers:

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841873/Linux+Drivers

Xilinx Wiki - Linux Drivers - Macb Driver:

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841740/Macb+Driver

Xilinx Wiki - Zynq Ethernet Performance:

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841743/Zynq+Ethernet+Performance

查到關於Jumbo frame MTU的定義,當前值為9000,可否改大一些?

驅動源碼里關於jumbo frame的說明:

設置MTU為9000,發現ping包最大長度只能設為ping 192.168.1.10 -s 1472

https://lore.kernel.org/patchwork/patch/939535/

【完】

㈡ 用arm盒子+MT7620/7621作VLAN交換機實現單臂路由

使用廉價的arm64盒子,例如s905/rk3328等,搭配廉價的MT7620/7628/7621路由器可以實現高性能單臂路由,適合於各種類型的網路應用

以常見的5口路由器為例,原WAN(Port4)和原LAN1-3(Port0-2)保持不變,Port3配置成trunk介面並接入arm64盒子:圓雀

在上圖的網路拓撲中,如果SBC是全雙工千兆接入的,那麼對於Port0-2的LAN內設備而言,NAT的單向流量(在同一時間僅下行或者僅下行測速)最快可以達到千兆,而如果同時進行上下行測速的話,理論上下行與上行可以各自分得500M帶寬。

為了便於進行配置,你的arm64盒子需要安裝好OpenWrt,並確保當前內核中包含8021q支持
對於內核中集成8021q模塊的,開機後查看內核日誌可以看到以下內容:

對於編譯成內核模塊的,請嘗試載入8021q,如果沒有報錯則可以繼續

對於沒有OpenWrt支緩叢持的arm盒子,可以參考下面這篇文章,利用其它Linux發行版的內核加上OpenWrt的rootfs快速生成OpenWrt固件:
https://www.jianshu.com/p/3a48c6a7cc7a

修改 /etc/config/network ,追加以下內容,openwrt會自動為eth0生成vlan id為2的WAN口

如果需要ipv6支持,則繼續向 /etc/config/network 追加以下內容:

重新啟動netifd

查看 ifconfig ,觀察是否成功生成了 eth0.2

將電腦直連到arm盒子,等待DHCP獲取地址後進入luci界面,查看網路信息:

將mt7620/7628/7621的路由器刷成Padavan系統,並 確保機器的實際網口次序與webui中看到的一致 ,否則你需要調整之後的命令參數:

對於MT7620/7628,在啟動腳本後面加入以下命令:

對於MT7621(僅適用於帶GMAC2的機器,對於不啟用擾腔櫻GMAC2的機型,例如NEWIFI3,請參考MT7620的配置命令),在啟動腳本後面加入以下命令:

上述命令將Port4配置成WAN口(VLAN ID=2);Port 0-2配置成LAN口(VLAN ID=1);Port 3配置成trunk口,也就是連接arm64盒子的介面,該介面上同時存在tagged(來自WAN,VLAN id=2)和untagged(來自LAN)的數據包,這與之前在OpenWrt裡面配置的參數一致;同時還設置了Port3的PVC寄存器,允許此介面收發任意tag的數據包。

配置好的交換機如下表所示,可以將普通的vlan交換機按此配置,也能達到相同的效果。

將Padavan設置為AP模式,路由器將自動重啟:

將trunk口與arm64盒子連接起來(參考本文開頭的接線圖),單臂路由配置完成。

㈢ 將arm板連接到無線路由,PC通過無線路由訪問ARM板,請問怎麼設置啊

你arm是wifi的畢弊話用ifconfig eth0 down (關閉eth0網卡)
ifconfig wlan0 up 啟動無線wifi
然後ping 192.168.1.1
如果ping通就證明無線wifi啟動,硬體已經手襪族連接到網上(前提必須保證wifi驅動上)

如果arm 是用線連接就什麼都不用設置了

我不知道你所謂的訪問是什麼意思,通信?用socket 通信,貌似你自己得編寫程序,如果用arm上internet,必須的配置網關, dns。你沒有說清到底干什麼,我無從好晌說起。

㈣ 如何啟動arm開發板 nfs 服務

開發環境:
PC環境是ubuntu9。04,開發板為友善之臂的MINI2440
主機IP:192.168.50.72 網關:192.168.50.1 子網掩碼:255.255.255.0
開發板IP:192.168.50.168 網關:192.168.50.1 子網掩碼:255.255.255.0
為了能和主機建立起連接我必須得把開發板IP改成和主機一個網段的 .
這里首先要說明的是ubuntu的靜態IP設置問題:
默認安裝完成後,右上角的網路配置上 wired ..和eth0為灰色。不能點選 。
然後禁用networdmanager啟動network乙太網設置靜態IP的時候,不管怎麼設置, 子網掩碼都和網關一樣,
比如說:地址:192.168.0.22
子網掩碼: 192.168.0.1 //不管怎麼輸入255.255.255.0 ,都不行!
網關: 192.168.0.1 //這里改了255.255.255.0的話,上面就也成255.255.255.0了。(auto ethernet是可以聯上網的)。所以就上GG找答案,找解決方法。
進入FC10,執行終端命令(也可以用VI修改)
$ su -c 『gedit /etc/sysconfig/networking/devices/ifcfg-eth0′
直接修改文件中的子網掩碼信息就可以
代碼為:
# Broadcom Corporation NetXtreme BCM5752 Gigabit Ethernet PCI Express
DEVICE=eth0
HWADDR=00:16:e6:db:c2:96
ONBOOT=yes
BOOTPROTO=static //這個應該是「static」,而不是「dhcp」或「none」;
USERCTL=yes
PEERDNS=yes
IPV6INIT=no
NM_CONTROLLED=yes//這個應該是「yes」,如不修改,鏈接仍是disconnected;
TYPE=Ethernet
NETMASK=255.255.255.0
IPADDR=192.168.50.72
GATEWAY=192.168.50.1
然後重新激活下網卡就可以了.
#service network restart
設置完成後,仔做棚右上角的網路配置上System eth0與auto ethernet就可以點選了.
需要說明的是因為我之前沒有設置靜態IP之前通過 NFS 啟動系統啟動不了.
連接主機和開發板
我選擇了串口線和網線連接起了主機和開發板
連接好電源,串口線,網線,打開串口終端
配置minicom(在FC10終端輸入命令minicom -s)
進入到minicom配置界面後選擇 :Serial port setup
然後按照下面的設置下就OK了
A – Serial Device : :/dev/ttyS0
B – Lockfile Location : /var/lock
C – Callin Program :
D – Callout Program :
E – Bps/Par/Bits : 115200 8N1
F – Hardware Flow Control : No
G – Software Flow Control : No
胡如建立和配置 NFS 服務
(1)設置共享目錄
運行命令
#gedit /etc/exports
編輯 nfs 服務的配置文件(注意:第一次打開時該文件是空的),添加以下內容:
/opt/FriendlyARM/mini2440/root_qtopia *(rw,sync,no_root_squash)
其中:
/opt/FriendlyARM/mini2440/root_qtopia 表示 nfs 共享目錄,它可以作為開發板的根文件系統通過 nfs 掛接;
* 表示所有的客戶機都可以掛接此念則目錄
rw 表示掛接此目錄的客戶機對該目錄有讀寫的權力
no_root_squash 表示允許掛接此目錄的客戶機享有該主機的 root 身份
(2)通過命令啟動和停止 nfs 服務
在命令行下運行:
#/etc/init.d/nfs restart
這將啟動 nfs 服務,可以輸入以下命令檢驗 nfs 該服務是否啟動。
# mount -t nfs 192.168.50.72: /opt/FriendlyARM/mini2440/root_qtopia /mnt/
如 果 沒 有 出 現 錯 誤 信 息 , 您 將 可 以 瀏 覽 到 /mnt 目 錄 中 的 內 容 和
/opt/FriendlyARM/mini2440/root_qtopia 是一致的。
使用這個命令可以停止 nfs 服務:
#/etc/init.d/nfs stop
檢查nfs伺服器是否開啟: #service nfs status
重啟對應的2個服務: #service portmap restart
#service nfs restart
檢查防火牆看是否屏蔽了nfs埠
#service iptables stop
#service iptables status

㈤ 嵌入式linux實現雙網切換

某些信息設備為了增強通訊可靠性,硬體上往往配備局豎雙冗餘網卡,當一塊網卡出現問題時,另一塊網卡州蔽可以接管工作保持網路通暢。本文介紹一種基於冊臘州嵌入式linux系統的雙冗餘網卡的主備切換實現方法。linux內核提供了bond技術,利用該技術可以將多塊網卡虛擬成為單一網卡,對外表現為一塊網卡並且僅有一個IP地址。

1、硬體平台:主機是windows+ubuntu虛擬機,目標機是altera cyclone V SoC平台。

2、查看嵌入式linux是否已經將bond編譯進內核,可以通過menuconfig進行配置。如下圖所示

3、開機查看嵌入式linux是否已經存在ifenslave工具,如果沒有需編譯生成,找到內核中ifenslave.c,在其所在目錄下打開終端,輸入arm-linux-gnueabihf-gcc -Wall -o -I linux-socfpag/include ifenslave.c -o ifenslave進行編譯。將ifenslave拷貝到目標機系統中。

1、目標機上cd到/etc/network,修改interface文件添加如下命令

auto bond0

ifface bond0 inet static

address 192.168.3.12

netmask 255.255.255.0

bond-mode active-backup

bond-miimon 10

auto eth0

iface eth0 inet manual

auto eth1

iface eth1 inet manual

3、使用ifenslave 工具,在rc.local中添加如下命令

exec ~/ifenslave bond0 eth0 eth1

㈥ 移動互聯網 arm linux哪個好

1、對開發板配置靜態IP:

將根文件系統/etc/network/interface文件中

auto eth0
iface eth0 inet dhcp
pre-up /bin/grep -v -e "ip=[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+" /proc/cmdline > /dev/null

將eth0的DHCP配置修改為static ip方式:

auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
gateway 192.168.1.1

即可以靜態方式IP啟動。

2、復制文件系統網卡名eth0變化的解決方法:(同樣適合虛擬機文件拷貝)

根文件系統每復制一次,網卡名字後綴就要加1,比如復制兩次根文件系統eth0就會變成虛指eth2。其原因是Linux為防止網路內有相同的MAC地址而採用一種自動探測機制,同時也會改為網卡名字。其解決方法:

修改/etc/udev/rules.d/70-persisten-net.rules文件

#PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="……", ……, KERNEL=="eth*", NAME="雀喊eth0"
#PCI device 0x1022:0x2000 (vmxnet)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="……", ……, KERNEL=="eth*", NAME="eth1"
#PCI device 0x1022:0x2000 (vmxnet)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="……", ……, KERNEL=="eth*", NAME="eth2"

將SUBSYSTEM開頭的所有3行都注釋掉即可。

#PCI device 0x1022:0x2000 (pcnet32)
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="……", ……, KERNEL=="eth*", NAME="eth0"
#PCI device 0x1022:0x2000 (vmxnet)
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="……", ……, KERNEL=="eth*", NAME="eth1"
#PCI device 0x1022:0x2000 (vmxnet)
#SUBSYSTEM=="net", ACTION=="add"頃譽野, DRIVERS=="?*", ATTR{address}=="……", ……, KERNEL=="eth*", NAME="eth2"
重新啟動系統網卡名又會變成eth0了。

3、為根文件系統設置DNS伺服器:
只需要在/etc/resolv.conf文件中加入一行(原來默認為空)
nameserver DNS伺服器地址
舉例:

nameserver 202.106.196.115

啟動/重啟/停止網路命令:
/net/init.d/networking start | restart | stop
重啟網路即可從開發板通過telnet或瀏覽器上網了。

㈦ 遇到一個ARM板與PC機通信的問題,麻煩高手們看一下

你是ARM與pc直接連接嗎?我沒試過,之槐沒姿前我都是用交換機連的,直接接好像不行(如果連鉛絕上cp沒有連接顯示的話,一般ARM開發察缺板裡面送的是直連線);ip地址要統一網段,子網掩碼要一致;有時getway也要設置;你找個交換機或者路由器,應該就可以了

㈧ linux怎麼修改ip

1、臨時生效

#ifconfig eth0 192.168.10.10 255.255.255.0

2、永久生效。修改網卡的配置文件
#vim /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=static #靜態分配
IPADDR=192.168.10.10 #如果沒有就加上去,有就直接修改

3、重啟network 服務生效
#service network restart

㈨ 在ArchLinux的arm版本上設置固定IP

2019-11-01 遇到的一點小問題
最近在 樹莓派 上做東西,有幾張SD卡需要來回切換。使用 ssh 經常遇到IP變掉的事。
系統是通過 Systemd-networkd 來進行IP管理的。

因為半年前做的功能是通過修橘段改 dhcpcd 的配置文件 /etc/dhcpcd.conf ,重啟服務 systemctl restart dhcpcd ,重啟網卡 ip link set eth0 down 和 ip link set eth0 up 來進行設備的動態IP和靜態IP設置管理。
所以繼續通過修改DHCP配置文件 /etc/dhcpcd.conf 來設置固定IP:

在文件後面添加上面內容,命令 systemctl start dhcpcd 啟動dhcpcd服務就可以正困禪常設置靜態IP了,需要動態IP只需圓尺譽要刪掉添加的內容就行。
使用 ip addr 看會有兩個IP,命令 systemctl disable systemd-networkd 和 systemctl enable dhcpcd 設定開機啟動項。重啟就可以了。

熱點內容
ada幣和trx幣 發布:2025-07-10 20:16:37 瀏覽:691
區塊鏈高峰論壇門票 發布:2025-07-10 20:13:31 瀏覽:396
中國人民清算體系中區塊鏈主要負責 發布:2025-07-10 20:09:22 瀏覽:226
trx貨幣前景如何 發布:2025-07-10 19:59:35 瀏覽:752
a3d數字貨幣指數 發布:2025-07-10 19:57:14 瀏覽:1000
比特幣買了季度合約提前平掉 發布:2025-07-10 19:56:21 瀏覽:512
2021平行進口trx 發布:2025-07-10 19:56:19 瀏覽:855
投訴賣比特幣商家 發布:2025-07-10 19:53:04 瀏覽:248
80個比特幣換人民幣多少錢 發布:2025-07-10 19:40:53 瀏覽:789
電信卡合約到期沒注銷怎麼辦 發布:2025-07-10 19:27:37 瀏覽:619