EX4400 Junos Software & Firmware Upgrade Procedure
Table of Contents
Reference commands for upgrading Junos OS and BIOS/CPLD firmware on Juniper EX4400 switches, including verification steps and Virtual Chassis (VC) considerations.
1. Pre-Upgrade Checks #
Check current Junos version #
show version
Check current firmware (BIOS, CPLD, loader) versions #
show chassis firmware
Example output:
Part Type Version
FPC 0 loader FreeBSD EFI loader 2.0
BIOS CDEN_P_EX1_00.15.01.00
System CPLD 0.f
CPU CPLD 1.0
Check current vs. available firmware versions #
show system firmware
This shows Current and Available versions side by side per component, and flags whether a newer firmware package is already staged.
Check Virtual Chassis member status (if applicable) #
show virtual-chassis status
show virtual-chassis vc-port
Check Junos version per VC member #
show version member <member-id>
2. Installing Junos OS #
Copy/transfer the install package to the switch #
file copy <source> /var/tmp/
(or use request system software validate workflow / SCP as preferred)
Install with immediate reboot (standard, single-step upgrade) #
request system software add /var/tmp/<junos-package>.tgz reboot
Install WITHOUT reboot (use when pairing with a firmware/BIOS upgrade to combine into one reboot cycle) #
request system software add /var/tmp/<junos-package>.tgz no-reboot
Note: When both a Junos upgrade and a BIOS/firmware upgrade are pending, install Junos first with
no-reboot, then install/upgrade firmware (below) withrebootso both take effect in a single combined reboot.
Manually reboot (if installed with no-reboot) #
request system reboot
3. Verifying Junos Installation (Post-Reboot) #
Confirm running version #
show version
Confirm no lingering/duplicate firmware package installed #
show version | match jfirmware
4. Installing BIOS / CPLD / PoE / eMMC Firmware (jfirmware package) #
Firmware for EX4400 (BIOS, CPU CPLD, System CPLD, PoE, eMMC) ships bundled in a single jfirmware package, downloaded from the same EX4400 downloads page as Junos OS itself (look for the jfirmware entry, separate from the Junos CLI install image).
Stage the firmware package #
request system software add /var/tmp/jfirmware-ex.tgz
Upgrade BIOS #
request system firmware upgrade jfirmware bios
Check BIOS upgrade progress #
request system firmware upgrade jfirmware bios progress
Upgrade CPU CPLD #
request system firmware upgrade jfirmware cpld cpu
Check CPU CPLD upgrade progress #
request system firmware upgrade jfirmware cpld cpu progress
Reboot (or power cycle) to apply firmware changes #
request system reboot
Some firmware types (e.g. CPU CPLD) recommend a full system halt + power cycle rather than a soft reboot — confirm against the specific firmware release notes.
request system halt
5. Verifying Firmware Installation (Post-Reboot) #
Confirm updated BIOS version #
show chassis firmware
Example output after successful BIOS upgrade:
Part Type Version
FPC 0 loader FreeBSD EFI loader 2.0
BIOS CDEN_P_EX1_00.20.01.00 <-- updated
System CPLD 1.0
CPU CPLD 1.1
Confirm updated CPLD version #
show system firmware
Confirm System CPLD version required for specific line cards (example) #
show chassis firmware | match CPLD
e.g. System CPLD should read 1.0 to support EX4400-EM-1C, or 0.6 for EX4400-24X — verify against current platform/release notes requirements.
6. Virtual Chassis (VC) Specific Steps & Troubleshooting #
Confirm VC port mode (if VCPs were previously converted to network ports) #
show virtual-chassis mode
Revert network ports back to VC ports (if needed) and reboot #
request virtual-chassis mode network-port disable reboot
Post-reboot: verify all VC members rejoined #
show virtual-chassis status
Post-reboot: verify VC ports are active #
show virtual-chassis vc-port
If a member shows Inactive or fails to rejoin #
show version member <member-id>
show chassis firmware
show log messages | last 100
Check specifically for:
- Junos version mismatch between members (most common cause of a member failing to join/stay active)
- VCCP/vccpd errors or timeouts in the log
- VC port link state (cabling / port-mode reverted)
Reference: Juniper KB21064 – “Troubleshoot Virtual Chassis” resolution guide, including the article on fixing a VC member stuck in “Inactive” status.
7. Recommended Upgrade Sequence Summary #
show version/show chassis firmware/show system firmware— baseline checkrequest system software add <junos-package>.tgz no-reboot— stage Junos (no reboot yet)request system software add jfirmware-ex.tgz— stage firmware packagerequest system firmware upgrade jfirmware bios(+progressto monitor)request system firmware upgrade jfirmware cpld cpu(+progressto monitor), if applicablerequest system reboot— single combined reboot for Junos + firmware- Post-reboot verification:
show version,show chassis firmware,show system firmware - If in a VC:
show virtual-chassis status,show virtual-chassis vc-port, confirm all members rejoined on matching Junos version
Notes / Caveats #
- Always check the specific release’s Software Release Notification (SRN) / release notes for known issues before upgrading — some EX4400 S-releases have had platform-specific bugs (e.g. 25G optic module issues, recalled builds) that may require a different target version than the newest available.
- If using Juniper Mist (Wired Assurance), the Mist UI can automatically flag and, in some VC configurations, auto-upgrade a mismatched linecard member — check the Switch List / Switch Detail page for upgrade warnings before manual intervention.
- In a VC, ensure all members are upgraded to the same Junos version and firmware level where possible — mismatches are the most common cause of a member failing to properly rejoin after reboot.