Simple Socket Server テンプレートのデフォルトのタイムアウト期間により、Cyclone® V、Cyclone® 10、Max® 10 デバイスで 1G 速度での自動ネゴシエーションが失敗する可能性があります。
この問題を回避するには、ユーザーは BSP ソースコードを変更してオートネゴシエーションのタイムアウト遅延を増やし、再コンパイルして次の手順を使用して新しい ELF ファイルを生成する必要があります。
プロジェクト ディレクトリで次のファイルを開きます。
../software/<project_name_bsp>/drivers/src/altera_avalon_tse.c
コードの次の部分に示すように、タイムアウト遅延を "usleep(1000) " から "usleep(5000)" に変更します。
alt_32 alt_tse_phy_restart_an(alt_tse_phy_info *pphy, alt_u32 timeout_threshold) {
........................................
while(alt_tse_phy_rd_mdio_reg(pphy, TSE_PHY_MDIO_STATUS, TSE_PHY_MDIO_STATUS_AN_COMPLETE, 1) == 0 ){
if(timeout > timeout_threshold) { tse_dprintf(4, "警告 : PHY[%d.%d] - オートネゴシエーションに失敗しました\n", mac_group_index, mac_info_index);
/* 以前の MDIO アドレスを復元する */
alt_tse_phy_wr_mdio_addr(pphy, mdioadd_prev);
TSE_PHY_AN_NOT_COMPLETEを返します。
}
usleep(5000);usleep(1000) からアップデート
}