เนื่องจากระยะเวลาการหมดเวลาตามค่าเริ่มต้นในเทมเพลตเซิร์ฟเวอร์ Simple Socket จึงมีโอกาสที่การเจรจาอัตโนมัติที่ความเร็ว 1G อาจล้มเหลวในอุปกรณ์ Cyclone® V, Cyclone® 10 และ Max® 10
เพื่อหลีกเลี่ยงปัญหานี้ ผู้ใช้จําเป็นต้องปรับเปลี่ยนซอร์สโค้ด BSP เพื่อเพิ่มการหน่วงเวลาการเจรจาต่อรองอัตโนมัติ และคอมไพล์ใหม่เพื่อสร้างไฟล์ ELF ใหม่โดยใช้คําแนะนําด้านล่าง
เปิดไฟล์ต่อไปนี้ในไดเรกทอรีโครงการ
.. /ซอฟต์แวร์/<project_name_bsp>/ไดรเวอร์/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) {
........................................
ในขณะที่(alt_tse_phy_rd_mdio_reg(pphy, TSE_PHY_MDIO_STATUS, TSE_PHY_MDIO_STATUS_AN_COMPLETE, 1) == 0 ){
ถ้า (> 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)
}