OKA40i-C開(kāi)發(fā)板的底板雖然只有一個(gè)網(wǎng)口,但A40i本身是有兩個(gè)網(wǎng)絡(luò )控制器的,因此在飛凌嵌入式發(fā)布的資料中有雙網(wǎng)口方案。有的工程師小伙伴在開(kāi)發(fā)過(guò)程中會(huì )遇見(jiàn)一些網(wǎng)卡的設計問(wèn)題,今天小編來(lái)為大家分析3種常見(jiàn)的網(wǎng)卡軟件問(wèn)題以及排查思路。 1 問(wèn)題分析 問(wèn)題描述1: 以太網(wǎng)初始化報錯 No phy found 在執行ifconfig eth0 up命令時(shí),出現"No phy found"異常log。 圖片上傳失敗 重試 問(wèn)題分析: 出現"No phy found",常見(jiàn)原因是供給phy使用的25M時(shí)鐘異常,導致phy工作不正常,gmac驅動(dòng)通過(guò)mdio接口也讀不到phy的設備信息。 或者M(jìn)DIO引腳配置不正確或者phy地址不正確,再就是MDIO沒(méi)做上拉電阻,GMAC讀取不到phy設備信息,用示波器量一下MDIO波形是否正確。 再或是phy芯片復位失敗,需要更換phy芯片復位上拉電阻。 編輯 添加圖片注釋?zhuān)怀^(guò) 140 字(可選) 排查步驟: (1)檢查phy供電是否正常; (2)檢查phy使用的25M時(shí)鐘(Soc ephy25M或外部晶振)是否正常; (3)檢查phy-mode是否按板級實(shí)際情況配置(mii/rmii/rgmii); (4)檢查MDIO是否有上拉電阻; (5)檢查MDIO引腳配置是否正確; (6) eMAC phy地址是否和硬件一致; (7) 檢查復位上拉電阻是否和原理參考方案一致。 MDIO通訊正常驗證: 使用phytool工具讀取0x02 0x03寄存器 是否正確讀取PHY芯片ID,讀取成功,代表MDIO通訊正常。 問(wèn)題描述2: 以太網(wǎng)初始化報錯NO SUCN DEVICE 執行ifconfig -a/ifconfig eth0/ifconfig eth0 up命令,找不到eth0設備。 編輯 添加圖片注釋?zhuān)怀^(guò) 140 字(可選) 問(wèn)題分析: 以太網(wǎng)模塊配置未生效或存在GPIO沖突。 排查步驟: 步驟1:抓取內核啟動(dòng)log,搜索"gmac"關(guān)鍵字段,檢查gmac驅動(dòng)是否probe成功; 步驟2:若內核啟動(dòng)log顯示mac控制器probe失敗,常見(jiàn)原因是GPIO資源沖突導致。 解決方法: GPIO沖突會(huì )有報錯信息,根據報錯信息,查看GPIO沖突引腳。 查看以太網(wǎng)模塊是否配置。 編輯 添加圖片注釋?zhuān)怀^(guò) 140 字(可選) 問(wèn)題描述3: 以太網(wǎng)初始化報錯Initialize hardware error 執行ifconfig eth0 up命令,出現"Initialize hardware error"異常log。 問(wèn)題分析: 出現"Initialize hardware error",一般是由于phy沒(méi)有輸出RX CLK至MAC控制器,導致MAC控制器內部soft reset失敗,常見(jiàn)原因是phy供電異;25M時(shí)鐘異常;或者是檢查數據引腳的時(shí)鐘是否正確,RMILL RX CLK TX CLK 是否是正確時(shí)鐘。 編輯切換為居中 添加圖片注釋?zhuān)怀^(guò) 140 字(可選) 編輯切換為居中 添加圖片注釋?zhuān)怀^(guò) 140 字(可選) 排查步驟: 用示波器抓取rx_clk時(shí)鐘波形,查看是否保持25M時(shí)鐘穩定,如果出現25M/2.5M 來(lái)回跳動(dòng)。即MAC與phy未link成功。 解決方法: 軟件上可通過(guò)在phy復位之后,設置寄存器0 固定為100M全雙工,可link成功。目前可這樣解決問(wèn)題: 在drivers/net/ethernet/allwinner/sunxi-gmac.c 中 geth_phy_init函數中 phy_connect_direct 之前加入phy_write(phydev, 0x0, 0x2100)。 以上是我們在A(yíng)40i開(kāi)發(fā)過(guò)程中常見(jiàn)網(wǎng)卡設計問(wèn)題,有些可能是因為大家在參考方案時(shí)出現了配置問(wèn)題,或者是因為芯片輸出的信號不正常導致。大家在參考飛凌A40i的雙網(wǎng)口方案時(shí),可以查看本文章整理的問(wèn)題點(diǎn),說(shuō)不定就是您現在項目中遇見(jiàn)的bug。 接下來(lái),小編將給大家介紹一些常用的網(wǎng)卡軟件問(wèn)題對應的排查手段。這些排查手段可以幫助您在調試phy時(shí)有一個(gè)基本的調試思路,提到的一些工具可以幫助您快速定位并且解決網(wǎng)卡問(wèn)題。 2 排查手段 (1)檢查menuconfig及dts以太網(wǎng)配置是否打開(kāi); (2)檢查phy-mode配置是否與PHY和GMAC之間的物理接口匹配,如rgmii、rmii等; (3)檢查GPIO配置是否正確,如IO復用功能、驅動(dòng)能力等; (4)使用phytool工具讀取phy ID 驗證MDIO是否正確。 如下圖示例,能夠正常讀取JL11x1的phy ID則代表MDIO通訊正常。 編輯 添加圖片注釋?zhuān)怀^(guò) 140 字(可選) 使用phytool工具讀取phy 狀態(tài)寄存器,查看phy芯片狀態(tài)。以JL11x1為例,如0x01狀態(tài)寄存器讀取值為0x786d,說(shuō)明link成功并且工作正常。 編輯 添加圖片注釋?zhuān)怀^(guò) 140 字(可選) 以上就是小編為大家整理的關(guān)于A(yíng)40i雙網(wǎng)口方案的網(wǎng)卡軟件問(wèn)題分析以及排查方向。https://www.forlinx.com/ |