All other AT commands (I think) will respond “OK” if the requested setting is already in place; eg.
- If you issue AT+WOPEN=1 (start application) when the app is already started, the response is “OK”
- If you issue AT+IPR=115200 (set baud rate) when the baud rate is already set to 115200, the response is “OK”
This all seems very good & reasonable to me.
But if you issue AT+WMFM to open/close a port when that port is already open/closed, it replies with “+CME ERROR: 3”
This seems very Bad and Unhelpful to me - as it means that you then have to check whether the error is just due to the trivial reason (port already in requested state), or if it’s actually some real problem…