2015年4月5日 星期日

用 ethtool 查詢網路卡的規格

通常使用者對網路卡使用時的狀態(如:是否連線中?忙碌程度?)是比較有興趣的,若是想知道目前網路卡運作時的狀態時,從桌面上方的工具列之右側,在『』上按【滑鼠右鍵】會跳出一個下拉選單,點選《連線資訊》可以得知。
但若想要判斷:驅動程式是否能正確設定網路卡?網路效能是否完全發揮?光靠這些資訊是不足夠的,需要能查詢網路卡的規格,才可以正確得知答案。

  Linux 系統有個強大的工具程式 ethtool,可以提供非常多有關網路卡的資訊查詢,包含:驅動程式、網路卡的硬體設定等。
[SiB@Core-i7 ~]$ ethtool enp5s0
Settings for enp5s0:
     Supported ports:  [ TP MII ]
    Supported link modes: 10baseT/Half  10baseT/Full
100baseT/Half  100baseT/Full
1000baseT/Half  1000baseT/Full
    Supported pause frame use:  No
    Supports auto-negotiation:  Yes
   Advertised link modes:  10baseT/Half  10baseT/Full
100baseT/Half  100baseT/Full
1000baseT/Half  1000baseT/Full
    Advertised pause frame use:  Symmetric Receive-only
    Advertised auto-negotiation:  Yes
   Link partner advertised link modes: 10baseT/Half  10baseT/Full
100baseT/Half  100baseT/Full
    Link partner advertised pause frame use:  Symmetric
    Link partner advertised auto-negotiation:  Yes
    Speed:  100Mb/s
    Duplex:  Full
    Port:  MII
    PHYAD:  0
    Transceiver:  internal
    Auto-negotiation:  on
Cannot get wake-on-lan settings:  Operation not permitted
   Current message level: 0x00000033 (51)
drv probe ifdown ifup
    Link detected:  yes
其中,enp5s0 是網路卡編號,可利用 ifconfig 查詢得之。其它的參數摘要說明於下表:
參  數說    明
Supported link modes網路卡的訊號規格,10~1000:網路頻寬,base:未調變,T:雙絞線,Half:半雙工(雙向不同時),Full:全雙工(雙向同時)。
Supports auto-negotiation網路卡轉輸頻寬會與集線器自動協商。
Advertised link modes網路卡與集線器協商時,網路卡送出之可用頻寬選項。
Link partner advertised link modes網路卡與集線器協商時,由集線器傳入的可用頻寬選項。
Speed協商後使用之網路頻寬。
Duplex協商後使用之網路單雙工模式。
對照網路卡規格與目前網路的狀態資訊,就可以判斷驅動程式的設定是否正常。

已測試版本:

  • Fedora 21

參考資料:

沒有留言:

張貼留言

感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)