Android使用ethtool工具查詢/設定乙太網網絡卡狀態
阿新 • • 發佈:2019-02-19
一、編譯ethtool工具
Android命令列中不含ethtool工具,所以需要自己編譯。
1、下載最新原始碼:ethtool-4.5.tar.xz
原始碼地址:
2、解壓
把ethtool-4.5.tar.xz拷貝到Android/external/目錄,解壓:
tar xvf ethtool-4.5.tar.xz
3、編譯
編寫Android.mk檔案:
LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) define all-c-files-under $(patsubst ./%,%, $(shell find $(LOCAL_PATH) -name "platform" -prune -o -name "*.c" -and -not -name ".*")) endef define all-subdir-c-files $(call all-c-files-under,.) endef C_FILES := $(call all-subdir-c-files) LOCAL_SRC_FILES := $(C_FILES:$(LOCAL_PATH)/%=%) LOCAL_SHARED_LIBRARIES := \ libcutils\ libutils\ libcrypto LOCAL_C_INCLUDES := $(KERNEL_HEADERS) LOCAL_CFLAGS := -DANDROID_CHANGES -DCHAPMS=1 -DMPPE=1 -Iexternal/openssl/include LOCAL_MODULE :=ethtool LOCAL_MODULE_TAGS := optional include $(BUILD_EXECUTABLE)
執行mm命令即可。
Install: out/target/product/ProductName/system/bin/ethtool
二、ethtool工具基本使用
查詢乙太網卡當前工作狀態:ethtool eth0
設定乙太網卡工作狀態為半雙工100M:ethtool -s eth0 speed 100 duplex half
三、編譯過程中的問題
編譯過程中肯定會報錯,不過都是些簡單問題,很好解決。
其中報錯誤的檔案有test-cmdline.c、test-common.c、test-features.c,既然是test工具,不編它們即可。