บทความนี้ขอแนะนำการใช้คำสั่ง ethtool บนลีนุกซ์เพื่อตรวจสอบสถานะของการ์ดเน็ตเวิร์กว่าเป็นอย่างไร เช่น สถานะของลิ้งก์ที่เชื่อมต่ออยู่ว่า Up หรือ Down ความเร็ว (speed) ของการเชื่อมต่อเท่าไร
ลีนุกซ์ส่วนใหญ่มีคำสั่ง ethtool ติดตั้งมาอยู่แล้ว ไม่จะเป็นต้องติดตั้งเพิ่มแต่อย่างไร
ตัวอย่างเวอร์ชั่นของ ethtool ที่ติดตั้งมากับ Fedora 9
[root@server ~]# rpm -q ethtool ethtool-6-1.fc9.x86_64
วิธีการใช้คำสั่ง ethtool
การใช้คำสั่ง ethtool ต้องระบุการ์ดเน็ตเวิร์กที่ต้องการตรวจสอบ เช่นตัวอย่างด้านล่างเป็นการตรวจสอบสถานะของการ์ด eth0
[root@server ~]# ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on Supports Wake-on: g Wake-on: g Current message level: 0x000000ff (255) Link detected: yes
ผลลัพธ์ที่ได้แสดงถึงสถานะของการ์ดเน็ตเวิร์กคร่าวๆ ดังนี้
- Link detected: yes สถานะการเชื่อมต่อ Up
- Speed: 1000Mb/s เชื่อมต่อที่ความเร็ว 1000Mb/s หรือ Gigabit
- Duplex: Full สามารถรับส่งข้อความได้แบบ Full Duplex
อีกตัวอย่างหนี่ง เป็นการตรวจสอบการ์ดเน็ตเวิร์กที่สถานะการเชื่อมต่อมีปัญหาหรือ Down
[root@server ~]# ethtool eth1 Settings for eth1: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Advertised auto-negotiation: Yes Speed: Unknown! (0) Duplex: Half Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on Supports Wake-on: g Wake-on: g Current message level: 0x000000ff (255) Link detected: no
ผลลัพธ์ที่ได้คือ
- Link detected: no สถานะการเชื่อมต่อ Down
เยี่ยมเลยครับ หาอยู่นานละ