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:
-
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.
-
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.
-
Please double-check the command name. The audio switch command should be:
AT+QAUDSW=0
not:
AT+QUADSW=0
- 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.