Linux Link Speed Advertise

Add the numbers up. Observe that:

  • 0x001 is 0b000000000001,
  • 0x002 is 0b000000000010,
  • 0x004 is 0b000000000100,

and so on, each of them represents one bit (flag) in some register, which stores whichever modes are enabled. You need to just enable all wanted bits.

In your case, 1000baseT Full, 100baseT Full and 100baseT Half would be 0x020 + 0x008 + 0x004 = 0x02c:

ethtool -s eth0 advertise 0x02c