diff options
Diffstat (limited to 'scripts/vyatta-interfaces.pl')
-rwxr-xr-x | scripts/vyatta-interfaces.pl | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/scripts/vyatta-interfaces.pl b/scripts/vyatta-interfaces.pl index 90a4e0f9..8970790f 100755 --- a/scripts/vyatta-interfaces.pl +++ b/scripts/vyatta-interfaces.pl @@ -586,13 +586,14 @@ sub set_speed_duplex { } } - my @cmd = ('sudo', 'ethtool', '-s', $intf ); + my $cmd = "sudo /usr/sbin/ethtool -s $intf"; if ($nspeed eq 'auto') { - push @cmd, qw(autoneg on); + $cmd .= " autoneg on"; } else { - push @cmd, 'speed', $nspeed, 'duplex', $nduplex, 'autoneg', 'off'; + $cmd .= " speed $nspeed duplex $nduplex autoneg off"; } - exec @cmd; - die "Command failed: ", join(' ', @cmd); + # ignore errors since many devices don't allow setting speed/duplex + $cmd .= " 2>/dev/null"; + system ($cmd); } |