This discussion has been locked. The information referenced herein may be inaccurate due to age, software updates, or external references.
You can no longer post new replies to this discussion. If you have a similar question you can start a new discussion in this forum.

DELL N-Series Firmware Update

Hi,

I am trying to upgrade Firmwares via NCM.

But the update script is stucking because NCM doesn't send a Y for confirm the copy command.

I tried different commands in my upgrade template..

For example: copy ${TransferProtocol}://${StorageAddress}/${NewImageName} backup${CRLF}y

Here is the Log:

[bf0f944d] [10.29.2018 16:22:11.024] mPrompt is : <Dell#>

[bf0f944d] [10.29.2018 16:22:11.039] -->opy t10.130.3.100/N3000AdvLitev6.5.2.15.stk backup

[bf0f944d] [10.29.2018 16:22:11.039] -->

[bf0f944d] [10.29.2018 16:22:11.039] -->

[bf0f944d] [10.29.2018 16:22:11.039] -->Transfer Mode.................................. TFTP  

[bf0f944d] [10.29.2018 16:22:11.039] -->Server IP Address.............................. 10.130.3.100

[bf0f944d] [10.29.2018 16:22:11.039] -->Source File Path............................... ./

[bf0f944d] [10.29.2018 16:22:11.055] -->Source Filename................................ N3000AdvLitev6.5.2.15.stk

[bf0f944d] [10.29.2018 16:22:11.055] -->Data Type...................................... Code            

[bf0f944d] [10.29.2018 16:22:11.055] -->Destination Filename........................... backup

[bf0f944d] [10.29.2018 16:22:11.055] -->

[bf0f944d] [10.29.2018 16:22:11.055] -->Management access will be blocked for the duration of the transfer

[bf0f944d] [10.29.2018 16:22:11.070] -->Are you sure you want to start? (y/n) 

[bf0f944d] [10.29.2018 16:22:11.070] Echo not detected yet. Push back data to echo buffer, EchoBuffer = <<<copy t10.130.3.100/N3000AdvLitev6.5.2.15.stk backup

Transfer Mode.................................. TFTP 

Server IP Address.............................. 10.130.3.100

Source File Path............................... ./

Source Filename................................ N3000AdvLitev6.5.2.15.stk

Data Type...................................... Code           

Destination Filename........................... backup

Management access will be blocked for the duration of the transfer

>>>

[bf0f944d] [10.29.2018 16:22:11.070] Start detecting command echo in echo buffer...

[bf0f944d] [10.29.2018 16:22:11.070] Echo is detected, EchoBuffer = <<<copy t10.130.3.100/N3000AdvLitev6.5.2.15.stk backup

Transfer Mode.................................. TFTP 

Server IP Address.............................. 10.130.3.100

Source File Path............................... ./

Source Filename................................ N3000AdvLitev6.5.2.15.stk

Data Type...................................... Code           

Destination Filename........................... backup

Management access will be blocked for the duration of the transfer

>>>

[bf0f944d] [10.29.2018 16:22:11.070] RemovePrompt = prompt not found via Regex

[bf0f944d] [10.29.2018 16:22:11.070] Echo and prompt are removed if they exist, out buffer = <<<Transfer Mode.................................. TFTP 

Server IP Address.............................. 10.130.3.100

Source File Path............................... ./

Source Filename................................ N3000AdvLitev6.5.2.15.stk

Data Type...................................... Code           

Destination Filename........................... backup

Management access will be blocked for the duration of the transfer

Are you sure you want to start? (y/n) >>>

[bf0f944d] [10.29.2018 16:22:11.086] Start check prompt for menu-based device

[bf0f944d] [10.29.2018 16:22:11.086] Process line = <Transfer Mode.................................. TFTP  >

[bf0f944d] [10.29.2018 16:22:11.086] Fuzzy match detector start detecting prompt. String1=transfermode..................................tftp String2=dell#

[bf0f944d] [10.29.2018 16:22:11.102] Save Command output: Transfer Mode.................................. TFTP  

[bf0f944d] [10.29.2018 16:22:11.102] Process line = <Server IP Address.............................. 10.130.3.100>

[bf0f944d] [10.29.2018 16:22:11.102] Fuzzy match detector start detecting prompt. String1=serveripaddress..............................10.130.3.100 String2=dell#

