Coordinator sends data to Router, but Router can't send back

My coordinator successfully transmits data to my router, but my router cannot send data back. I’m working in AT mode, the pan ID, AI, and channel all match. DH/DL on the coordinator is set to 0/FFFF, DH/DL on the router is set to 0/0. This has to be something basic…what am I missing? Baud rate, firmware version, AP mode all match.

import xbee

TODO: replace with the 64-bit address of your target device.

TARGET_64BIT_ADDR = b’\x00\x13\xA2\x00\x41\xAE\x9D\xC8’
MESSAGE = “Hello XBee!”

print(" ±--------------------------------------+“)
print(” | XBee MicroPython Transmit Data Sample |“)
print(” ±--------------------------------------+
")

print(“Sending data to %s >> %s” % (‘’.join(‘{:02x}’.format(x).upper() for x in TARGET_64BIT_ADDR),
MESSAGE))

try:
xbee.transmit(TARGET_64BIT_ADDR, MESSAGE)
print(“Data sent successfully”)
except Exception as e:
print(“Transmit failure: %s” % str(e))

Result:
Sending data to 0013A20041AE9DC8 >> Hello XBee!
Transmit failure: [Errno 7107] ENOTCONN

This turned out to be an issue with the data I was trying to send (needed MESSAGE = str(payload.decode()) instead of just MESSAGE = str(payload) for the return data). The big issue though is that as soon as this error happens you have to power cycle, switch back to AT mode, then return to micro python. The devices will not communicate again until you do so (maybe there’s a better way?).

Try setting the DL and DH to the MAC address of the coordinator instead.