Yes, there is firmware, and there is a known bug in it that can cause a module to completely die and stop responding by losing its BLE address an never getting it back. You should hold the module in RESET mode until the power is stable by connecting RST_N to a GPIO and pulling it LOW with a resistor. Only set the GPIO HIGH once your sketch is running and power is stable.
I have a library as part of a larger project that uses these modules that may be of use to you. You can find it here.
There is a firmware flashing program for Windows and updated firmware available on the RN4871 page at microchip.com - scroll down to and expand the Documentation section.
If the modules are completely dead then there is a possibility to recover them. I haven't performed the operation yet, so can't vouch for it - though I do have a couple of modules I need to recover. Also, I cannot find the instructions at the moment, so I can't point you to the right location. I believe it involves using MPLAB-X though. I will probe my contacts.
Update: apparently there's a command line tool that can recover the modules. I'm just trying to find out more about it.