Home > Support > Knowledge Base > Knowledge Base Article

Recovery procedure for Digi RF products



This article is an all-inclusive guide for recovering a Digi RF product that is in an unresponsive state.

Please click on the type of radio you are experiencing problems with to go to the appropriate section:


General troubleshooting

XStream/XCite
XTend
XBee (all versions except ZigBee)
ZigBee XBee (Series 2)

WARNING: Performing a recovery will restore the radio to a factory default state, all settings will be lost.


General Troubleshooting

Optimizing USB to Serial Port settings
Even when using a Digi branded interface board, it is still possible for a recovery or firmware flash to fail. This is usually because the standard FTDI drivers are not optimized for use with our radios. To ensure you have the most optimal configuration, you must adjust some settings on the driver. Please refer to the following guide on changing these options: Optimizing USB to Serial Port Settings

If you have a programmable XBee, contact Digi Support for troubleshooting.
The recovery procedure outlined in this article are for standard XBees and other Digi RF products. A programmable XBee has a secondary Freescale processor that takes priority over the module's UART and as a result has to be recovered over-the-air or while in bypass mode. The procedure for recovering a programmable XBee varies depending on the situation, and is best done over-the-phone with a technical support member.
The only way to reliably determine if you have a Programmable XBee is to check the part number. Programmable XBees have an additional "B" at the end of the part number. For example, the part number XBP24BZ7SITB003 would be a programmable ZigBee XBee.

A note regarding USB-to-Serial adapters:
When using an RS-232 interface board or PKG-R modem, there are some known compatibility issues with some brands of USB-to-Serial adapters. This incompatibility may cause the modem to appear to be bad and you will not be able to perform a recovery even if it was working earlier. RS-232 adapters are built with a variety of tolerances and cheaply made ones can cause a recovery to fail.

For example: if a USB-to-Serial adapter has a ±5% discrepancy on the baud rate it operates at, then at 9600 baud, it could be 480 baud off target. At low speeds this is well within what the radio can tolerate and it will function normally. To reflash the radio, X-CTU has to communicate at 38400 baud, a ±5% discrepancy at this speed can be 1920 baud off target, which is enough to cause loss of data during a firmware flash and will cause the radio to be unresponsive.

We do not have a list of known-good adapters, usually ones that utilize an FTDI Chip for the USB-to-Serial conversion have the highest chance of success, Trendnet branded adapters also seems to have a high success rate. If you are using a USB-to-Serial adapter and the recovery process fails, you will want to try a different brand of adapter or, preferably, use a computer with a physical serial port (COM1.)

 

What causes the Action Required box to appear in X-CTU?

  1. The most common reason is because the Digi radio is set to a different baud rate than the PC. Digi radios can be set to a variety of baud rates. Even if you have a radio that has a specific baud rate (for example a 9600 baud XStream) the interface baud rate could be set to any value. If you suspect that the baud rate of the radio may have been changed from default, test all of the available baud rates to ensure this is not the problem. Simply select each baud rate in PC Settings and attempt a test/query for each.

  2. Another common reason is that the radio has had a parity bit set, but the PC has not been set to match. This is most common with XStream modems, where parity is set by toggling dip switches 5 and/or 6. You must ensure that the options in PC settings are set exactly the same as the radio you are working with.

  3. If you have enabled a Sleep Mode on your radio, it's possible that when you tried to interact with the radio, it was asleep at the time. If you are using a DigiMesh or ZigBee radio, pressing the commissioning button (if available) will wake the radio for 30 seconds. Note that with ZigBee radios, if you configured the XBee as an "End Device", it automatically enables sleep. You can still work with the sleeping radio by enabling hardware flow control, and increasing the response timeout in PC Settings. If you have the CTS line connected, you can see if the radio is in a cyclic sleep pattern by going into the terminal tab and watching the Line Status indicator. If CTS blinks periodically, that indicates that the radio is sleeping:


  4. Action Required will also appear if you have improperly installed drivers, or have chosen the wrong COM Port. The easiest way to determine if you have the correct COM Port chosen and that it is communicating is to open the terminal tab and type some characters. At low baud rates (9600), the DIN LED on the radio's interface board should flash every time a character is typed. At higher baud rates, you may need to use the "Assemble Packet" option to build a longer string to see the LED flash.

  5. The worst case scenario is that the radio has had a bad firmware flash or is damaged. It's unlikely that the radio is "bricked" or in a completely unrecoverable state. Usually we can restore the radio using the steps below to try to default the radio or even force a reflash of the modem's firmware.

 

