有兩種方法可將裝置網速設定為10Mbits/sec ;
一.不改程式碼 通過ethtool工具將速度設定為10Mbits/sec;
二.改程式碼,將其自動協商欄位置為0,一般預設是開啟自動協商。
步驟如下:1.先安裝ethtool工具;
2.執行 ethtool -s eth0 speed 10 duplex full autoneg off
ethtool 常用命令:
ethtool eth0 //查詢ethx網口基本設定,其中 x 是對應網路卡的編號,如eth0、eth1等等
ethtool –h //顯示ethtool的命令幫助(help)
ethtool –i eth0 //查詢eth0網口的相關資訊
ethtool –d eth0 //查詢eth0網口註冊性資訊
ethtool –r eth0 //重置eth0網口到自適應模式
ethtool –S eth0 //查詢eth0網口收發包統計
ethtool –s eth0 [speed 10|100|1000] [duplex half|full] [autoneg on|off]
//設定網口速率10/100/1000M、設定網口半/全雙工、設定網口是否自協商
ethX是乙太網卡的名稱,Linux系統將檢測到的第一塊乙太網卡命名為eth0, 第二塊為eth1,…….。
ethtool -s eth0 speed 10 duplex full autoneg off:設定eth0 速度為10 全雙工 關閉自協商
3.在裝置端輸入ifconfig 檢視裝置ip,然後通過iperf工具檢視裝置的 吞吐量
修改如下:
1.在建立phy裝置函數–phy_device_creat()將裝置自協商欄位置為非並將其初始速度置為10 網口全雙工:最主要的是自協商欄位置為非,其他初始值也可不變
2.在讀取狀態函數–genphy_read_status()裡,非自動協商條件裡的最後將速度置為10,全雙工即可
3.在裝置端輸入ifconfig 檢視裝置ip,然後通過iperf工具檢視裝置的 吞吐量