Linux有个很好用的网卡配置工具,叫ethtool。然而,Android系统并没有默认安装该工具,因此需要自行手动编译和安装。以下记录编译和安装步骤。
一、下载
1、下载ethtool源代码:git clone git://git.kernel.org/pub/scm/network/ethtool/ethtool.git
2、解压
tar -xzf ethtool-master.tar.gz
cd ethtool-master
二、编译
1、执行脚本:
./autogen.sh
2、配置
./configure --host=arm-linux CC=/opt/aarch64-linux-android/bin/aarch64-linux-android-gcc LDFLAGS=-static
注意:标红的部分请换成你自己的交叉编译链路径。
3、编译
make
在当前文件夹就能生成ethtool工具
三、执行
1、将编译出来的可执行文件ethtool 拷贝到根文件系统的/bin目录。 进入adb shell后可以执行。注意:如果ethtool没有放到环境变量定义的目录中,需要强制执行,例如:./ethtool ethX
2、基本使用命令:
ethtool ethX //查询ethx网口基本设置,其中 x 是对应网卡的编号,如eth0、eth1等等
ethtool –h //显示ethtool的命令帮助(help)
ethtool –i ethX //查询ethX网口的相关信息
ethtool –d ethX //查询ethX网口注册性信息
ethtool –r ethX //重置ethX网口到自适应模式
ethtool –S ethX //查询ethX网口收发包统计
ethtool –s ethX [speed 10|100|1000] [duplex half|full] [autoneg on|off] //设置网口速率10/100/1000M、设置网口半/全双工、设置网口是否自协商
3、 TCP包卸载和包聚合相关的配置
(1)关闭gso, gro (linux pc和安卓都支持)
ethtool --offload ethX gso off tso off gro off
(2)关闭lro (linux pc支持,安卓不支持)
ethtool -K ethx sg off
(3)关闭tso (linux pc支持,安卓不支持)
ethtool --offload ethX gso off tso off gro off
(4)查看网卡状态(看是否设置成功)
ethtool -k ethX
4、网卡点灯(linux pc支持,安卓不支持)
ethtool --identify ethX 20
这个功能实现了让网卡ethX的灯点亮30秒。这个功能可以用于由于主板布线差异而导致的网卡乱序问题。
一、下载
1、下载ethtool源代码:git clone git://git.kernel.org/pub/scm/network/ethtool/ethtool.git
2、解压
tar -xzf ethtool-master.tar.gz
cd ethtool-master
二、编译
1、执行脚本:
./autogen.sh
2、配置
./configure --host=arm-linux CC=/opt/aarch64-linux-android/bin/aarch64-linux-android-gcc LDFLAGS=-static
注意:标红的部分请换成你自己的交叉编译链路径。
3、编译
make
在当前文件夹就能生成ethtool工具
三、执行
1、将编译出来的可执行文件ethtool 拷贝到根文件系统的/bin目录。 进入adb shell后可以执行。注意:如果ethtool没有放到环境变量定义的目录中,需要强制执行,例如:./ethtool ethX
2、基本使用命令:
ethtool ethX //查询ethx网口基本设置,其中 x 是对应网卡的编号,如eth0、eth1等等
ethtool –h //显示ethtool的命令帮助(help)
ethtool –i ethX //查询ethX网口的相关信息
ethtool –d ethX //查询ethX网口注册性信息
ethtool –r ethX //重置ethX网口到自适应模式
ethtool –S ethX //查询ethX网口收发包统计
ethtool –s ethX [speed 10|100|1000] [duplex half|full] [autoneg on|off] //设置网口速率10/100/1000M、设置网口半/全双工、设置网口是否自协商
3、 TCP包卸载和包聚合相关的配置
(1)关闭gso, gro (linux pc和安卓都支持)
ethtool --offload ethX gso off tso off gro off
(2)关闭lro (linux pc支持,安卓不支持)
ethtool -K ethx sg off
(3)关闭tso (linux pc支持,安卓不支持)
ethtool --offload ethX gso off tso off gro off
(4)查看网卡状态(看是否设置成功)
ethtool -k ethX
4、网卡点灯(linux pc支持,安卓不支持)
ethtool --identify ethX 20
这个功能实现了让网卡ethX的灯点亮30秒。这个功能可以用于由于主板布线差异而导致的网卡乱序问题。