OK, when it is stuck at 15% it means that the firmware was rejected due to DJI Anti rollback, which has not yet been defeated on the M2 Pro.
What version of NLD are you using, because you should get a dialog box when the anti rollback can not be defeated.
We have some alternate options available here:
https://nolimitdronez.com/products/C