HE910 doesn’t receive SMS while sending data in a socket

5 thoughts on “HE910 doesn’t receive SMS while sending data in a socket

  1. Normal
    0

    21

    false
    false
    false

    FR
    X-NONE
    X-NONE

    Hello,

     

    I’m running a script on a
    HE910 module that permanently sends data through a socket opened with the MDM2
    library and I am dealing with the GSM connection and the SMS treatments thanks
    to MDM. I’m using threads to send data on the socket while checking if the
    connection is still correct.

     

    I have the following issue
    : when data is going through the socket opened with MDM2 (I am connected with
    AT#SD command using an online mode connection), the module doesn’t receive the
    SMS I’ve just sent, but in spite always returns me OK to the
    AT+CMGL="ALL" command. However when the socket is closed, then the
    module receives the SMS just a few seconds after it’s sent. 

     

    Do you have an explanation
    to this issue and do you know any setting to solve it?

     

    Thanks!

     

    Quesnel Jean-Baptiste

     

    1. Hi ,

      probably it’s not a issue.

       

      please try without to use Python. I think you will have the same behavior.

      This is because probably you are registered for GPRS service in that moment and not in umts.

      Please use one of  these commands to understand if you are registered in GSM/GPRS   or in WCDMA: at#moni, at#rfsts, at#servinfo and at#psnt.

       

      Please consider that if registered in GSM/GPRS,  the module behaves like a class B module, that means:

       
      if the network uses the Network Operation Mode 2 (hereinafter referred to as "NOM 2") :

       the module can be connected to both voice/SMS and GPRS services but use only one at a time:

       

      -the paging (voice calls, SMS,) is sent by the net on CCCH logical channel ; the GPRS data are managed by the Telit module on the PDCH channel. If there is GPRS data exchanged a Temporary Block Flow is active (hereinafter referred to as "TBF"). A TBF is temporary and is maintained only for the duration of the data transfer. When the TBF is active, the module manages this session on PDCH channel and it can not listen the paging on the CCCH channel. So, if a paging is sent to the module in this condition the module can not listen the paging. This is a frequent condition in case of huge GPRS data traffic.
       For the same reason if the GPRS data traffic is burstly, it`s more easy to receive a paging during a pause between two TBFs.

       

      In this case TBFs (GPRS data) are suspended to listen the paging channel. 

       
       if the network (few network in the world at present)  uses the Network Operation Mode 1 (hereinafter referred to as "NOM 1") :

       -if there are not exchanged GPRS data (TBF is temporary not active, but the GPRS context could be active!), the paging is sent by the net on the CCCH channel. So if the paging is sent, the module is able to listen it on the CCCH (and other TBFs are suspended to listen the paging channel )
       -if there are GPRS data exchanged (TBF is temporary active) they are exchanged on the PDCH channel. With NOM1 the net sends the paging for the module on PDCH directly and in this case the module is able to listen it and TBFs (GPRS data) are suspended .

       

      This is a feature of GPRS class B phones. 

       

       

    2. Hello,

      it should not be an issue, but a feature of the class B modules.

      Our module, if registered in GSM/GPRS net, behaves like a class B module, that means that if the newtork supports the NOM2 mode, the module  can be connected to both voice/SMS and GPRS services but use only one at a time. more details below.

       

      Please verify the same behavior also without use Python.

      Please verify the registration if it is  GSM-GPRS  registered or on WCDMA net with one of the following commands:

      at#rfst, at#moni, at#servinfo and check also durning the connection the answer to the command at#psnt.

       

      More details:

       

      If the network uses the Network Operation Mode 2 (hereinafter referred to as "NOM 2") :

       -the paging (voice calls, SMS,) is sent by the net on CCCH logical channel ; the GPRS data are managed by the Telit module on the PDCH channel. If there is GPRS data exchanged a Temporary Block Flow is active (hereinafter referred to as "TBF"). A TBF is temporary and is maintained only for the duration of the data transfer. When the TBF is active, the module manages this session on PDCH channel and it can not listen the paging on the CCCH channel. So, if a paging is sent to the module in this condition the module can not listen the paging. This is a frequent condition in case of huge GPRS data traffic.
       For the same reason if the GPRS data traffic is burstly, it`s more easy to receive a paging during a pause between two TBFs.
      In this case TBFs (GPRS data) are suspended to listen the paging channel. 

       if the network uses the Network Operation Mode 1 (hereinafter referred to as "NOM 1") :

       -if there are not exchanged GPRS data (TBF is temporary not active, but the GPRS context could be active!), the paging is sent by the net on the CCCH channel. So if the paging is sent, the module is able to listen it on the CCCH (and other TBFs are suspended to listen the paging channel )
       -if there are GPRS data exchanged (TBF is temporary active) they are exchanged on the PDCH channel. With NOM1 the net sends the paging for the module on PDCH directly and in this case the module is able to listen it and TBFs (GPRS data) are suspended .

       

       

      This is a feature of GPRS class B phones.

       

  2. Thanks for your explanations!

     

    If I understand correctly, my HE910 won’t be able to work as I need using class B but it will in class A. 

    I have used the AT+CGCLASS command and I am indeed in class B, but when I try to switch to class A, I’ve got a "+CME ERROR: operation not supported". 

     

    Is it linked with the quality of the GSM network? 

     

    Is the AT+CGCLASS="A" enough to tell the module I want to use UMTS by default?

    Do I have to do something with AT#BND?

     

    For information, the AT#MONI gives me :

    #MONI: F SFR BSIC:17 RxQual:0 LAC:0DCF Id:A7D8 ARFCN:115 PWR:-91dbm TA:0

    Regarding your explanations, how do I know if the network is in NOM1 mode or in NOM2?

    1. Hello, yes it will in class A (a simple definition of calls A,B and C is at this link: http://en.wikipedia.org/wiki/General_Packet_Radio_Service) . But  you need to be registered on UMTS. From at#moni answer it seems you are registered on GSM/GPRS  and not in UMTS (look at the AT command description user guide for this command).

      To force the registration on UMTS network, please give a look in the AT command description to the command at+ws46 .

      Regading your question about NOM1 or 2, you should  check the answer to at#rfsts and at#servinfo commands