[bf0f944d] [10.29.2018 16:22:11.102] Save Command output: Server IP Address.............................. 10.130.3.100

[bf0f944d] [10.29.2018 16:22:11.102] Process line = <Source File Path............................... ./>

[bf0f944d] [10.29.2018 16:22:11.102] Fuzzy match detector start detecting prompt. String1=sourcefilepath................................/ String2=dell#

[bf0f944d] [10.29.2018 16:22:11.117] Save Command output: Source File Path............................... ./

[bf0f944d] [10.29.2018 16:22:11.117] Process line = <Source Filename................................ N3000AdvLitev6.5.2.15.stk>

[bf0f944d] [10.29.2018 16:22:11.117] Fuzzy match detector start detecting prompt. String1=sourcefilename................................n3000advlitev6.5.2.15.stk String2=dell#

[bf0f944d] [10.29.2018 16:22:11.117] Save Command output: Source Filename................................ N3000AdvLitev6.5.2.15.stk

[bf0f944d] [10.29.2018 16:22:11.117] Process line = <Data Type...................................... Code            >

[bf0f944d] [10.29.2018 16:22:11.117] Fuzzy match detector start detecting prompt. String1=datatype......................................code String2=dell#

[bf0f944d] [10.29.2018 16:22:11.117] Save Command output: Data Type...................................... Code            

[bf0f944d] [10.29.2018 16:22:11.133] Process line = <Destination Filename........................... backup>

[bf0f944d] [10.29.2018 16:22:11.133] Fuzzy match detector start detecting prompt. String1=destinationfilename...........................backup String2=dell#

[bf0f944d] [10.29.2018 16:22:11.133] Save Command output: Destination Filename........................... backup

[bf0f944d] [10.29.2018 16:22:11.133] Process line = <>

[bf0f944d] [10.29.2018 16:22:11.133] Process line = <Management access will be blocked for the duration of the transfer>

[bf0f944d] [10.29.2018 16:22:11.133] Fuzzy match detector start detecting prompt. String1=managementaccesswillbeblockedforthedurationofthetransfer String2=dell#

[bf0f944d] [10.29.2018 16:22:11.149] Save Command output: Management access will be blocked for the duration of the transfer

[bf0f944d] [10.29.2018 16:22:11.149] Process line = <Are you sure you want to start? (y/n) >

[bf0f944d] [10.29.2018 16:22:11.149] Fuzzy match detector start detecting prompt. String1=areyousureyouwanttostart?(y/n) String2=dell#

[bf0f944d] [10.29.2018 16:22:11.149] Removed data in (...) Output= areyousureyouwanttostart?

[bf0f944d] [10.29.2018 16:22:11.149] Pushing back: <Are you sure you want to start? (y/n) >

[bf0f944d] [10.29.2018 16:22:11.149] mPrompt is : <Dell#>

[bf0f944d] [10.29.2018 16:22:12.633] TimerTick: mstrData=<Are you sure you want to start? (y/n) > State=Connected

[bf0f944d] [10.29.2018 16:22:12.633] Pending Disconnect = False

[bf0f944d] [10.29.2018 16:22:12.633] Fuzzy match detector start detecting prompt. String1=areyousureyouwanttostart?(y/n) String2=dell#

[bf0f944d] [10.29.2018 16:22:12.633] Removed data in (...) Output= areyousureyouwanttostart?

[bf0f944d] [10.29.2018 16:22:12.633] TimerTick: Just tick-tockin away ...

[bf0f944d] [10.29.2018 16:22:14.633] TimerTick: mstrData=<Are you sure you want to start? (y/n) > State=Connected

[bf0f944d] [10.29.2018 16:22:14.633] Pending Disconnect = False

[bf0f944d] [10.29.2018 16:22:14.633] Pre-Commands: Waiting more than 3 seconds for response start sending pre-command if any...

[bf0f944d] [10.29.2018 16:22:14.633] Fuzzy match detector start detecting prompt. String1=areyousureyouwanttostart?(y/n) String2=dell#

[bf0f944d] [10.29.2018 16:22:14.633] Removed data in (...) Output= areyousureyouwanttostart?

[bf0f944d] [10.29.2018 16:22:14.633] TimerTick: Just tick-tockin away ...

[bf0f944d] [10.29.2018 16:22:16.633] TimerTick: mstrData=<Are you sure you want to start? (y/n) > State=Connected

[bf0f944d] [10.29.2018 16:22:16.633] Pending Disconnect = False

[bf0f944d] [10.29.2018 16:22:16.633] Pre-Commands: Waiting more than 3 seconds for response start sending pre-command if any...

[bf0f944d] [10.29.2018 16:22:16.633] Fuzzy match detector start detecting prompt. String1=areyousureyouwanttostart?(y/n) String2=dell#

[bf0f944d] [10.29.2018 16:22:16.633] Removed data in (...) Output= areyousureyouwanttostart?

[bf0f944d] [10.29.2018 16:22:16.633] TimerTick: Just tick-tockin away ...

[bf0f944d] [10.29.2018 16:22:18.649] TimerTick: mstrData=<Are you sure you want to start? (y/n) > State=Connected

[bf0f944d] [10.29.2018 16:22:18.649] Pending Disconnect = False

[bf0f944d] [10.29.2018 16:22:18.649] Pre-Commands: Waiting more than 3 seconds for response start sending pre-command if any...

[bf0f944d] [10.29.2018 16:22:18.649] Fuzzy match detector start detecting prompt. String1=areyousureyouwanttostart?(y/n) String2=dell#

[bf0f944d] [10.29.2018 16:22:18.649] Removed data in (...) Output= areyousureyouwanttostart?

[bf0f944d] [10.29.2018 16:22:18.649] TimerTick: Just tick-tockin away ...

[bf0f944d] [10.29.2018 16:22:20.649] TimerTick: mstrData=<Are you sure you want to start? (y/n) > State=Connected

[bf0f944d] [10.29.2018 16:22:20.649] Pending Disconnect = False

[bf0f944d] [10.29.2018 16:22:20.649] Pre-Commands: Waiting more than 3 seconds for response start sending pre-command if any...

[bf0f944d] [10.29.2018 16:22:20.649] Fuzzy match detector start detecting prompt. String1=areyousureyouwanttostart?(y/n) String2=dell#

[bf0f944d] [10.29.2018 16:22:20.649] Removed data in (...) Output= areyousureyouwanttostart?

[bf0f944d] [10.29.2018 16:22:20.649] TimerTick: Just tick-tockin away ...

[bf0f944d] [10.29.2018 16:22:22.680] TimerTick: mstrData=<Are you sure you want to start? (y/n) > State=Connected

[bf0f944d] [10.29.2018 16:22:22.680] Pending Disconnect = False

[bf0f944d] [10.29.2018 16:22:22.680] Pre-Commands: Waiting more than 3 seconds for response start sending pre-command if any...

[bf0f944d] [10.29.2018 16:22:22.680] Fuzzy match detector start detecting prompt. String1=areyousureyouwanttostart?(y/n) String2=dell#

