A. 請教981213大神及各位大神,關於openwrt編譯LED網口燈不亮問題
你朋友有什麼問題,建議到360論壇發帖交流,那裡的朋友會幫你的。
B. 電腦連接西門子plc需要反編譯么
不需要反編譯。
1、購買一根USB轉PPI的西門子PLC下載專用電纜線。(如果200自帶有網口,用網線下載即可)。
2、電腦插USB口,DP9的串口頭連接PLC上的9針COM口,選擇STEP7-Micro_WIN上的通信,彈出的對話框右側有一個[雙擊查找]會自動找到PLC。
3、選擇刷出的PLC,點連接即可,不需要反編譯,不用做任何專門的設置。
C. 我家的電信光貓有兩個網口,為什麼網口1可用,網口2不能用
咨詢一下運營商,看你的光貓是否現在用戶數,如果不限制,你可以直接買個小交換機和光貓放在一起,光貓的千兆口和交換機的任一口相連,到其他房間的線插在交換機的其他口裡,就可以實現你要的功能。如果有限制,你可以直接買個小路由器和光貓放在一起,光貓的千兆口和路由器的wan口相連,到其他房間的線插在路由器的lan口裡,就可以實現你要的功能。
買小路由器或小交換機是讓你把它和光貓一同放入弱點箱,如果沒有這種需求,沒必要買小的
其實第一種情況也可以用路由器,但是相同性能的路由器比交換機貴。如果預算充足可以考慮用支持ap的路由器,這樣以後就可以全屋布置wifi
電信的貓上有2個網口,網口1可以用網口2不可以用是因為
中國電信有個增值業務是ITV。如果貓上有2個網口,那一個是上網用的一個是提供ITV電視機頂盒使用的,所以網口2是無法使用的。
ITV
寬頻互聯網視聽業務又叫做iTV,是中國電信推出的新一代互動式
iTV標志
寬頻視頻服務,通過電視接入寬頻網路,享受直播、點播、回看節目,使用增值應用。
電信光貓都是默認1口可以使用的,並沒有壞。一、想要拓展有線網口的話,必須接一個路由器。二、路由器的設置很重要。有兩種方式,第一種是作為二級路由,網段必須和貓的網段不同,否則會導致無法上網等各種問題。第二種是作為無線ap來使用,貓的1口用網線連到路由器的任意一個lan口,關閉路由器的dhcp功能,而且路由器的wan口相當於是作廢狀態。
D. 請教981213大神及各位大神,關於openwrt編譯LED網口燈不亮問題
橫看成嶺側成峰,遠近高低各不同.
E. 奇怪的網口故障
系統分配資源的問題。2個網路介面資源使用沖突。不是網線的問題。拔掉外加的網卡,重新開機試一試
F. ffmpeg怎麼選擇呢輸入流的網口
FFMPEG,a)方法一:可以去官網下載源碼,用MINGW編譯(編譯時記得支持H264,當然,事先得下載並編譯好libx264,視頻技術論壇里有很多介紹)
G. 請教981213大神及各位大神,關於openwrt編譯LED網口燈不亮問題
這是不行的,建議刷原裝的固件。
機器出現問題了你可以到官網下載原裝程序重新刷機的,下載的程序裡面一般都有教程的,
如果沒有可以在網路的網上搜索一下教程就有了的,方法都大同小異。
H. 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/
【完】
I. 嵌入式系統開發為什麼要採用交叉編譯的方式
由於嵌入式系統資源匱乏,一般不能像PC一樣安裝本地編譯器和調試器,不能在本地編寫、編譯和調試自身運行的程序,而需藉助其它系統如PC來完成這些工作,這樣的系統通常被稱為宿主機。宿主機通常是Linux系統,並安裝交叉編譯器、調試器等工具;宿主機也可以是Windows系統,安裝嵌入式Linux集成開發環境。在宿主機上編寫和編譯代碼,通過串口、網口或者硬體調試器將程序下載到目標系統裡面運行。所謂的交叉編譯,就是在宿主機平台上使用某種特定的交叉編譯器,為某種與宿主機不同平台的目標系統編譯程序,得到的程序在目標系統上運行而非在宿主機本地運行。這里的平台包含兩層含義:一是核心處理器的架構,二是所運行的系統,這樣,交叉編譯有3種情形:(1)目標系統與宿主機處理器相同,運行不同的系統;(2)目標系統與宿主機處理器不同,運行相同的系統;(3)目標系統與宿主機處理器不同,運行不同的系統。實際上,在PC機上進行非Linux的嵌入式開發,哪怕使用IDE集成環境如Keil、ADS、Realview,都是交叉編譯和調試的過程,只是IDE工具隱藏了細節,沒有明確提出這個概念而已。