Return to top

 


 

XStream/XCite

XStream and XCite radios have different default baud rates depending on the part number of the radio:

Modem Part Number Baud Rate
9XStream X09-001
1200 Baud
9XStream X09-009
9600 Baud
9XStream X09-019
19200 Baud
24XStream
X24-009
9600 Baud
24XStream
X24-019
19200 Baud
XCite
XC09-009
9600 Baud
XCite XC09-038
38400 Baud

When testing the modem using X-CTU, make sure you select the proper baud rate in the PC Settings tab for the modem you have.

·  The first step in attempting a recovery is to use the DIP Switches to restore default configuration on the modem. This is only applicable with an RS232/485 XStream/XCite. If you have a USB version, skip this first step.

  1. On the side of the modem is a row of DIP Switches. Set switch 1 and 2 to the up position.
  2. DIP Switch settings only take effect when the modem is powered on; after making DIP Switch changes, power cycle the modem using either the on/off switch or by unplugging the power cable and plugging back in.
  3. Return the switches to their original state (1 up, 2 down for RS-232). If using RS-485 modes, you will need to power cycle the modem a second time to ensure proper settings are loaded.
  4. Test communication in X-CTU using Test/Query at the baud rate indicated by the chart above.

·  If this fails to restore the modem to default settings, the next step is to use X-CTU to perform a recovery. You must use the 5.1.0.0 version of X-CTU to accomplish this.

  1. Open X-CTU and go to the Modem Configuration tab.
  2. Click the Restore button.
  3. If an "Action Required" prompt appears, follow the directions listed in this window.



·  If this fails to restore the modem to a readable state, the next step is to perform a deep recovery of the module using X-CTU.

  1. In PC Settings, select the baud rate for the modem you are working with (see chart above) and set flow control to NONE.
  2. Open the Modem Configuration tab.
  3. In the modem dropdown box, select the modem type you are working with:
  4. Click Show Defaults.
  5. Check "Always Update Firmware".
  6. Click Write.
  7. You will most likely receive an "Action Required" prompt, follow the directions in the window. If the "Action Required" prompt appears more than twice during this step, then it is likely that the modem is unrecoverable.
  8. You will know it succeeded if the last line of the status prompt located at the bottom of the window says "Write Parameters..... Complete".


·  If the above steps failed, and you have an RS-232 (PKG-R) version of the modem, there is one last technique that can be tried.

  1. In PC Settings, set the baud rate to 38400 (this is the baud rate of the bootloader on the radio). Make sure flow control is set to NONE.
  2. Open the Modem Configuration tab.
  3. In the modem dropdown box, select the modem type you are working with:
  4. Click Show Defaults.
  5. Check "Always Update Firmware."
  6. Turn the power switch on the modem to the OFF position (or unplug the serial cable.)
  7. Click Write.
  8. You will receive an "Action Required" prompt.
  9. With the prompt on the screen, hold down the config switch and turn the power switch ON.
  10. With the radio on, release the config switch.
  11. The "Action Required" window should close and a progress bar will appear along the bottom.

    If "Action Required" never goes away or you get an error without the progress bar appearing, then the modem is most likely unrecoverable.
  12. After the progress bar completes, the "Action Required" prompt will appear a second time. Click Cancel.
    The status box will indicate "Write Parameters... Failed" and appear as if the recovery was a failure, but because there was a progress bar, it most likely succeeded.
  13. In PC Settings, select the baud rate for the modem you are working with (see chart above.)
  14. Try a Test/Query and reading from the radio in Modem Configuration to know for certain if this recovery was successful.

 

·  If this does not work, there are a few additional things to try:

 


 

XTend