[bf0f944d] [10.29.2018 16:22:22.680] Removed data in (...) Output= areyousureyouwanttostart?

  • Hi,

    If I run the copy command via "Conifguration Management" => "Script Template" the command is working as expected...

    copy tftp://10.130.3.100/FW-Image.stk backup${CRLF}y

    The Copy command is executed and the process is command is confirmed with a single Y

  • bias Were you originally using the Firmware Upgrade function prior to using the Script? If so, Dell is not currently supported via Firmware Upgrade.

  • Hi,

    yes I tried the Firmware Upgrade tool in NCM.

    If I run the same command via Script Templates it's working as expected.

    The only problem is, that ${CRLF}y is not send, if I run the command via Firmware Upgrade tool.

    Is a Support for Dell Switches on your roadmap? For me it looks more like a bug, because via script template the command works.

    Otherwise I have to look for other solutions :/ It's sadly a must have feature for us.

    edit: you you have a compatibility map for NCM-Features??

  • Hi bias​,

    we got the same error on our Dell N3048E-ON Stacks.

    For now we do our updates like you mentioned with the scripts.

    jpetkevich​ it would be nice if this would work with the firmware update templates.

    Our current script content:

    write${CRLF}y

    copy tftp://SERVERADDRESS/N3000Advv6.5.3.36.stk active${CRLF}y

    The script results:

    09/04/2019 16:11:45 on IZ02-030-ACCESS (10.130.2.30) by koechr_admin

    write

    This operation may take few minutes.

    Management interfaces will not be available during this time.

    y

    Are ou sure ou want to save? (/n)

    copy tftp://SERVERADDRESS/N3000Advv6.5.3.36.stk active

    y

    Configuration Saved!

    coptftp://SERVERADDRESS/N3000Advv6.5.3.36.stk active

    Transfer Mode.................................. TFTP 

    Server IP Address.............................. SERVERADDRESS

    Source File Path............................... ./

    Source Filename................................ N3000Advv6.5.3.36.stk

    Data Type...................................... Code           

    Destination Filename........................... active

    Management access will be blocked for the duration of the transfer

    Are you sure you want to start? (y/n) y

    TFTP Code transfer starting...

    2497536 bytes transferred...

    5482496 bytes transferred...

    8507392 bytes transferred...

    11510784 bytes transferred...

    14499840 bytes transferred...

    17495040 bytes transferred...

    20488192 bytes transferred...

    23507968 bytes transferred...

    26513408 bytes transferred...

    29556736 bytes transferred...

    30073854 bytes transferred

    ___________________________________________________________________________

  • Team,

    Did everyone get this resolved?

  • Sadly not, solarwinds seems to be not interested in fixing that problem.

    • Via "Job" it's possible to upload Images
    • Via Firmware Update feature not, because the promt isn't detected and the custom promt seems not to work in firmware update feature

    It's just a small problem, I am sure that a dev could fix that within minutes ....

  • Hi,

    I started more investigation today and found a working solution.

    This is my Device Template for the N1100 Series with Firmware 6.6.3.8, it should also work for other switches from the N Series

    <Configuration-Management Device="" SystemOID="" AutoDetectType="BySystemOid">
      <Commands>
       <Command Name="PreCommand" Value="${CRLF}"/>
       <Command Name="PreCommand" Value="y" Delay="3" RegEx="Are you sure you want to start\? \(y\/n\)"/>
        <Command Name="RESET" Value="terminal length 0" />
        <Command Name="Reboot" Value="reload${CRLF}y${CRLF}y" />
        <Command Name="EnterConfigMode" Value="configure" />
        <Command Name="ExitConfigMode" Value="end" />
        <Command Name="Startup" Value="startup-config" />
        <Command Name="Running" Value="running-config" />
        <Command Name="DownloadConfig" Value="Show ${ConfigType}" />
        <Command Name="UploadConfig" Value="${EnterConfigMode}${CRLF}${ConfigText}${CRLF}${ExitConfigMode}" />
        <Command Name="DownloadConfigIndirect" Value="copy ${ConfigType} ${TransferProtocol}://${StorageAddress}/${StorageFilename}${CRLF}${CRLF}${CRLF}" />
        <Command Name="UploadConfigIndirect" Value="copy ${TransferProtocol}://${StorageAddress}/${StorageFilename}  ${ConfigType}${CRLF}${CRLF}" />
        <Command Name="DownloadConfigIndirectSCP" Value="copy ${ConfigType} ${TransferProtocol}://${SCPServerUserName}@${SCPStorageAddress}/${StorageFilename}${CRLF}${CRLF}${CRLF}${CRLF}${SCPServerPassword}" />
        <Command Name="UploadConfigIndirectSCP" Value="copy ${TransferProtocol}://${SCPServerUserName}@${SCPStorageAddress}/${StorageFilename}  ${ConfigType}${CRLF}${CRLF}${SCPServerPassword}" />
        <Command Name="EraseConfig" Value="write erase${CRLF}Y" />
        <Command Name="SaveConfig" Value="write${CRLF}y" />
        <Command Name="Version" Value="show version" />
        <Command Name="Disconnect" Value="exit" />
      </Commands>
    </Configuration-Management>

    The key is to add the following PreCommands:

    <Command Name="PreCommand" Value="${CRLF}"/>
    <Command Name="PreCommand" Value="y" Delay="3" RegEx="Are you sure you want to start\? \(y\/n\)"/>

    My Update command looks like this:

     copy ${TransferProtocol}://${StorageAddress}/${NewImageName} backup

    After finally testing this configuration I will try to upload my templates to THWACK

    Bias

  • Hi, any update on this thread?  do you have the template working for Firmware Upgrade feature? We are also using dell switches N-series.

  • Yes it’s working well. You can use the template I’ve posted above