Logging/responding to ZDO requests in API mode

Hello, I am trying to get an XBee 3 module paired to a network that is running zigbee2mqtt. I am using the following changes to the factory settings:

ZS = 2
NJ = 5A
NO = 3
EE = 1
EO = 1
SN = AF0
SP = 64

Of these, I know that ZS=2 is critical to even get the Xbee associated with the network. When the Xbee3 connects to the zigbee2mqtt network, the coordinator starts an “interview” by sending a ZDO request to ‘pair’ the device to the network. (I am new to zigbee so I do not know if these are zigbee2mqtt specific terms or generic zigbee terms.)

This ZDO request, which is referred to as ‘nodeDescReq’ fails with a timeout. I understand I may have to respond to this request myself, using either another MCU connected to the Xbee via UART, or using the built-in MicroPython interpreter.

However, to validate if the Xbee if actually receiving these ZDO requests, I would like to log them in X-CTU. To achieve this, I have set the following parameters:

AO=3 (also tried 7, 13)

I would now expect to be able to see these these requests on the Frames Log of X-CTU, but nothing appears. Is this a wrong assumption or do miss another required setting?

On the zigbee2mqtt side of things, I see this kind of data on the log:

,“parentaddr”:0} +20s
zigbee-herdsman:controller:log Device ‘0x0013a20041cc5871’ joined +20s
zigbee-herdsman:adapter:zStack:unpi:parser — parseNext [] +0ms
zigbee-herdsman:controller:log Device ‘0x0013a20041cc5871’ accepted by handler +0ms
zigbee-herdsman:controller:log Interview ‘0x0013a20041cc5871’ start +0ms
Zigbee2MQTT:info 2021-06-25 10:35:05: Starting interview of ‘0x0013a20041cc5871’
Zigbee2MQTT:info 2021-06-25 10:35:05: MQTT publish: topic ‘zigbeemk/bridge/event’, payload ‘{“data”:{“friendly_name”:“0x0013a20041cc5871”,“ieee_address”:“0x0013a20041cc5871”,“status”:“started”},“type”:“device_interview”}’
zigbee-herdsman:controller:device:log Interview - start device ‘0x0013a20041cc5871’ +6s
zigbee-herdsman:adapter:zStack:znp:SREQ –> ZDO - nodeDescReq - {“dstaddr”:3724,“nwkaddrofinterest”:3724} +16s
zigbee-herdsman:adapter:zStack:unpi:writer –> frame [254,4,37,2,140,14,140,14,35] +16s
Zigbee2MQTT:info 2021-06-25 10:35:05: MQTT publish: topic ‘zigbeemk/bridge/log’, payload ‘{“message”:“interview_started”,“meta”:{“friendly_name”:“0x0013a20041cc5871”},“type”:“pairing”}’
zigbee-herdsman:adapter:zStack:unpi:parser <– [254,1,101,2,0,102] +28ms
zigbee-herdsman:adapter:zStack:unpi:parser — parseNext [254,1,101,2,0,102] +0ms
zigbee-herdsman:adapter:zStack:unpi:parser –> parsed 1 - 3 - 5 - 2 - [0] - 102 +1ms
zigbee-herdsman:adapter:zStack:znp:SRSP <– ZDO - nodeDescReq - {“status”:0} +16s
zigbee-herdsman:adapter:zStack:unpi:parser — parseNext [] +0ms
zigbee-herdsman:adapter:zStack:adapter Node descriptor request for ‘3724’ failed (Error: AREQ - ZDO - nodeDescRsp after 10000ms), retry +29s

You need to use API mode with ZDO pass thru enabled.