Converting XBee RS-485 Adapter from "End Node" to "Router"

Hi, I have a XBee environment consisting of a ConnectPort X2B and 2 x RS-485 adapters. In order to get to my second RS-485 adapter, I need the other to be a Router in the Zigbee network, not an end node. I know this should be a matter of upgrading the firmware on the device, but I am struggling to find a source of truth on the net about exactly how to do this and not brick my device.

I can see that the X2 has a screen allowing OTA firmware upgrades, I have downloaded the latest adapter firmwares from the Digi support site, but I am not sure which of these is the right file, or what the difference between the .ebl and .mxi/.ehx files is.

I also found a table in one of the “Drop-In Networking” documents that says that the RS-485 adapter firmware upgrades are “not allowed”.

Can anyone guide me on how to do what I need to do safely?

Thank you in advance.


Hi, anyone out there got any suggestions? I havent solved this yet.


.ebl file is requirec for OTA firmware upgrade. And .mxi/.ebx files are used by X-CTU software for upgrading firmware using serial COM port.

OTA firmware upgrade would be great to use.

Thanks for that help. What about the table the “Drop-In Networking” document that says that the RS-485 adapter firmware upgrades are “not allowed”?

Any thoughts?

You don’t really need the ‘485 fw’ - you can use AT Router firmware. You just need to remember to MANULLY set D7 to 7 … which is I believe is the only true difference, the official 485 fw would factory default to have D7 set to 7 and not 0.

In fact, I’d suggest all nodes be routers unless they sleep. An ‘end-device’ literally sends 10 packets per second to it’s parent, which is a waste of bandwidth if the device never sleeps (aka: becomes QUIET :-] )

Router count impacts broadcast effects on large networks … but with 3 nodes your network isn’t anywhere near large.

Try the OTA, or even open the adapter and do it in a XBIB-U board.

Oh, I suppose the RS-485 adapter will STOP showing up as RS-485 on the X2 after you reflash the XBee to At Router since it will default to DD=0x0003000, which is unknown device and the X2 doesn’t offer direct Web UI access to the DD values.

However , you can use the info here to force the correct DD of 0x00030006.

Hi Lynn,

Thanks for the advice. I managed to use the XBEE ZB 228C code and do an OTA update. Update file was “XB24-ZB_228C.ebl”.

It seems to update successfully, and not lose the D7 setting and device type appears right, but still seems to appear as an end node and does not behave like a router either. Is this a bug perhaps.

Here are some command outputs:

#> disp xb

XBee network device list

PAN ID: 0xb739 - 0xce8242c5f174b3a3
Channel: 0x0d (2415 MHz)
Gateway address: 00:13:a2:00:40:6e:93:95!
Gateway firmware: 0x2164

Node ID Network Extended address Node type Product type

            [0000]! 00:13:a2:00:40:6e:93:95! coordinator X2 Gateway

Back Garden [96e6]! 00:13:a2:00:40:6f:88:48! end device RS-485 Adapter
Pool Garden [87e9]! 00:13:a2:00:40:76:32:06! end device RS-485 Adapter

1 coordinator, 2 end devices

To display device details:
display xbee address[=id|address]

#> disp xb address=00:13:a2:00:40:6f:88:48!

Status of device: 00:13:a2:00:40:6f:88:48!

        pan_id (OI): 0xb739
    ext_pan_id (OP): 0xce8242c5f174b3a3
       channel (CH): 0xd
      net_addr (MY): 0x96e6
   parent_addr (MP): 0x0
   association (AI): 0x0

firmware_version (VR): 0x228c
hardware_version (HV): 0x1946
device_type (DD): 0x30006
children (NC): 0
max_payload (NP): 84 (bytes)
supply_voltage (%V): 2174 (mvolts)
rssi (DB): 86 (-dBm)
ack_failures (EA): 0

Make sure SM=0. As long as you have firmware 228C in there and SM=0, then it is a router.

The info you show may be stale (old). I find my routers frequenty ‘start’ as being listed as end-devices desite them being routers after a gateway reboot, but hopefully they soon start flip to say router.

Looks like that did the trick. Thank you.

It’s a bit of a challenge having all these undocumented features to contend with. What would we do without you. :wink:

Well … they are kind of documented … if like reading manuals front to back as amusement.

The D7 is no doubt documented as being for RS-485 duplex and no doubt the SM=0 is documented in some sleep-related section as defining router/end-device.

What you really mean is desiring a more concise “Know this if yee wish to us RS-485!” section. As is, lots of small pieces to hand-craft at times :slight_smile: