dm8168千兆網口掛載nfs失敗的解決方法

2021-06-22 04:37:08 字數 1123 閱讀 3959

二、問題背景

筆者用百兆網線連線板子的時候,可以進入檔案系統,這也隱含說明,筆者的網路檔案系統是

沒有問題的;但是用千兆網線連線板子的時候,核心啟動的時候會卡在掛載網路檔案系統的那一步。

見(一、核心列印)中列印的資訊。

筆者使用的網絡卡不是ti官方原理圖上的那個網絡卡,是我們後換了個網絡卡(rtl8211cl),所以剛

開始懷疑可能是核心網絡卡驅動對我們這款網絡卡千兆支援有問題,所以費了點時間熟悉了下rtl8211cl,並結合核心**去分析。後來筆者在 genphy_read_status()這個函式跟蹤列印中,有了點突破性

的發現,這個函式在drivers/net/phy/phy_device.c 。本來在百兆網線連線的環境下,因為列印

也出現了卡住問題(見:一、核心列印),後來思考問題可能網絡卡哪邊初始化太遲,導致在掛載

網路檔案系統的時候,還未完成,就導致了這卡住的問題,順著這個思路,進行了一些測試,最後

問題解決了。

三、問題分析

去分析 init/main.c 、init/do_mounts.c 、net/phy/phy_device.c 檔案中相關**。

四、解決方法

方法一、在啟動引數 bootargs 中新增 rootdelay=2 即可;

方法二、在核心**init/main.c檔案中,有個kernel_init()函式,在此函式中以下**

位置新增乙個延時兩秒 ssleep(2),注意包含標頭檔案 #include ;

if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0)

bootargs 'console=ttyo2,115200n8 rootwait rw mem=256m notifyk.vpssm3_sva=0xbee00000 vram=20m root=/dev/nfs nfsroot=192.168.x.x:/rootfs_path ip=192.168.x.x:::::eth0 mtdparts=omap2-nand.0:1m(boot),3m(kernel),50m(rootfs),400m(data1),58m(data2) rootdelay=3'

注意加了rootdelay=3,百兆則不需要。是否千兆協商並up的時間更長一些?

DM8168裸機除錯 GPMC FPGA

gpmc產生背景 個人理解 當除錯nor flash nand flash fpga 網絡卡等外部擴充套件裝置時,需要cpu給這些裝置 分配位址空間 提供訪問時序 訪問介面等控制。cotex a8將這些外擴裝置的控制整合在gpmc模組內。對於使用者只需要配置gpmc模組,既可以訪問該裝置。gpmc工...

千兆網口 光口除錯總結

工作模式的配置方式 1 硬體配置,通過電阻上下拉確定 6096的硬體配置不可以錯,其在port status暫存器狀態中有相應的暫存器位體現硬體配置的工作模式。2 軟體配置,主要是配置鏈路層的工作模式。主要是設定pcs physical coding sublayer 暫存器。3 marvell的p...

千兆網口 光口除錯總結

目錄 千兆網口光口除錯總結 配置6096端 arm端 pcs層所處位置極其意義 除錯過程 iperf效能測試 工作模式的配置方式 1 硬體配置,通過電阻上下拉確定 6096的硬體配置不可以錯,其在port status暫存器狀態中有相應的暫存器位體現硬體配置的工作模式。2 軟體配置,主要是配置鏈路層...