Sim card selecting on the fly


#1

Hi ,

I have a mangOH evaluation with wp7608 modem on it.
I observed that simcard is only detected during bootup.
root@swi-mdm9x28-wp:~# cm sim info
Type: EXTERNAL_SLOT_1
ICCID: 89332401000006309583
Home Network Operator:
EID:
IMSI: 234507089598384
Phone Number:

We would like to put the sim card in the slot after bootup. How can I acheive this sim card detection after bootup.
root@swi-mdm9x28-wp:~# cm sim info
Type: EXTERNAL_SLOT_1
ICCID:
Home Network Operator:
EID:
IMSI:
Phone Number:

Is there any way from software that I can make the SW Modem to look for the new sim card after boot up ?

Thanks


#2

@stirulaka,

The short answer is no, this requires actions from the application. Essentially when the unit powers up it will look for a SIM card in the selected interface, this is initially a hardware mechanism (detecting the SIM voltage type), then a firmware one (figuring out if it can talk to whatever it has detected). This has to happen as the signalling stack is powering up to make sure the two processes are synchronised.

Re implementing this (from an AT command perspective) you can enable the !UIMSTATUS unsolicited response using the at+wuslmsk command which will output a response when the UIM detect signal changes, at this point you can push the unit into low power mode and bring it out or reset the unit and it will then power up with the SIM card correctly.

Regards

Matt


#3

Hi Matt,

Thanks for your input. I appreciate your quick response on this topic.

May I know how can I push the unit to lower-power mode ?
So the re-implementation procedure in your earlier message, involves unit power cycling . am I correct ?
The reason why I am asking is that

We have a custom design board, which has a switch in between the 2 sim cards. The GPIO21 line is used to switch between the both the sim cards.

What we find is that when we configure the GPIO using AT+WIOCFG to be high we find that the GPIO does not go high until late in the boot-up sequence - after the WP7608 has already completed its search for a sim. Therefore we would like to be able to do one of two things:

  1. search again for the sim after the GPIO has gone high
  2. get the GPIO to go high earlier in the boot e.g. before the WP7608 has searched for the sim.

It seems to us that the WP7608 is pulling down the GPIO during the early boot up. Is this expected?


#4

@stirulaka,

To put the unit (actually the signalling core) into low power mode you can either use legato API’s or at+cfun=1. The signalling core boots MUCH faster than the application one and the SIM detection is done within a second or to on power up of the unit.

You cannot ‘run’ the SIM detection algorithm to detect the SIM card it has to be initiated as part of the signalling core boot up.

Regards

Matt


#5

What we find is that when we configure the GPIO using AT+WIOCFG to be high we find that the GPIO does not go high until late in the boot-up sequence - after the WP7608 has already completed its search for a sim. Therefore we would like to be able to do one of two things:

  1. search again for the sim after the GPIO has gone high
  2. get the GPIO to go high earlier in the boot e.g. before the WP7608 has searched for the sim.

It seems to us that the WP7608 is pulling down the GPIO during the early boot up. Is this expected?


#6

@stirulaka,

GPIO 21 is just a GPIO completely under the control of the the application core, not sure what bearing it has on the SIM detection? If you want to get it to go high or low at a specific point then you will need to play with the boot sequence (way beyond my area of knowledge or expertise), I would suggest you pitch this to the Legato community.

If you use the UIM1_DET line (pin 64) as described in the PTS with a SIM holder switch then you will get the unsolicted responses at which point you can perform point 1 above i.e. ‘search’ for the SIM in the form of putting it to LPM and then bringing it out again.

Regards

Matt