diff --git a/lib/modem.js b/lib/modem.js index 16a1d84..31b4e83 100644 --- a/lib/modem.js +++ b/lib/modem.js @@ -102,14 +102,17 @@ async function readIMSI() { imsi = data.toString().trim(); logger.info(`IMSI: ${imsi}`); } + mutex.releaseLockWaitForOK(); }); port.pipe(parserReadIMSI); await writeToPortAndWaitForOK('AT+CIMI\r'); - await mutex.setLockWaitForOK(); - mutex.releaseLockWaitForOK(); + + // selesai hanya jika lock sudah terbuka oleh parser + mutex.setLockWaitForOK(); port.unpipe(parserReadIMSI); + mutex.releaseLockWaitForCommand(); } async function querySignalStrength() {