Quectel EC25 Mini PCIe USIM detection problem (USIM_VDD=0V)

Hello,
I would like to ask you for help with SIM card detection problem in EC25 Mini PCIe module. I tried following AT commands to get current status of SIM, but without success.
AT+CFUN=1
AT+CPIN?
+CME ERROR: 10

I don’t use SIM card detection PIN. I measured voltage on USIM_VDD pin, but there is 0V…
Is it necessary do some manual AT commands for enabling SIM card interface? When will be USIM VDD enabled?

I have following fw version: Quectel EC25, Revision: EC25EFAR06A04M4G

Thank you very much,
Jan

Dear Jdrexler,
The error code 10 means that SIM not inserted, so please check whether the SIM connection is correct. You can unplug and plug SIM card again to have a try. Normally, if you want to enable the SIM card detection fucntion, you need to use the following command. Thanks!
image

Hello Kyson,
thank you for information. I tried verify SIM connection and it looks ok.
I have following pcie card pin connection:

I’m trying measure voltage directly on module, but still see USIM_VDD=0V. We also tried measure it using osciloscop when module was booting, but USIM_VDD is still without voltage.

Do you think, it can be something wrong with module? Module is new and now we tried it first time.

Thank you,
Jan

Dear Jdrexler,
Whether you use our minipcie EVB or your own board to test it ? Could you help to double check whether the pin of your MINIPCIE slot is match with the EC25 minipcie module pin ? And it is better to check whether there have short circuit of SIM_VDD. If you can confirm it, you can contact our local FAE or the module supplier to confirm it. Thanks!

Dear Kyson and jdrexler,

Even I’m also getting same kind of issue. I’m also using EC25 Mini PCie module with UART Interface. If you got any solution please let me know.

As you said you are not using SIM detection pin. Kindly check with AT command that SIM detection is not enabled in software. If Yes, Disable SIM detection in software.

1 Like

Dear aamirniaz434,

I have tried multiple ways, by enabling and disabling SIM detection using AT+QSIMDET command. Please find the below AT response file for your reference.

at
OK

at+qsimdet=0,0
OK

at+qsimdet?
+QSIMDET: 0,0

OK

at+qsimstat?
+QSIMSTAT: 0,0

OK

at+qsimstat=1
OK

at+qsimstat?
+QSIMSTAT: 1,0

OK

at+cops=2
OK

at+cops=0
OK

at+cimi
ERROR

at+qsimdet?
+QSIMDET: 0,0

OK

at+qsimdet=1,0
OK

at+qsimdet?
+QSIMDET: 1,0

OK

at+qsimstat?
+QSIMSTAT: 1,0

OK

at+cops=2,2
OK

at+cops=0
OK

at+cimi
ERROR

at+qsimdet=0,1
OK

at+qsimdet?
+QSIMDET: 0,1

OK

at+qsimstat?
+QSIMSTAT: 1,0

OK

at+cops=2,2
OK

at+cops=0
OK

at+cimim
ERROR

at+cimi
ERROR

at+qsimdet=1,1
OK

at+qsimdet?
+QSIMDET: 1,1

OK

at+qsimstat?
+QSIMSTAT: 1,0

OK

at+cops=2,2
OK

at+cops=0
OK

at+cops?
+COPS: 0

OK

at+cops=?
+COPS: (1,“IDEA”,“IDEA”,“40407”,2),(1,“IND airtel”,“airtel”,“40449”,0),(1,“Reliance”,“Reliance”,“40501”,7),(1,“IND-JIO”,“JIO”,“405854”,7),()

OK

at+cops?
+COPS: 0

OK

at+cimi
ERROR

at+cops=0,0
OK

at+cops?
+COPS: 0

OK

/////////////////////////////////////////////////////////////////////////////////

Actually, I’m not getting any voltage on SIM signal pins(SIM_VDD, SIM_RST, SIM_CLK, SIM_DATA) in all the pins I’m getting 0V. I don’t know why module is not providing voltage here.

Please let me know where I’m missing, how to get it up this module.

Hello,
I hope this help you. I measured 2 states, when sim card is detected and when isn’t detected.
Detection is done during boot up. (Maybe you can change it using sim detection at commands…)
When card is present and detected correctly, you can get following:

When is some problem on SIM card wires and detection, you will mesure following:

If you have your own pcb, please check connection to your SIM card…

Jan

Hello, we also faced with similar issue with Quectel EC25E. A lot of devices, that our customers are using, periodically are losing connection after reboot.

We found in Android radio logs, that modem couldn’t find a SIM card. Reinjecting SIM cards are usually helping, but important thing, that we’re facing with it very often, and it is not an option to ask our customers just to reinjecting SIM cards every time, they’re loosing connection.

Radio logs for device, which can’t connect to internet:

01-01 03:00:12.099  1769  1889 D use-Rlog/RLOG-RIL ATC: AT> ATI
01-01 03:00:12.108  1769  2033 D use-Rlog/RLOG-RIL ATC: AT< Quectel
01-01 03:00:12.108  1769  2033 D use-Rlog/RLOG-RIL ATC: AT< EC25
01-01 03:00:12.108  1769  2033 D use-Rlog/RLOG-RIL ATC: AT< Revision: EC25ECGAR06A04M1G
01-01 03:00:12.108  1769  2033 D use-Rlog/RLOG-RIL ATC: AT< OK
01-01 03:00:12.109  1769  1889 D use-Rlog/RLOG-RIL RILC: Quectel Product Revision: EC25ECGAR06A04M1G
01-01 03:00:12.109  1769  1889 D use-Rlog/RLOG-RIL RILC: 9X07
01-01 03:00:12.109  1769  1889 D use-Rlog/RLOG-RIL ATC: AT> AT+CSUB;+CVERSION
01-01 03:00:12.111  1769  2033 D use-Rlog/RLOG-RIL ATC: AT< SubEdition: V02
01-01 03:00:12.112  1769  2033 D use-Rlog/RLOG-RIL ATC: AT< VERSION: EC25ECGAR06A04M1G
01-01 03:00:12.112  1769  2033 D use-Rlog/RLOG-RIL ATC: AT< Dec 17 2018 20:28:26
01-01 03:00:12.112  1769  2033 D use-Rlog/RLOG-RIL ATC: AT< Authors: QCT
01-01 03:00:12.112  1769  2033 D use-Rlog/RLOG-RIL ATC: AT< OK
01-01 03:00:12.112  1769  1889 D use-Rlog/RLOG-RIL ATC: AT> ATE0Q0V1
01-01 03:00:12.113  1769  2033 D use-Rlog/RLOG-RIL ATC: AT< OK
01-01 03:00:12.113  1769  1889 D use-Rlog/RLOG-RIL ATC: AT> ATS0=0
01-01 03:00:12.114  1769  2033 D use-Rlog/RLOG-RIL ATC: AT< OK
01-01 03:00:12.115  1769  1889 D use-Rlog/RLOG-RIL ATC: AT> AT+QURCCFG="URCPORT","usbat"
01-01 03:00:12.115  1769  2086 D use-Rlog/RLOG-RIL tty2tcp: swap_sources ( s:rild-fwd <> c:13 ) fifo_size=1048576
01-01 03:00:12.115  1769  2086 D use-Rlog/RLOG-RIL tty2tcp: create_socket_server( rild-fwd )
01-01 03:00:12.115  1769  2086 D use-Rlog/RLOG-RIL tty2tcp: local server: rild-fwd sockfd = 14
01-01 03:00:12.115  1769  2086 D use-Rlog/RLOG-RIL tty2tcp: create_socket_server( serverfd=14 )
01-01 03:00:12.117  1769  2033 D use-Rlog/RLOG-RIL ATC: AT< OK
01-01 03:00:12.117  1769  1889 D use-Rlog/RLOG-RIL ATC: AT> AT&D2
01-01 03:00:12.118  1769  2033 D use-Rlog/RLOG-RIL ATC: AT< OK
01-01 03:00:12.118  1769  1889 D use-Rlog/RLOG-RIL ATC: AT> AT+CMEE=1
01-01 03:00:12.119  1769  2033 D use-Rlog/RLOG-RIL ATC: AT< OK
01-01 03:00:12.119  1769  1889 D use-Rlog/RLOG-RIL ATC: AT> AT+CREG=2
01-01 03:00:12.121  1769  2033 D use-Rlog/RLOG-RIL ATC: AT< OK
01-01 03:00:12.122  1769  1889 D use-Rlog/RLOG-RIL ATC: AT> AT+CGREG=2
01-01 03:00:12.123  1769  2033 D use-Rlog/RLOG-RIL ATC: AT< OK
01-01 03:00:12.123  1769  1889 D use-Rlog/RLOG-RIL ATC: AT> AT^DSCI=1
01-01 03:00:12.124  1769  2033 D use-Rlog/RLOG-RIL ATC: AT< ERROR
01-01 03:00:12.124  1769  1889 D use-Rlog/RLOG-RIL ATC: AT> AT+CFUN?
01-01 03:00:12.127  1769  2033 D use-Rlog/RLOG-RIL ATC: AT< +CFUN: 1
01-01 03:00:12.127  1769  2033 D use-Rlog/RLOG-RIL ATC: AT< OK
01-01 03:00:12.127  1769  1889 D use-Rlog/RLOG-RIL ATC: AT> AT+CPIN?
01-01 03:00:12.128  1769  2033 D use-Rlog/RLOG-RIL ATC: AT< +CME ERROR: 10
01-01 03:00:12.227  1769  1885 D use-Rlog/RLOG-RILF: +++ uevent = add@/devices/soc.0/1c2c000.twi/i2c-4/4-002c/firmware/FM1388_60000000.dat
01-01 03:00:12.347  1769  1885 D use-Rlog/RLOG-RILF: +++ uevent = remove@/devices/soc.0/1c2c000.twi/i2c-4/4-002c/firmware/FM1388_60000000.dat
01-01 03:00:13.128  1769  1889 D use-Rlog/RLOG-RIL ATC: AT> AT+CFUN?
01-01 03:00:13.129  1769  2033 D use-Rlog/RLOG-RIL ATC: AT< +CFUN: 1
01-01 03:00:13.130  1769  2033 D use-Rlog/RLOG-RIL ATC: AT< OK
01-01 03:00:13.130  1769  1889 I use-Rlog/RLOG-RIL RILC: [setRadioState]:oldState=1, newState=2
01-01 03:00:13.130  1769  1889 W RILC    : RIL_onUnsolicitedResponse called before RIL_register
01-01 03:00:13.130  1769  1769 D RILD    : RIL_Init rilInit completed
01-01 03:00:13.130  1769  1889 D use-Rlog/RLOG-RIL ATC: AT> AT+CPIN?
01-01 03:00:13.130  1769  1769 I RILC    : SIM_COUNT: 1
01-01 03:00:13.130  1769  1769 E RILC    : RIL_register: RIL version 11
01-01 03:00:13.130  1769  1769 I RILC    : s_registerCalled flag set, 1
01-01 03:00:13.130  1769  1769 I RILC    : Start to listen RIL_SOCKET_1
01-01 03:00:13.130  1769  1769 D RILD    : RIL_Init RIL_register completed
01-01 03:00:13.130  1769  1769 D RILD    : RIL_register_socket started
01-01 03:00:13.130  1769  1769 D RIL_UIM_SOCKET: Adding socket with id: 0
01-01 03:00:13.130  1769  1769 D RILD    : RIL_register_socket completed
01-01 03:00:13.130  1769  1769 D RILD    : RIL_Init starting sleep loop
01-01 03:00:13.131  1769  2033 D use-Rlog/RLOG-RIL ATC: AT< +CME ERROR: 10

Radio logs for device, which can connect to internet:

01-01 03:00:16.484  1772  3203 D use-Rlog/RLOG-RIL ATC: AT> ATE0Q0V1
01-01 03:00:16.484  1772  3271 D use-Rlog/RLOG-RIL ATC: AT< ATE0Q0V1
01-01 03:00:16.486  1772  3271 D use-Rlog/RLOG-RIL ATC: AT< OK
01-01 03:00:16.986  1772  3203 D use-Rlog/RLOG-RIL ATC: AT> ATI
01-01 03:00:16.999  1772  3271 D use-Rlog/RLOG-RIL ATC: AT< Quectel
01-01 03:00:16.999  1772  3271 D use-Rlog/RLOG-RIL ATC: AT< EC25
01-01 03:00:16.999  1772  3271 D use-Rlog/RLOG-RIL ATC: AT< Revision: EC25EFAR06A02M4G
01-01 03:00:16.999  1772  3271 D use-Rlog/RLOG-RIL ATC: AT< OK
01-01 03:00:16.999  1772  3203 D use-Rlog/RLOG-RIL RILC: Quectel Product Revision: EC25EFAR06A02M4G
01-01 03:00:16.999  1772  3203 D use-Rlog/RLOG-RIL RILC: 9X07
01-01 03:00:17.000  1772  3203 D use-Rlog/RLOG-RIL ATC: AT> AT+CSUB;+CVERSION
01-01 03:00:17.000  1772  3305 D use-Rlog/RLOG-RIL tty2tcp: swap_sources ( s:rild-fwd <> c:13 ) fifo_size=1048576
01-01 03:00:17.000  1772  3305 D use-Rlog/RLOG-RIL tty2tcp: create_socket_server( rild-fwd )
01-01 03:00:17.000  1772  3305 D use-Rlog/RLOG-RIL tty2tcp: local server: rild-fwd sockfd = 14
01-01 03:00:17.000  1772  3305 D use-Rlog/RLOG-RIL tty2tcp: create_socket_server( serverfd=14 )
01-01 03:00:17.001  1772  3271 D use-Rlog/RLOG-RIL ATC: AT< SubEdition: V06
01-01 03:00:17.001  1772  3271 D use-Rlog/RLOG-RIL ATC: AT< VERSION: EC25EFAR06A02M4G
01-01 03:00:17.001  1772  3271 D use-Rlog/RLOG-RIL ATC: AT< Jun 14 2018 18:21:53
01-01 03:00:17.001  1772  3271 D use-Rlog/RLOG-RIL ATC: AT< Authors: QCT
01-01 03:00:17.001  1772  3271 D use-Rlog/RLOG-RIL ATC: AT< OK
01-01 03:00:17.001  1772  3203 D use-Rlog/RLOG-RIL ATC: AT> ATE0Q0V1
01-01 03:00:17.009  1772  3271 D use-Rlog/RLOG-RIL ATC: AT< OK
01-01 03:00:17.009  1772  3203 D use-Rlog/RLOG-RIL ATC: AT> ATS0=0
01-01 03:00:17.014  1772  3271 D use-Rlog/RLOG-RIL ATC: AT< OK
01-01 03:00:17.014  1772  3203 D use-Rlog/RLOG-RIL ATC: AT> AT+QURCCFG="URCPORT","usbat"
01-01 03:00:17.019  1772  3271 D use-Rlog/RLOG-RIL ATC: AT< OK
01-01 03:00:17.019  1772  3203 D use-Rlog/RLOG-RIL ATC: AT> AT&D2
01-01 03:00:17.020  1772  3271 D use-Rlog/RLOG-RIL ATC: AT< OK
01-01 03:00:17.020  1772  3203 D use-Rlog/RLOG-RIL ATC: AT> AT+CMEE=1
01-01 03:00:17.021  1772  3271 D use-Rlog/RLOG-RIL ATC: AT< OK
01-01 03:00:17.021  1772  3203 D use-Rlog/RLOG-RIL ATC: AT> AT+CREG=2
01-01 03:00:17.023  1772  3271 D use-Rlog/RLOG-RIL ATC: AT< OK
01-01 03:00:17.023  1772  3203 D use-Rlog/RLOG-RIL ATC: AT> AT+CGREG=2
01-01 03:00:17.023  1772  3271 D use-Rlog/RLOG-RIL ATC: AT< OK
01-01 03:00:17.023  1772  3203 D use-Rlog/RLOG-RIL ATC: AT> AT^DSCI=1
01-01 03:00:17.024  1772  3271 D use-Rlog/RLOG-RIL ATC: AT< OK
01-01 03:00:17.025  1772  3203 D use-Rlog/RLOG-RIL ATC: AT> AT+CFUN?
01-01 03:00:17.026  1772  3271 D use-Rlog/RLOG-RIL ATC: AT< +CFUN: 1
01-01 03:00:17.026  1772  3271 D use-Rlog/RLOG-RIL ATC: AT< OK
01-01 03:00:17.026  1772  3203 D use-Rlog/RLOG-RIL ATC: AT> AT+CPIN?
01-01 03:00:17.027  1772  3271 D use-Rlog/RLOG-RIL ATC: AT< +CPIN: READY
01-01 03:00:17.027  1772  3271 D use-Rlog/RLOG-RIL ATC: AT< OK
01-01 03:00:17.027  1772  3203 D use-Rlog/RLOG-RIL ATC: AT> AT+CFUN?
01-01 03:00:17.028  1772  3271 D use-Rlog/RLOG-RIL ATC: AT< +CFUN: 1
01-01 03:00:17.028  1772  3271 D use-Rlog/RLOG-RIL ATC: AT< OK
01-01 03:00:17.028  1772  3203 I use-Rlog/RLOG-RIL RILC: [setRadioState]:oldState=1, newState=2
01-01 03:00:17.028  1772  3203 W RILC    : RIL_onUnsolicitedResponse called before RIL_register
01-01 03:00:17.028  1772  1772 D RILD    : RIL_Init rilInit completed
01-01 03:00:17.028  1772  1772 I RILC    : SIM_COUNT: 1
01-01 03:00:17.028  1772  3203 D use-Rlog/RLOG-RIL ATC: AT> AT+CPIN?
01-01 03:00:17.028  1772  1772 E RILC    : RIL_register: RIL version 11
01-01 03:00:17.028  1772  1772 I RILC    : s_registerCalled flag set, 1
01-01 03:00:17.028  1772  1772 I RILC    : Start to listen RIL_SOCKET_1
01-01 03:00:17.028  1772  1772 D RILD    : RIL_Init RIL_register completed
01-01 03:00:17.028  1772  1772 D RILD    : RIL_register_socket started
01-01 03:00:17.028  1772  1772 D RIL_UIM_SOCKET: Adding socket with id: 0
01-01 03:00:17.028  1772  1772 D RILD    : RIL_register_socket completed
01-01 03:00:17.028  1772  1772 D RILD    : RIL_Init starting sleep loop
01-01 03:00:17.030  1772  3271 D use-Rlog/RLOG-RIL ATC: AT< +CPIN: READY
01-01 03:00:17.030  1772  3271 D use-Rlog/RLOG-RIL ATC: AT< OK

Do you have any assumption, what can be a reason for our problem?

Environment:

01-01 03:00:15.459  1772  1772 D RILD    : +++ dlopen(/system/lib/libreference-ril-quectel-ec25e.so) +++
01-01 03:00:15.472  1772  1772 D RILD    : RIL_Init argc = 3 clientId = 0
01-01 03:00:15.472  1772  1772 D use-Rlog/RLOG-RIL RILC: Quectel RIL Version: Quectel_Android_RIL_Driver_V1.42.17
01-01 03:00:15.472  1772  1772 D use-Rlog/RLOG-RIL RILC: libquectel-ril build info: On branch master Your branch is up to date with 'origin/master'. 50ee4729ee83170cf1d819360be736c0700d65af user.email=marco.gao@quectel.com 10/25/18_09:54:48

Dear Dimorinny,
About your issue, it is better to check whether the hardware connection have any abnormal. You also can upgrade the ril version to try again. Thanks!
https://cnquectel-my.sharepoint.com/:u:/g/personal/eastchina-fae_quectel_com/EdK65P0qeSpNrxy7xfvt8GMBSCaKFX0vpn2-kbV8S53MMA?e=3oeqvz

Thank you a lot for your answer.

I’ve checked voltage on pins and looks like in that case (loosing SIM card) we have 0 voltage on USIM_VDD (on chip side) and SIM_VCC (on sim connector side). Exactly the same state we have without SIM card inside slot.

We suppose, that maybe it is an option, that because of shakes, temperature changes, etc (we’re using your module inside vihicle head units) our SIM connector can loose SIM card for some reason.

According your documentation, we can enable hot-swap function using AT command: AT+QSIMDET=1,0, but it isn’t working as expected. Our steps:

  1. Turning on your module with SIM card inside (SIM detected, voltage is 1.8V on power pins)
  2. Enabling hot swap mode using at command: AT+QSIMDET=1,0. Response is success.
  3. Getting SIM card from module, waiting about 10 seconds. (SIM is not detected (CME ERROR: 10), voltage is 0V on power pins from your chip to SIM connector).
  4. Injecting SIM again, waiting about 10 seconds. (SIM is not detected (CME ERROR: 13), voltage is 0V on power pins)

Can you please make an advice here? What can be a reason of that behaviour? Should we do some extra actions for enabling hot swap functionality beside changing mode using AT commands?

Dear Dimorinny,
Please check the following notes about the command AT+QSIMDET. Please make sure hardware deisgn have no any issue and need to restart the module after you set the command. Thanks!

image

Good afternoon,

we also have an issue with the hot-swap/usim_detection function and we can not find a solution in this thread yet. We are using the EG25GGB-256-SGNS LGA Version with Firmware EG25GGBR07A07M2G .
Below you will find a schematic part of the SIM interface, which is designed as the reference circuit in the datasheet. The problem is, that the hot-swap function seems not working. When hot-swap function is disabled, the SIM Card is detected, communication is working and everything is fine.

What we already checked:

  • AT Commands are correct (the same steps as mentioned in other posts)
  • 1.8V is coming from the module (VDD_EXT) and is stable
  • insertlevel is set to the right level (tested both levels)
  • module is restarted.
  • switch of the card reader is switching clean (no bouncing, no contact resistance). But what I recognized is, that the voltage level at USIM_PRESENCE is only 1,2V when the switch is closed. With a lower pull-up resistance, voltage level rises! This is not the expected DC characteristic from the datasheet. If R52 is removed, the signal switches between 0V and 1,8V as I expected.

Thank you very much in advance

Dear JayAr,
For SIM card hot plug function, EG25-G supports (U)SIM card hot-plug via the USIM_PRESENCE pin. The function supports low level and high level detection. By default, it is disabled, and can be configured via AT+QSIMDET command. And this PIN is 1.8 V power domain.
So for your issue, it is better to double check it, such as whether the pin level will change after you set it, and confirm whether it is correct. Hot-swap function takes effect after the module is restarted.

Dear Kyson,

my Software colleague is present again so we were able to double check everything.
(At first, there is a mistake in my first post, where I wrote voltage level at usim_presence is 1,2V when switch is closed. I meant, when switch is open)

  • when hot-swap is not set and card reader switch is open, the voltage level at usim_presence is 1,2V.
  • when hot-swap is set and card reader switch is open, the voltage level at usim_presence is 0,65V.
  • when hot swap is set by QSIMDET command we get an OK, but after restarting the module there is no reaction when SIM Card is inserted/removed. After restarting the module, the card detection is still set but hot-swap still does not work.

Dear JayAr,
Please double check the USIM_Presence should be pull up to VDD_EXT with 51k resistence. For hardware design, please make sure your design is the same as the following reference. And for software, just need to pay attention to whether the setting is take effect after reboot the module. Thanks!

Dear Kyson,

our design is almost identical to the Quectel reference design (see schematic of my first post).
I unsoldered and measured R52 (0 Ohm) and R51 (56k Ohm), measured VDD_EXT again (1,8V, stable) checked the card reader and the layout data. I could not find any inconsistency.
Still, after rebooting the module we do not get any interrupt when inserting or removing SIM card (e.g. +CPIN: NOT READY / +CPIN: READY). But the function is enabled because response to AT+QSIMDET? is +QSIMDET: (1,0) OK or +QSIMDET: (1,1) OK (tried both insertion levels).

Also when SIM card is inserted:
If Hot-Swap function is enabled, response to AT+QSIMSTAT? is +QSIMSTAT: (1,0).
If Hot-Swap function is disabled, response to AT+QSIMSTAT? is +QSIMSTAT: (1,1).

Dear JayAr,
If the hardware design and software design are the same, the hot-swap still cannot take effect. The only method maybe you can try to upgrade the firmware to have a try. Please email to support@quectel.com to get the latest firmware and upgrade tool to have a try, you also can get the local support via the above email. Thanks!

I’m having the same issue here, but was wondering if the missing 15k pull-up between USIM VDD and DATA could be the cause.

Posted detail here

You can have a try to connect it and confirm whether it still have such issue. Thanks!