I have a Wism0228 modem on a custom board, controlled by a PIC, and I am observing a very strange behavior with the ON/OFF pin. My sequence for switching on the modem is as follows:
- Force ON/OFF pin low
- Wait at 700 ms (datasheet says to wait at least 685 ms)
- Wait until the READY pin goes high (datasheet says at most it takes 7 seconds)
- Release the ON/OFF pin (it floats and is not controlled by the PIC)
With a logic analyzer, I can see the waveform for the READY pin and it is as the datasheet says: low -> high -> low -> high.
However, about 80 ms after the READY pin is high for the last time, I can see the ON/OFF pin going low for a couple of ms, then back high again. It is the modem that is toggling the pin because the processor is not controlling the pin.
The problem is that if I try to setup a GPRS connection before the modem toggles the ON/OFF pin I get the error code 10 (SIM not found). But 5 seconds latter, I retry again to setup the connection and now it works without a problem.
Is there a waiting time before I can use the modem ? The datasheet clearly states that the modem is available as soon as the READY pin completes the sequence: low->high->low->high sequence
The other problem I am observing is related to the reset pin. After 2 failed attempts to setup a GPRS connection, I toggle the reset pin low for 50 ms and then pull it back up again. A couple of seconds latter I repeat the procedure for turning on the modem. However, sometimes the ON/OFF pin is kept low indefinitely by the modem and not even a reset pulls it out of this state. I must manually switch off the power supply to reset the modem. This is a very strange behavior.
Should I keep the reset pin low for longer than 50 ms ? Must I force the ON/OFF pin high before resetting the modem ?
Is there a better/alternative way to initialize the modem ?
This is very annoying because sometimes the modem simply locks and I cannot use it anymore without manually switching off the power.