I tested on my device.
After `x6100_control_atu_tune(false);` you need some timeout. 10ms is OK for me, please check for your x6100.
Timeout for transmit is 50ms for my radio.
Criterion of success: after ATU (red light) indicator should be greed, than red again for a short time. I guess, timeouts should be small, but enough for changing state of the base MCU.
I tested with playing a sound from PC to radio with usb cable (through x6100 usb soundcard) and a power meter before and after ATU. Without fix it shows 0, with fix - same as before ATU. I guess, that playing recorded sound during TX should also be fixed. Also - this should solve a problem with no voice prompts after ATU.
About root cause - something within base firmware.
--
Georgy // R2RFE