Enterprise AV Home WiFi Mobile Wifi Support Shop Deals

The CPLD code upgrade procedure for the XSM4396S is complex.  If you do not feel comfortable with the procedure, contact NETGEAR support.

The upgrade procedure requires the following files:

Note: Your XSM4396S must have firmware version 12.0.4.8 or later.  If your XSM4396S has an older firmware version, contact NETGEAR support.

To upgrade the CPLD code:

  1. Copy the required files to a FAT32-formatted USB flash drive.
  2. Plug the USB flash drive into the USB port on the XSM4396S back panel.

  1. Connect to the switch using the serial console port or telnet.
    Note: If you are connected to the switch using telnet, enter:
    debug console
  2. To verify that the required files are in the USB flash drive, enter:
    show usb device
  3. Run the following CLI commands:
    Caution: Do not power cycle the switch during the update. The update may take 10 minutes or more. See below for the expected output.
    1. dev cpldUpdate(/media/usb-storage/XSM4396_M_006_0718.jbc,0);
    2. dev cpldUpdate(/media/usb-storage/XSM4396_S_006_0629.jbc,1);
  4. After the CLI commands finish, unplug all power cables from the XSM4396S.
    The switch powers off.
  5. After the LEDs on the power supply units turn off, plug in all power cables.
    The switch powers on and the update is completed.

 

Expected Output

(M4300-96X) #dev cpldUpdate(/media/usb-storage/XSM4396_S_006_0306.jbc,1);

Devshell output (Session #0): cpldUpdate(/media/usb-storage/XSM4396_ S_006_0629.jbc,1);

serveWDflag = 0

cpldWriteEnable MISC REG val: 0x0, wrc:1, rrc:1

cpldUpdateInit: Selected CPLD 2 of M4396S for programming.

cpldUpdate: Attempting CPLD update with jbcplayer. file: /media/usb-storage/XSM4396_ S_006_0629.jbc, size: 56606

PROGRAM

DO_BLANK_CHECK

DO_VERIFY

DO_SECURE

DO_DISABLE_ISP_CLAMP

DO_BYPASS_CFM

DO_BYPASS_UFM

DO_REAL_TIME_ISP

DO_FORCE_SRAM_DOWNLOAD

DO_READ_USERCODE

DO_INIT_CONFIGURATION

Unrecognized device

cpldUpdate: jbcplayer execution completed.

cpldWriteDisable MISC REG val: 0x0, wrc:1, rrc:1

cpldUpdate: CPLD update exited with rc 0 (Success)

value = 0 = 0x0

arg 1: /media/usb-storage/XSM4396_ S_006_0629.jbc

arg 3: ;

 

(M4300-96X) #dev cpldUpdate(/media/usb-storage/XSM4396_ M_006_0718.jbc,0);

Devshell output (Session #0): cpldUpdate(/media/usb-storage/XSM4396_ M_006_0718.jbc,0);

cpldUpdateInit: Selected CPLD 1 of M4348S for programming.

cpldUpdate: Attempting CPLD update with jbcplayer. file: /media/usb-storage/XSM4396_ M_006_0718.jbc, size: 85550

cpldWriteEnable MISC REG val: 0x3

PROGRAM

DO_BLANK_CHECK

DO_VERIFY

DO_DISABLE_ISP_CLAMP

DO_BYPASS_CFM

DO_BYPASS_UFM

DO_REAL_TIME_ISP

DO_FORCE_SRAM_DOWNLOAD

DO_BYPASS_ICB

DO_BYPASS_CFM1

DO_READ_USERCODE

DO_INIT_CONFIGURATION

Device #1 IDCODE is 031810DD

full-chip erasing Max 10 FPGA device(s) ...

programming Max 10 FPGA CFM0 block at sector 5 ...

programming Max 10 FPGA UFM block at sector 1 ...

programming Max 10 FPGA UFM block at sector 2 ...

verifying Max 10 FPGA CFM0 block at sector 5 ...

verifying Max 10 FPGA UFM block at sector 1 ...

verifying Max 10 FPGA UFM block at sector 2 ...

programming Max 10 FPGA DSM block ...

DONE

cpldUpdate: jbcplayer execution completed.

cpldWriteDisable MISC REG val: 0x1

cpldUpdate: CPLD update exited with rc 0 (Success)

value = 0 = 0x0

arg 1: /media/usb-storage/XSM4396_ M_006_0718.jbc

arg 3: ;

Last Updated:10/17/2025 | Article ID: 000060422

Recently Viewed Articles

    Our team is here to help!

    Phone
    Chat
    Email