The phytool allows setting the management phy for management port for speed, duplex auto negotiation, and Loopback; as well as reading the MAC and MAC EEPROM in the phy.
DellEmc Diag - PHY Tool version 1.1, x.xx.x.x-x build, 2022/05/20, Syntax: phytool <option> Show the help-text:= phytool --h (or) phytool -h Read the mac address of the interface:= phytool --read-mac (or) phytool -R Write the value to the specified offset:= phytool --write --offset=<offset> --val=<val> (or) phytool -w -o <offset> -V <val> Dump the eeprom contents:= phytool --eeprom-dump (or) phytool -x Dump the register contents:= phytool --reg-dump (or) phytool -d Phy loopback test:= phytool --lb-test[=no of packets] (or) phytool -l[=no of packets] Execute repeatedly command by count:= phytool --iteration=max/<count> [option1] [option2]... (or) phytool -I max/<count> [option1] [option2]... Set the interface with parameters:= phytool --set-intf --speed=<speed> --duplex=<mode> --autoneg (or) phytool -s -S <speed> -D <mode> -A Show the interface settings:= phytool --show-intf (or) phytool -a Usage:= -h, --h Show the help text -I, --iteration= Iteration command execution -R, --read-mac Read the MAC of the interface -w, --write Write operation -o, --offset Set the Offset -V, --val Value to be set -x, --eeprom-dump Dump the eeprom contents -d, --reg-dump Dump the register contents -l, --lb-test= Phy loopback test -s, --set-intf Set the interface with parameters -S, --speed= Speed -D, --duplex= Duplex mode -A, --autoneg= Auto-negotiation -a, --show-intf Show the interface settings
root@dellemc-diag-os:/etc/dn/diag# phytool --read-mac 34:17:eb:07:7c:00 root@dellemc-diag-os:/etc/dn/diag# phytool --eeprom-dump Offset Values ------ ------ 0x0000: 34 17 eb 07 7c 00 00 08 ff ff 05 10 ff ff ff ff 0x0010: 18 00 00 00 2f 40 41 1f 86 80 41 1f 86 80 80 ba 0x0020: ff ff ff ff 80 5c 47 00 00 00 40 00 00 4c ab 03 0x0030: 00 00 00 70 0e 1a 26 44 a3 07 42 1f 01 02 02 06 0x0040: 0c 00 47 21 00 00 ff ff ac 44 f6 00 44 1f 08 09 0x0050: 40 04 3c 00 00 00 04 14 00 00 00 00 00 10 ff ff 0x0060: 00 01 00 40 32 13 13 40 00 01 00 40 ff ff b0 03 0x0070: 00 01 00 40 00 01 00 40 d9 09 bc 03 ff ff b5 7e 0x0080: ff ff ff ff a5 0b 00 80 ff ff ff ff ff ff ff ff ..... root@dellemc-diag-os:/etc/dn/diag# phytool --reg-dump 0x00000: CTRL (Device control register) 0x08100241 Invert Loss-Of-Signal: no Receive flow control: enabled Transmit flow control: disabled VLAN mode: disabled Set link up: 1 D3COLD WakeUp capability advertisement: enabled Auto speed detect: disabled Speed select: 1000Mb/s Force speed: no Force duplex: no 0x00008: STATUS (Device status register) 0x00282383 Duplex: full Link up: link config Transmission: on DMA clock gating: disabled TBI mode: disabled Link speed: 1000Mb/s Bus type: PCI Express ... root@dellemc-diag-os:/etc/dn/diag# phytool --lb-test=100 TEST PASSED NOTE: The loopback test and set-intf will terminate the ethernet driver. You need to reboot to restart the driver cleanly. [1]+ Terminated setsid /bin/kni -c 0x3 -n 2 -- -p 1 --config="(0,0,1)" >> /dev/null root@dellemc-diag-os:~# phytool --set-intf --speed=1000 [2]+ Done dhclient -q eth0 root@dellemc-diag-os:~# ........................done Port 0 Link Up - speed 1000 Mbps - full-duplex root@dellemc-diag-os:~# root@dellemc-diag-os:~# phytool --show-intf Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supported pause frame use: Symmetric Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 3 Transceiver: internal Auto-negotiation: on MDI-X: off (auto) Supports Wake-on: pumbg Wake-on: g Current message level: 0x00000007 (7) drv probe link Link detected: yes