посмотрел исходники zigbee2mqtt и там для сс2652 выполняется по другому , не как в сс2531. rts надо дёрнуть.
// Skip bootloader on CC2530/CC2531
// Send magic byte: https://github.com/Koenkk/zigbee2mqtt/issues/1343 to bootloader
// and give ZNP 1 second to start.
try {
logger_1.logger.info("Writing CC2530/CC2531 skip bootloader payload", NS);
this.unpiWriter.writeBuffer(Buffer.from([0xef]));
await (0, utils_1.wait)(1000);
await this.request(constants_1.Subsystem.SYS, "ping", { capabilities: 1 }, undefined, 250 /* v8 ignore next */);
}
catch {
// Skip bootloader on some CC2652 devices (e.g. zzh-p)
logger_1.logger.info("Skip bootloader for CC2652/CC1352", NS);
if (this.serialPort) {
await this.serialPort.asyncSet({ dtr: false, rts: false });
await (0, utils_1.wait)(150);
await this.serialPort.asyncSet({ dtr: false, rts: true });
await (0, utils_1.wait)(150);
await this.serialPort.asyncSet({ dtr: false, rts: false });
await (0, utils_1.wait)(150);
}
}