A40i應(yīng)用筆記 | 3種常見的網(wǎng)卡軟件問題以及排查思路

原創(chuàng) 2023-08-04 10:42:00 a40i網(wǎng)卡軟件問題 a40i網(wǎng)卡設(shè)計(jì)
在飛凌嵌入式OKA40i-C開發(fā)板上雖然只有一個(gè)網(wǎng)口,但全志A40i-H處理器本身是有兩個(gè)網(wǎng)絡(luò)控制器的,因此在飛凌嵌入式提供的產(chǎn)品資料中提供了雙網(wǎng)口解決方案。有的工程師小伙伴在開發(fā)過程中會(huì)遇見一些網(wǎng)卡的設(shè)計(jì)問題,今天小編為大家分享3種在使用OKA40i-C開發(fā)板時(shí)容易遇到的網(wǎng)卡軟件問題以及排查思路。

一、問題分析

問題描述1——

以太網(wǎng)初始化報(bào)錯(cuò) No phy found

在執(zhí)行ifconfig eth0 up命令時(shí),出現(xiàn)"No phy found"異常log。

問題分析:

出現(xiàn)"No phy found",常見原因是供給phy使用的25M時(shí)鐘異常,導(dǎo)致phy工作不正常,gmac驅(qū)動(dòng)通過mdio接口也讀不到phy的設(shè)備信息。

或者M(jìn)DIO引腳配置不正確或者phy地址不正確;再就是MDIO沒做上拉電阻,GMAC讀取不到phy設(shè)備信息,用示波器量一下MDIO波形是否正確;再或是phy芯片復(fù)位失敗,需要更換phy芯片復(fù)位上拉電阻。

排查步驟:

(1) 檢查phy供電是否正常;

(2) 檢查phy使用的25M時(shí)鐘(Soc ephy25M或外部晶振)是否正常;

(3) 檢查phy-mode是否按板級(jí)實(shí)際情況配置(mii/rmii/rgmii);

(4) 檢查MDIO是否有上拉電阻;

(5) 檢查MDIO引腳配置是否正確;

(6) eMAC phy地址是否和硬件一致;

(7) 檢查復(fù)位上拉電阻是否和原理參考方案一致。

MDIO通訊正常驗(yàn)證:

使用phytool工具讀取0x02 0x03寄存器 是否正確讀取PHY芯片ID,讀取成功,代表MDIO通訊正常。

問題描述2——

以太網(wǎng)初始化報(bào)錯(cuò)NO SUCN DEVICE

執(zhí)行ifconfig -a/ifconfig eth0/ifconfig eth0 up命令,找不到eth0設(shè)備。

問題分析:

以太網(wǎng)模塊配置未生效或存在GPIO沖突。

排查步驟:

步驟1:抓取內(nèi)核啟動(dòng)log,搜索"gmac"關(guān)鍵字段,檢查gmac驅(qū)動(dòng)是否probe成功;

步驟2:若內(nèi)核啟動(dòng)log顯示mac控制器probe失敗,常見原因是GPIO資源沖突導(dǎo)致。

解決方法:

GPIO沖突會(huì)有報(bào)錯(cuò)信息,根據(jù)報(bào)錯(cuò)信息,查看GPIO沖突引腳。

查看以太網(wǎng)模塊是否配置。

問題描述3——

以太網(wǎng)初始化報(bào)錯(cuò)Initialize hardware error

執(zhí)行ifconfig eth0 up命令,出現(xiàn)"Initialize hardware error"異常log。

問題分析:

出現(xiàn)"Initialize hardware error",一般是由于phy沒有輸出RX CLK至MAC控制器,導(dǎo)致MAC控制器內(nèi)部soft reset失敗,常見原因是phy供電異常或25M時(shí)鐘異常;或者是檢查數(shù)據(jù)引腳的時(shí)鐘是否正確,RMILL RX CLK TX CLK 是否是正確時(shí)鐘。

排查步驟:

用示波器抓取rx_clk時(shí)鐘波形,查看是否保持25M時(shí)鐘穩(wěn)定,如果出現(xiàn)25M/2.5M 來回跳動(dòng)。即MAC與phy未link成功。

解決方法:

軟件上可通過在phy復(fù)位之后,設(shè)置寄存器0 固定為100M全雙工,可link成功。目前可這樣解決問題:

在drivers/net/ethernet/allwinner/sunxi-gmac.c 中 geth_phy_init函數(shù)中 phy_connect_direct 之前加入phy_write(phydev, 0x0, 0x2100)。

以上是我們?cè)贠KA40i-C開發(fā)板的使用過程中常見網(wǎng)卡設(shè)計(jì)問題,有些可能是因?yàn)榇蠹以趨⒖挤桨笗r(shí)出現(xiàn)了配置問題,或者是因?yàn)樾酒敵龅男盘?hào)不正常導(dǎo)致。大家在參考OKA40i-C開發(fā)板的雙網(wǎng)口方案時(shí),可以查看本文章整理的問題點(diǎn),說不定就是您現(xiàn)在項(xiàng)目中遇見的bug。

接下來,小編將給大家介紹一些常用的網(wǎng)卡軟件問題對(duì)應(yīng)的排查手段。

、排查手段

這些排查手段可以幫助您在調(diào)試phy時(shí)有一個(gè)基本的調(diào)試思路,提到的一些工具可以幫助您快速定位并且解決網(wǎng)卡問題。

(1) 檢查menuconfig及dts以太網(wǎng)配置是否打開;

(2) 檢查phy-mode配置是否與PHY和GMAC之間的物理接口匹配,如rgmii、rmii等;

(3) 檢查GPIO配置是否正確,如IO復(fù)用功能、驅(qū)動(dòng)能力等;

(4) 使用phytool工具讀取phy ID 驗(yàn)證MDIO是否正確。

如下圖示例,能夠正常讀取JL11x1的phy ID則代表MDIO通訊正常。

使用phytool工具讀取phy狀態(tài)寄存器,查看phy芯片狀態(tài)。以JL11x1為例,如0x01狀態(tài)寄存器讀取值為0x786d,說明link成功并且工作正常。


以上就是小編為大家整理的關(guān)于OKA40i-C開發(fā)板雙網(wǎng)口方案的網(wǎng)卡軟件問題分析以及排查方向,希望能夠?yàn)槟捻?xiàng)目開發(fā)有所幫助。點(diǎn)擊下圖了解有關(guān)OKA40i-C開發(fā)板的更多產(chǎn)品詳情。




相關(guān)產(chǎn)品 >

  • FETA40i-C核心板

    Allwinner A40i是全志開發(fā)的一款工業(yè)級(jí)處理器,A40i作為全國產(chǎn)工業(yè)級(jí)芯片中的佼佼者,采用更低功耗的4核ARM Cortex-A7架構(gòu),工作溫度-40-85℃,是一款高性能低功耗超高性能CPU主芯片。飛凌嵌入式深度研究全志A40i芯片參數(shù)、原理圖、datasheet規(guī)格書推出了以FETA40i核心板為主的一系列全國產(chǎn)工業(yè)級(jí)嵌入式計(jì)算機(jī)板卡,并提供了用于評(píng)估的A40i工控板、 A40i開發(fā)板。 了解詳情
    FETA40i-C核心板
  • OKA40i-C開發(fā)板

    國產(chǎn)工業(yè)級(jí),高清輸出,豐富接口|OKA40i開發(fā)板采用底板+核心板結(jié)構(gòu),基于全志工控行業(yè)平臺(tái)級(jí)處理器四核Cortex-A7 A40i設(shè)計(jì),主頻1.2GHz,集成MAli400MP2 GPU,內(nèi)存1GB/2GB DDR3L,存儲(chǔ)8GB eMMC。 全志A40i工控行業(yè)芯片平臺(tái) A40i為國產(chǎn)工控行業(yè)芯,全志A40i處理器代表了Allwin在智能工業(yè)控制領(lǐng)域的成就。飛凌嵌入式A40i系列OKA40i-C開發(fā)板是飛凌推出的一款中國芯,全國產(chǎn)級(jí)工業(yè)級(jí)開發(fā)板,適用于適用于基于視覺交互的工業(yè)控制產(chǎn)品 了解詳情
    OKA40i-C開發(fā)板

推薦閱讀 換一批 換一批