SIMCOM SIM900 GSM shield, AT+CHFA=1 returns error. Desperate!

Title.

#include <SoftwareSerial.h>

SoftwareSerial mySerial(7, 8); // RX, TX

void setup() {

Serial.begin(19200);

mySerial.begin(19200);

mySerial.write("AT+QAUDCH=1");

}

void loop() {

if (mySerial.available()) {

Serial.write(mySerial.read());

}

if (Serial.available()) {

mySerial.write(Serial.read());

}

}

I can call, Ican text, I can answer but no sound and other's don't hear anything. I have aworking pair of headphones and a mic. Yesterday when I got called and had the same headphones plugged in - I could hear the 8bit music but ever since then nothing.

I've tried setting Carriage return & Both NL & CR, doesn't work.
some results:

AT+CHFA=?

+CHFA: (0 = NORMAL_AUDIO, 1 = AUX_AUDIO)

AT+CHFA?

+CHFA: 0

AT+CHFA=1

ERROR

AT+CHFA=1\r

ERROR

However, this code - AT commands for gsm shield with audio ยท GitHub
has some startup commands. There is a command AT+QAUDCH=1. In some SIM900 documentations I saw this command is used to change audio channels, while some other documentations show AT+CHFA = 1. In my case both don't work. However, when I run this code, the command AT+QAUDCH=1 returns OK but I still cannot hear anything! I tried adding another AT+QAUDCH=1 in the array just to see if it's gonna return an OK - well, it returned an ERROR which is even stranger!

First day I managed to receive a call I had sound come out of the same headphones. Now there is no sound. Microphone also doesn't work. Many of the listed commands don't work either, just return ERROR.
I'm really frustrated now, haven't made any progress the last 2 days..

Can you get more information for ERROR?
I think the datasheet describe about a thing which you should do against your type error.

It just says ERROR. I saw some commands about extended error report but couldn't get anything except "ERROR". I tried resetting to manufacturer settings in case I've messed something up but nope, still doesn't work. Calls, sms are flawless.

  1. enough delay after Serial.println() ?

  2. flashing it may solve your issue

KASSIMSAMJI:

  1. enough delay after Serial.println() ?

  2. flashing it may solve your issue

  1. Sorry, what ?
  2. Can you recommend a recent UP-TO DATE tutorial ? This is the one I got - http://cdn.shopify.com/s/files/1/1877/5421/products/sku_475131_1_1024x1024.jpg?v=1512191559
    SIMCOM SIM900

Thanks in advance.

Stoil:

  1. Sorry, what ?
  2. Can you recommend a recent UP-TO DATE tutorial ? This is the one I got - http://cdn.shopify.com/s/files/1/1877/5421/products/sku_475131_1_1024x1024.jpg?v=1512191559
    SIMCOM SIM900

Thanks in advance.

  1. i meant providing enough delay() after Serial.prints sent to your sim 900, otherwise you might wan to check this

  2. (a) http://dostmuhammad.com/blog/firmware-upgrade-for-sim900-gsmgprs-modem/

(b) https://simcom.ee/documents/?dir=

i am sure some AT commands errors can be solved with flashing (upgrading the FW), but you check the current one , and find the latest on that web

Hello,
thanks for the response.

  1. I still do not understand. Is delay needed or not ? Why ?
  2. Thanks. I checked it out and it doesn't seem complicated. I'll try for a few more days and will flash it as a last resort.
    Regards