Knowledge Search


×
 

[EX4600] Interface configured with 100MB speed does not come up after reboot

  [KB31844] Show Article Properties


Summary:

After rebooting an EX4600 device, the interface configured with 100MB speed does not come up. This article explains the reason and suggests a workaround.

Note: This issue is not seen in Junos OS releases 14.1X53-D35, 14.1X53-D40, 15.1R3, and 16.1R1, and is not applicable to other EX devices.

Symptoms:

After rebooting an EX4600 device, the interface configured with 100MB speed does not come up.

Cause:

The EX4600 device has the following SFP options:

  • 1GbE SFP: 24(40) (with 10GbE expansion modules)

  • 10GbE SFP+: 24(40/72) (with 10GbE expansion modules/ fixed 40GbE ports using breakout cables)

  • 40GbE QSFP+: 4(12) (with expansion modules) 

To configure an interface with a speed of 100MB, auto-negotiation is not enough. The interface speed must be manually configured.

Even with interface speed configured, there are a few software images that are sensitive when it comes to a reboot, for example: Junos OS releases 14.1X53-D43, 14.1X53-D42, and 15.1R6.

Solution:

The workaround is to delete the speed configuration and reconfigure it. This can be achieved automatically via the following script that will be executed upon reboot:

root@ex4600-r2008:RE:0% cat modifyspeed.sh
#!bin/sh

logger "STARTING sleep 120s"
sleep 120
logger "AFTER 120s"
sleep 120
logger "AFTER 240"
/usr/sbin/cli -c "configure;delete interfaces ge-0/0/4 speed;commit"
sleep 20
/usr/sbin/cli -c "configure;set interfaces ge-0/0/4 speed 100m;commit"

Sleep timers have been added to allow an interface to be detected after the device comes up. The script should be stored under /var/root.

To make the script run upon reboot:

root@ex4600:RE:0% crontab -l 
@reboot /bin/sh /root/modifyspeed.sh

While waiting to pass the sleep interval, we can check that the script is still running by using the ps aux | grep sh command.

When the script finishes, it no longer runs.

Modification History:

2019-09-27: Sentence about checking that the script is still running by using the ps aux | grep sh command while waiting to pass the sleep interval added to the Solution section

Related Links: