I have had many situations when working with ESP32 or STM32 and Simcom 4G LTE modems like the SIM7600 or A7600 series where the modems fail to recognize the SIM cards attached to them. This is a common problem with many ESP32 PPPoS libraries too. You will get an ERROR: SIM Failure response when you send AT+CIMI command to fetch IMSI from the SIM card.
If other commands, such as “read IMEI” work, there is probably something wrong with the SIM setup or connection.
"ERROR: SIM Failure" - Potential Causes on Simcom Modems
I have not observed this issue with Quectel modems as much as I have seen this happen with Simcom modems. Using a SIM card that inserts into a connector adds many points of failure that can cause this error. An MFF2 chip SIM is not likely to face those.
1. Bad SIM Connector Contacts
This can happen for a variety of reasons and you may not notice it at all. Some of the most common causes of new (but faulty) SIM connector contacts are:
- Reflow soldering with very high temperature that reduces the spring tension in connector contacts.
- Partial melting of the connector or damage from hand soldering
- Wear-and-tear damage from frequent use during prototyping
2. Incorrect Connector!
This is an embarassing one – but we have all gone through this as hardware designers, haven’t we?
I have done it once. I used an incorrect footprint for the microSIM connector. The connector outline was compatible, so the connector aligned properly and looked good.
However, NONE of the SIM contacts were actually soldered to the borad. They were just floating. AT+CIMI command returned ERROR and Sim Failure.
3. Power Supply Issues
If the SIM connector is located on the opposite side of a DC-DC converter or close to the 4G modem PCB antenna, this can cause massive levels of induced RF interference and make the SIM unreadable.
Most common causes of power and noise issues with SIM cards happens when:
- SIM card is more than 15 cm or 6 inches away from the modem
- SIM card is too close to an RF antenna, especially PCB antenna
- Plastic body of the SIM connector which does not shield it from external interference at all
Some solutions here could be:
- Use sufficient decoupling on the modem VBAT pins when you design the modem schematics.
- Add ferrite bead to the power supply line for the SIM card.
- Add adequate decoupling of at least 1uF + 100nF to the SIM VDD pin.
- Add 33pF capacitors on the SIM card data and clock lines to absorb high frequency noise that may get coupled from the cellular antenna.
- Move the connector to a more noise-free location on the PCB. Sorry, but if the design was messed up badly, you need to fix it!
4. Incorrect ESD device for SIM
If you use ESD diodes in the wrong configuration or if they have a very high capacitance, you can potentially dampen the clock and data waveforms on the SIM bus.
ESD diodes with a high reverse breakdown voltage/current and diodes in large packages usually have higher capacitance. You should not use them, and use SOT-353 or SOT-23 ESD devices instead.
5. Firmware Timing Issues
This is a big deal and if you have worked on embedded firmware for modems a lot, you would know how sensitive modems tend to be to timing issues.
There are some timing parameters that you absolutely need to follow to ensure proper SIM card operation:
- The time between turning a 4G LTE modem off and then back on.
- The idle UART bus time before an AT+CIMI or similar SIM card related commands.
The Toff-on timing parameter, if specified with the modem, is very important in the reset sequence. In my experience, not respecting that timing causes inconsistent USB or SIM misbehavior down the line.
In other cases, where the host processor is very fast and uses queues to send out UART commands, it might be worthwhile to not use FIFO or DMA buffers to “pipeline” commands to the modem before it can even respond to a previous command.
To be safe, adding a 500ms delay before SIM card related commands seems to solve this problem. You can probably use a much shorter delay if your boot time is important, or retry with delays if SIM error comes up.
These are all the common issues and their potential solutions that I have experienced during my work with 4G LTE modems. Hope you find these useful!
Feel free to ask away via the Quick Contact form in the sidebar, or leave a comment below.
Change Log
- Initial Release: 15 August 2021
References
- Reference 1: SIM7600 Datasheet
- Reference 2: PCB Artists ESP32 4G LTE Module Datasheet