blue-merle's deterministic IMEI generation currently likely does not work for PIN-protected SIM cards. If the PIN is not verified, get_imsi() in imei_generate.py returns an empty string (""). This is because a SIM's IMSI can only be read out after the SIM's PIN is verified (or PIN verification is disabled).
For PIN-protected SIM cards where the PIN has not been verified when blue-merle runs, the same IMEI will always be generated.
This has not yet been practically tested and validated.
Improvement Potential
Use a SIM's ICCID for deterministic IMEI generation. The ICCID ("Integrated Circuit Card Identifier") is a globally unique identifier for smart cards. It can be read out even prior to PIN verification.
Notes
To read a SIM's IMSI, use the CIMI AT command.
To read a SIM's ICCID, use the QCCID AT command.
Current Status
blue-merle
's deterministic IMEI generation currently likely does not work for PIN-protected SIM cards. If the PIN is not verified,get_imsi()
inimei_generate.py
returns an empty string (""
). This is because a SIM's IMSI can only be read out after the SIM's PIN is verified (or PIN verification is disabled). For PIN-protected SIM cards where the PIN has not been verified whenblue-merle
runs, the same IMEI will always be generated.This has not yet been practically tested and validated.
Improvement Potential
Use a SIM's ICCID for deterministic IMEI generation. The ICCID ("Integrated Circuit Card Identifier") is a globally unique identifier for smart cards. It can be read out even prior to PIN verification.
Notes
To read a SIM's IMSI, use the
CIMI
AT command. To read a SIM's ICCID, use theQCCID
AT command.