still problem with at command

22 thoughts on “still problem with at command

  1. I still have problem with at command and functionality gsm module.

    if ringing to gsm module  gsm module resond:

    +CPAS: 3
    +CLCC: 1,1,4,0,0,"0903451515",129,"Peter Simon"


    then I send to module ATA and module respond:



    after this wait 1sec and then send AT+VTS=D00D00D and module respond:


    +CME ERROR: operation not allowed


    sometime work sometime don’t  work.
    what is wrong??? before send any at command I wait minimal 0,1sec , +IPR set to 9600, 

    is there any possibility to find more accurate error ???

  2. today I do some test, not with my program only with rsterm.

    and this is my test:








    +CME ERROR: operation not allowed


    +CIND: 5,0,1,0,0,1,0,0,3



    +CREG: 0,1



    +COPS: 0,0,"EUROTEL-SK"



    +CLCC: 1,1,0,0,0,"0903451515",129,"Peter Simon"



    #SERVINFO: 46,-81,"EUROTEL-SK","23102",30,0013,07,0





     as you can see , if send ATA then gsm module respond CONNECT , but if send AT+VTS then error .

    but what is problem ???? 

    other command I use for test … to analize . why can’t send DTMF tone to other side ??? 

        1. hmmm. I don’t know if can write big delay or not , because after connect I send VTS and return error . after this I control all +CIND, +COPS,+CREG,+#SERVINFO,+CLCC  all what you see and try again VTS and still return error. 

          look if on first VTS return error  It does not matter when to send next command if delay 5sec or more. I must ATH and then try all again.

          if after connect  VTS send DTMF tone , then all is OK. and I can send DTMF tone again and again. But if first time VTS is error then I can try again and again and still  is error but All other parameter show so I’m receive call , call is in progress … .



          1. Hi.
            When I sleep at night, I was thinking where the problem may be and especially how to fix it. My problem is mainly in the ATA command and ATD. When transferring data via GPRS is no problem. If I upgrade the firmware in the MCU so use 128bytov buffer. My firmvware can be great up to 28kB, download data to more than 200 times and now to the tests I did not record any errors. The only problem is the calls received (ATA) or call at the number (ATD). Then the GSM module returns RELEASE. When answering (ATA) will ever become the GSM module returns a CONNECT but then I can not send DTMF tones. And I used the no traditional way and receive a phone call by using the auto answer. If I find so somebody to call instead of ATA commands, use ATS0 = 1 and wait for MORE ringtone. Then the GSM module automatically picks up the call and I accept CONNECT response and send DTMF tones as required.
            While I have thoroughly tested and therefore that I can not relevantly express but it does not solve the problem, why sometimes the wheel does not accept call.
            I did tests where the GSM module is connected directly to the Li-ion battery and errors become manifest as well. All measurements I performed with an oscilloscope with galvanic isolation and testing of prototype was connected to a Li-ion battery. Maximum Ripple Voltage 109mV measured the I and therefore I think the problem is not in power.

          2. Hi Sevc,

            which is the firmware? (at+cgmr)

             Have you tried also setting before at+fclass=8? Please, in this phase test all issuing the AT commands by hand


  3. I have latest firmware, I change my code and first I check +FCLASS and was 0 (data) , then I set new value 8 (voice).
    now I make test.


    is possible so this is problem , will see after test.


    regards, nice weekend.



    no, this setting don’t solve problem .

    testing, the second call did not work correctly 


    write here all at command what I must test if after CONNECT can’t send +VTS= …. DTMF tone 

    1. Hi Luca.

      If you want than I can record all comunication from GSM module to MCU and MCU to GSM . Then make test , call from GSM to any nummber and receive call . and on all command will be date-time  stamp.



        1. Hi Svec,

           before to carry out any log , I would like to understand well what happens:
          you have written in a post "sometime work sometime don’t  work",  and in another one
          "the second call did not work correctly" .

          1- does this mean that at the first time or some you are able to send DTMF tones with success?

          The other questions I’ll do after your answer

          1. Hi Luca.
            So I have a problem in two ways. The first is when calling the telephone number (ATD), and the second is when answering (ATA).
            In both cases, it sometimes works sometimes not.
            1. ATA
            I tried to answer the call in Hyperterminal, rsterm program, and in my application.
            Each time to capture information about incoming calls, then send an ATA command. Sometimes GSM module immediately respond RELEASE, and canceled an incoming call. Sometimes the answer CONNECT GSM module. After receiving answers CONNECT wait 1sec and try to send the command AT + VTS =… for DTMF tones.
            Sometimes it works but sometimes GSM module responds + CME ERROR: operation not allowed. If I test other commands you can find the answer in previous posts.
            Therefore I changed the commands and command, instead of ATA, uses ATS0 = 1 to automatically answer an incoming call. In tests GSM module automatically picks up the call and GSM module sends CONNECT. 1sec and then wait for the command to send DTMF tones. Sometimes it works sometimes it does not work. But if tests other commands (see previous post) works. Repeatedly messenger command AT + VTS =… but still responds + CME ERROR: operation not allowed, while still a call in progress.
            In all the tests I used my App or my MCU emulates a virtual serial port (USB) and I used it in Hyperterminal or another computer program for serial communication.
            Today unsolder MCU and connect the GSM module primae harware serial port on my PC that I refute the possible error MCU.
            Please write AT command that I should try in case it will not be able to send DTMF tones properly

          2. Hi Sevc,


            2nd question :


             with the hardware serial port of the GSM module  connected to your PC (excluded the MCU) :


            could you open an hyperterminal session on your PC and issue "by hand" (not through a script or some other automatics procedure) at least three times  the sequence of AT commands which failws sometimes in case of MCU is present?

            This test is to investigate that a timing problem  between commands could be present.

            Please let me know the result of this slow/manual but useful test.

             Depending on this test result we will evaluate the next step





          3. today I made test with python script.

            I write small script :


            import MDM
            import MOD

            res = MDM.send(‘AT+FCLASS=8r’,0) # voice call
            res = MDM.receive(5)
            res = MDM.send(‘ATAr’,0)
            res = MDM.send(‘AT+VTS=D00D00Dr’,0)


            and if start call to my GSM module then over serial port receive string RING. 

            then run script #EXECSCR and GSM module accept call and the first two attempts to function well but third attempts don’t work . Just accept call no DTMF tone.

            if test this command over serial port AT+VTS=… then resond is  + CME ERROR: operation not allowed

            no my MCU , no my program only python script is run any idea???


            best regards .

            PS: now I wait for PCB for GL-865 and try all again in new module


          4. Hi Sevc,

            I think we will contact you directly, because not so many info   we can get from these posts (also the firmware version asked we don’t know). Then we will post the result of the investigations at the end

          5. On my profile is my email.

            and firmware version is 10.00.003


            write all at command what I need to test and I send to you respond.

            or write self python script and  I test all and read respond from serial port and send to you.

            I have two test board with GE-865 quad 




          6. the bad behavior appears during particular conditions. the new firmware 10.00.004 is able to avoid the bad effect of these conditions