The default baud rate for the XTend radio is 9600 baud. However, this setting can be set to any value, so ensure you have tried all available baud rates before determining that the radio needs a recovery.

·  The first step in attempting a recovery is to use the DIP Switches to restore default configuration on the modem. This is only applicable with an RS232/485 XTend. If you have a USB version, skip this first step.

  1. On the side of the modem is a row of DIP Switches. Set switch 1 and 2 to the up position (the other switches do not matter.)
  2. DIP Switch settings only take effect when the modem is powered on; after making DIP Switch changes, power cycle the modem by pressing the reset switch or by unplugging the power cable and plugging back in.
  3. Return the switches to their original state (1 up, 2 down for RS-232). If using RS-485 modes, you will need to power cycle the modem a second time to ensure proper settings are loaded.
  4. Open X-CTU and try a Test/Query at 9600 baud.


·  If this fails to restore the modem to default settings, the next step is to use X-CTU to perform a recovery.

  1. In PC Settings, select a baud rate of 9600 and set flow control to NONE.
  2. Go to the Modem Configuration tab.
  3. Click the Restore button.
  4. If an "Action Required" prompt appears, follow the directions listed in this window:
  5. You will know it succeeded if the last line of the status prompt located at the bottom of the window says "Write Parameters..... Complete"


 

