ETHTOOL_GMODULEINFO request success indicates that SFP cage is present. Failure of ETHTOOL_GMODULEEEPROM is most likely because SFP module is not plugged in. Add an indication to the user as to what might be the reason for the failure.
Signed-off-by: Baruch Siach <bar...@tkos.co.il> --- v2: Limit message to likely errno values (Andrew Lunn) --- ethtool.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ethtool.c b/ethtool.c index 1d9067e774af..63b3a095eded 100644 --- a/ethtool.c +++ b/ethtool.c @@ -4855,7 +4855,11 @@ static int do_getmodule(struct cmd_context *ctx) eeprom->offset = geeprom_offset; err = send_ioctl(ctx, eeprom); if (err < 0) { + int saved_errno = errno; perror("Cannot get Module EEPROM data"); + if (saved_errno == ENODEV || saved_errno == EIO || + saved_errno == ENXIO) + fprintf(stderr, "SFP module not in cage?\n"); free(eeprom); return 1; } -- 2.29.2