EG915U-EU doesn't accept AT+QDAI command with Digital PCM output = 1

Hi everyone,

I’m trying to use the digital PCM path through AT+QDAIin the sense of a customer digital PCM routing as described in the AT documentation I’m working from. What I’m seeing is confusing, and I’d really appreciate help interpreting whether this is expected or what I’m missing.

If I send AT+QDAI=1,1,0,4,0,0,1,1, the modem returns OK.After a reset or full reboot,AT+QDAI? returns the following line: +QDAI: 3,1,0,4,0,0,1,1.The important part for me is that the first field changes from 1 to 3, while the rest of the parameters stay aligned with what I configured. When I query the supported values with AT+QDAI=?, the first field includes options like (1,3), so 1 doesn’t look “impossible”.

I’m following the EG915U hardware guidance for PCM as a slave interface. Separately, switching the digital audio interface toward the external codec path works fine on my hardware. Both AT commands show OK.

Questions:

  • I am assuming that the AT command sent is not being blocked because the PCM Interface isn’t properly connected hardware wise. Because the AT+QUADSW = 0 command works fine for me. Is that correct?

  • Do I send the correct AT commands to this specific Quectel module? Or can the firmware flashed onto the Quectel be a bottleneck; potentially disabling the digital PCM configuration?

Dear Customer,

Hi,

Based on the AT command behavior and the Quectel audio interface description, the result looks related to how the digital audio device type is being interpreted, rather than a simple PCM pin connection issue.

For AT+QDAI, the first parameter is the digital audio input/output device type. It is not the PCM master/slave mode.

For example:

AT+QDAI=<io>,<mode>,<fsync>,<clock>,<format>,<sample>,<num_slots>,<slot_mapping>

The first parameter <io> represents the external codec/device type, such as supported codec mode or user-defined external codec mode, depending on what is listed by:

AT+QDAI=?

So in your case:

AT+QDAI=1,1,0,4,0,0,1,1

and after reboot:

+QDAI: 3,1,0,4,0,0,1,1

The important point is that the first value changing from 1 to 3 does not mean the PCM slave/master configuration changed. The slave/master setting is the second parameter, and it remains 1, which means slave mode.

For EG915U, the PCM interface only supports slave mode, so the external codec or host side needs to provide the PCM clock and frame sync. Please make sure the external side provides the required PCM_CLK and PCM_SYNC, and that the signal level is 1.8 V.

Regarding your questions:

  1. OK from AT+QDAI means the command syntax and parameters were accepted by the AT layer. It does not fully confirm that the PCM hardware connection is correct.

  2. If you mean AT+QAUDSW=0, this command is used to switch the module to external codec mode. If it returns OK, it indicates the external audio mode switching command is accepted. However, it still does not fully verify that the PCM data path, clock, sync, and audio routing are working correctly.

  3. Please double-check the command name. The audio switch command should be:

AT+QAUDSW=0

not:

AT+QUADSW=0
  1. Whether the digital PCM configuration is available depends on the module model and firmware capability. The safest reference is the actual response from:
AT+QDAI=?

If the required <io> value is not listed in AT+QDAI=?, then that mode is not supported by the current software configuration.

For a user-defined external codec or customer PCM routing case, please check whether <io>=0 is supported in your AT+QDAI=? response. If only values such as (1,3) are listed, then the current firmware may only support the listed codec modes, and user-defined PCM routing may not be available in that version.

Suggested checking flow:

AT+QDAI=?
AT+QDAI?
AT+QAUDSW?

Then configure the required supported codec mode:

AT+QDAI=<supported_io>,1,0,4,0,0,1,1
AT+QAUDSW=0

After that, reboot the module and query again:

AT+QDAI?
AT+QAUDSW?

If the first parameter still changes after reboot, it is recommended to check with Quectel support whether the current software branch has fixed codec selection behavior or only supports specific external codec types.

Also, please note that for EG915U PCM slave mode, the external codec or host must provide the PCM clock and sync. The module side will not generate the PCM clock in slave mode. Therefore, even if the AT command returns OK, the actual audio path will still depend on the correct PCM/I2C hardware connection and external clock configuration.