·  If the Action Required window does not close, or you get an error, then the next step is to perform a deep recovery of the module using X-CTU.

  1. In PC Settings, select 9600 for the baud rate.
  2. Open the Modem Configuration tab.
  3. In the modem dropdown box, select XT09 (it should be the last item in the list.)
  4. For the Function Set, select "9XTEND 9600/115K HOPPING" (Even if you need a different function set, it's best to attempt a recovery using this option.)
  5. Click Show Defaults.
  6. Check "Always Update Firmware".
  7. Click Write.
  8. You will most likely receive an "Action Required" prompt, follow the directions in the window and hold the reset button for about two seconds. If the "Action Required" prompt appears more than twice during this step or does not go away, then it is likely that the modem is unrecoverable.
  9. You will know it succeeded if the last line of the status prompt located at the bottom of the window says "Write Parameters..... Complete"


·  If the above steps failed, and you have an RS-232 (PKG-R) version of the modem, there is one last technique that can be tried.

  1. In PC Settings, set the baud rate to 38400 (this is the baud rate of the bootloader on the radio.) Make sure flow control is set to NONE.
  2. Open the Modem Configuration tab.
  3. In the modem dropdown box, select XT09 (it should be the last item in the list.)
  4. Click Show Defaults.
  5. Check "Always Update Firmware."
  6. Disconnect the power cable or serial cable from the modem.
  7. Click Write.
  8. You will receive an "Action Required" prompt.
  9. With the prompt on the screen, hold down the reset button while plugging the power or serial cable back in.
  10. With the radio on: wait for a few seconds, then release the config switch.
  11. After approximately 5 seconds, the "Action Required" window should close and a progress bar will appear along the bottom.

    If "Action Required" never goes away or you get an error without a progress bar, then the modem is most likely unrecoverable.
  12. After the progress bar completes, the "Action Required" prompt will appear a second time. Follow the prompt and hold the reset button for about two seconds.
  13. You will know it succeeded if the last line of the status prompt located at the bottom of the window says "Write Parameters..... Complete".


·  If this does not work, there are a few additional things to try:

 


 

XBee
(Excluding ZigBee)

To perform most of the steps in the recovery process, flow control lines must be available and connected. This means that you cannot use an Arduino Shield or any other interface that only has DIN and DOUT connected to attempt a recovery.

Digi branded interface boards (XBIB) have a pushbutton labeled reset, use of this button is required to perform any of the following steps. If you are using a third-party interface board (Such as the Sparkfun USB Explorer, or Parallax USB Adapter) then you most likely do not have this pushbutton. In order to perform a reset, you must bridge the Reset pin (Pin 5) and ground (Pin 10). Most of these interface boards have through-holes located on the underside for a breadboard pin header, reset is typically labeled RST, and ground GND. Inserting a wire is not recommended since it usually does not make solid contact for some of the more intricate steps. It's recommended to solder a pushbutton between these two through-holes to make the recovery process easier.

When a step indicates to press the reset button, this implies that the Reset pin (Pin 5) of the XBee has been shorted to ground (Pin 10).

The default baud rate for the XBee is 9600 baud. However, this setting can be set to any value, so ensure you have tried all available baud rates before determining that the radio needs a recovery.

A note regarding sleeping XBees:

If sleep mode has been enabled, the XBee it may appear to be unresponsive since XCTU expects the radio to be awake when performing any action on the radio. To see if the module is sleeping, go to the terminal tab and watch the Line Status indicator. If CTS periodically flashes, then the module is sleeping and only momentarily waking up.

If your module is sleeping, and you attempt to perform a Test/Query or Read/Write to the radio, you will be prompted with the Action Required window. Pressing the reset button will wake the module long enough to perform the action. Alternatively, you can enable Hardware flow control and increase the response timeout to a period longer than the radio's sleep cycle.

·  The first step is to use X-CTU to perform a recovery of the XBee.

  1. In PC Settings, select a baud rate of 9600 and set flow control to NONE.
  2. Go to the Modem Configuration tab.
  3. Click the Restore button.
  4. If an "Action Required" prompt appears, follow the directions listed in this window:
  5. You will know it succeeded if the last line of the status prompt located at the bottom of the window says "Write Parameters..... Complete"
     


·  If the Action Required window does not close, or you get an error, then the next step is to perform a deep recovery of the module using X-CTU.

  1. In PC Settings, select 9600 for the baud rate.
  2. Open the Modem Configuration tab.
  3. In the modem dropdown box, select the XBee type you are working with (If you are unsure, the part number is printed on the label located on the RF shield.)

  4. Click Show Defaults.
  5. Check "Always Update Firmware".
  6. Click Write.
  7. You will most likely receive an "Action Required" prompt, follow the directions in the window press the reset button. If the "Action Required" prompt appears more than twice during this step or does not go away, then it is likely that the modem is unrecoverable.
  8. You will know it succeeded if the last line of the status prompt located at the bottom of the window says "Write Parameters..... Complete".


·  If the above steps failed, there is one last technique that can be tried.

  1. In PC Settings, set the baud rate to 38400. This is the baud rate of the bootloader on the radio.
  2. Open the Modem Configuration tab.
  3. In the modem dropdown box, select the XBee type you are working with (If you are unsure, the part number is printed on the label located on the RF shield.)
  4. Click Show Defaults.
  5. Check "Always Update Firmware."
  6. Leave the USB cable plugged in, and physically remove the XBee from the interface board. Do not worry, you will not damage the XBee by doing this.
  7. Click Write.
  8. You will receive an "Action Required" prompt.
  9. With the prompt on the screen, hold down the reset button while socketing the XBee back in.
  10. Release the reset button.
  11. It may take up to 30 seconds, but the "Action Required" window should close and a progress bar will appear along the bottom.

    If "Action Required" never goes away or you get an error without a progress bar, then the modem is most likely unrecoverable.
  12. After the progress bar completes, the "Action Required" prompt will appear a second time. Follow the prompt and press the reset button once.
  13. You will know it succeeded if the last line of the status prompt located at the bottom of the window says "Write Parameters..... Complete"



·  If this does not work, there are a few additional things to try:

 


 

ZigBee XBee
(Series 2)

To perform most of the steps in the recovery process, flow control lines must be available and connected. This means that you cannot use an Arduino Shield or any other interface that only has DIN and DOUT connected to attempt a recovery.

Digi branded interface boards (XBIB) have a pushbutton labeled reset, use of this button is required to perform any of the following steps. If you are using a third-party interface board (Such as the Sparkfun USB Explorer, or Parallax USB Adapter) then you most likely do not have this pushbutton. In order to perform a reset, you must bridge the Reset pin (Pin 5) and ground (Pin 10). Most of these interface boards have through-holes located on the underside for a breadboard pin header, reset is typically labeled RST, and ground GND. Inserting a wire is not recommended since it usually does not make solid contact for some of the more intricate steps. It's recommended to solder a pushbutton between these two through-holes to make the recovery process easier.

When a step indicates to press the reset button, this implies that Reset pin (Pin 5) of the XBee has been shorted to ground (Pin 10).

The default baud rate for the XBee is 9600 baud. However, this setting can be set to any value, so ensure you have tried all available baud rates before determining that the radio needs a recovery.

A note regarding sleeping XBees:

If the XBee module was flashed as an End Device, then sleeping has been enabled by default. The XBee it may appear to be unresponsive since XCTU expects the radio to be awake when performing any action on the radio. To see if the module is sleeping, go to the terminal tab and watch the Line Status indicator. If CTS periodically flashes, then the module is sleeping and only momentarily waking up.

If your module is sleeping, and you attempt to perform a Test/Query or Read/Write to the radio, you will be prompted with the Action Required window. Pressing the reset button or commissioning button (the first pushbutton on an XBIB-DEV board) will wake the module long enough to perform the action. Alternatively, you can enable Hardware flow control and increase the response timeout to a period longer than the radio's sleep cycle.

 

·  The first step is to use X-CTU to perform a deep recovery of the XBee.

  1. In PC Settings, select 9600 for the baud rate.
  2. Open the Modem Configuration tab.
  3. In the modem dropdown box, select the XBee type you are working with (If you are unsure, the part number is printed on the label located on the RF shield.)
  4. For the Function Set, select "ZIGBEE ROUTER AT" (Even if you need a different function set, it's best to attempt a recovery using this option.)

  5. Click Show Defaults.
  6. Check "Always Update Firmware".
  7. Click Write.
  8. You will most likely receive an "Action Required" prompt, follow the directions in the window and press the reset button. If the "Action Required" prompt appears more than twice during this step or does not go away, then it is likely that the modem is unrecoverable.
  9. You will know it succeeded if the last line of the status prompt located at the bottom of the window says "Write Parameters..... Complete"


·  If the above steps failed, there is one last technique that can be tried.

First, we should check to see if the bootloader is present and accessible:

Note: This step is not required, but it does give a good indicator of whether or not the radio can be recoved.

  1. In PC Settings, set the baud rate to 115200. This is the baud rate of the bootloader on the radio.
  2. Open the terminal tab.
  3. Check the DTR and Break checkboxes, clear the RTS checkbox.
  4. Press the reset button on the interface board.
  5. Uncheck Break (leave DTR checked.)
  6. Click in the blank terminal window to give it focus and press the [Enter] key on your keyboard.
  7. A menu should appear with the title of EM250 Bootloader. This means that the radio is functional and we can easily enter bootloader.

If this menu does not appear, this means the interface board you are using does not have flow control lines, you have selected the wrong baud rate, or possibly the radio is not recoverable. Even if this step fails, you should still move to the next step.

Next, we perform the full recovery:

  1. Open the Modem Configuration tab.
  2. In the modem dropdown box, select the XBee type you are working with (If you are unsure, the part number is printed on the label located on the RF shield.)
  3. For the Function Set, select "ZIGBEE ROUTER AT" (Even if you need a different function set, it's best to attempt a recovery using this option.)
  4. Click Show Defaults.
  5. Check "Always Update Firmware".
  6. Leave the USB cable plugged in, and physically remove the XBee from the interface board. Do not worry, you will not damage the XBee by doing this.
  7. Click Write.
  8. You will receive an "Action Required" prompt.
  9. With the prompt on the screen, hold down the reset button while socketing the XBee back in.
  10. Release the reset button.
  11. It may take up to 30 seconds, but the "Action Required" window should close and a progress bar will appear along the bottom.

    If "Action Required" never goes away or you get an error without a progress bar, then the modem is not accepting the firmware, ensure you have the correct modem type selected and try again.
  12. After the progress bar completes, the "Action Required" prompt will appear a second time. Follow the prompt and press the reset button once.
  13. You will know it succeeded if the last line of the status prompt located at the bottom of the window says "Write Parameters..... Complete"


·  If this does not work, there are a few additional things to try:

Contact a Digi expert and get started today! CONTACT US