TOP2 [RK3288 Android7.1.2 ]強制將裝置網速設定為10Mbits/sec

2020-09-30 12:00:55

*Platform: ROCKCHIP

Chip: RK3288

OS: Android7.1.2

Kernel: 4.4.143**

有兩種方法可將裝置網速設定為10Mbits/sec ;
一.不改程式碼 通過ethtool工具將速度設定為10Mbits/sec;
二.改程式碼,將其自動協商欄位置為0,一般預設是開啟自動協商。

方法一:通過ethtool工具

步驟如下: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工具檢視裝置的 吞吐量
在這裡插入圖片描述