python update xbee S2C digimesh 9000 to 9002

Hello,
I am trying to update the xbee S2C with the xbee python library.

However when i do so I am facing the following issue :
ERROR: XBee does not support firmware update process
Traceback (most recent call last):
File “update.py”, line 31, in main
progress_callback=progress_callback,)
File “A:\Inti-Tech\Dev\Code\inti-xbee-install\digi\xbee\devices.py”, line 1586, in update_firmware
progress_callback=progress_callback)
File “A:\Inti-Tech\Dev\Code\inti-xbee-install\digi\xbee\firmware.py”, line 5465, in update_local_firmware
raise FirmwareUpdateException(_ERROR_BOOTLOADER_NOT_SUPPORTED)
digi.xbee.exception.FirmwareUpdateException: XBee does not support firmware update process

For the code I am using, I am using this code :
https://github.com/digidotcom/xbee-python/blob/master/examples/firmware/LocalFirmwareUpdateSample/LocalFirmwareUpdateSample.py

I just copy in the same folder xb24c-dm-smt_9002.ehx2, xb24c-dm-smt_9002.xml, xb24c-dm-smt_9002.ebl and pass it in the file :
XML_FIRMWARE_FILE = “xb24c-dm-th_9002.xml”
XBEE_FIRMWARE_FILE = “xb24c-dm-th_9002.ehx2”
BOOTLOADER_FIRMWARE_FILE = “xb24c-dm-th_9002.ebl”

SO I am wondering what i am doing wrong, or need to be change to make it work since XCTU is able to do this update but not the python code.

Thanks in advance

Are you trying to do this via the UART of the module or over the air?

I Use the UART to connect to the XBEE (MCI XBee Explorer USB)

That might be the reason why. Not all of the pins needed to update firmware have been connected thru on 3rd party boards. You need to have in addition to DI and DO, RTS and DTR.

But then, how does XCTU is doing since I can do it with the same interface ? (but i still need to be able to do it through python since I want to automatize more task)

The information for how to enter the bootloader is listed https://www.digi.com/resources/documentation/digidocs/PDFs/90000976.pdf