How to make a join ABP process with RN2483A module?

Maybe it’s actually okay, and not much different from removing power from the module. From the manual:

2.3.2 sys reset

This command resets and restarts the RN2483 module; stored LoRaWAN protocol settings will be loaded automatically upon reboot.

2.3.4 sys factoryRESET

This command resets the module’s configuration data and user EEPROM to factory default values and restarts the module. After factoryRESET, the RN2483 module will automatically reset and all configuration parameters are restored to factory default values. All LoRaWAN protocol settings set by the user will be lost.

2.4.4 mac save

The mac save command must be issued after configuration parameters have been appropriately entered from the mac set <cmd> commands. This command will save LoRaWAN Class A protocol configuration parameters to the user EEPROM. When the next sys reset command is issued, the LoRaWAN Class A protocol configuration will be initialized with the last saved parameters.

Any idea if the OTAA Join succeeds right away? Peeking into some old code that uses a Libelium wrapper around an RN2483 1.0.1, I once documented:

Save the intermediate configuration to allow setLoRaWAN to reset the LoRaWAN module when joinOTAA fails

So, in that code I did a mac save before the mac join otaa as well. But, I don’t know if the Libelium wrapper or the RN2483 was invoking some reset there. (The comment also confirms that sys reset should not lose the configuration.) Oh, not relevant: you’re already doing that.

Aside, as per earlier discussions: note that you may not need all this trickery when not removing power from the module, but when instead using deep sleep (with recent versions of the RN2483 firmware), and do a new OTAA join in case of rare conditions that restart the module. Even more: even in 1.0.5, mac save might not store all required settings, like for confirmed downlinks.