Re: GSM modem AT commands
Thanks for your reply, Billy. (I didn’t see it until now because I didn’t receive your response in my email; I had to check https://lists.zephyrproject.org/g/users/. Odd, because I have received email responses from this list before.)
- This seems to be something that would need to be included in the device driver rather than the PPP modem.
GSM_PPP is the device driver (https://github.com/zephyrproject-rtos/zephyr/blob/main/drivers/modem/gsm_ppp.c). Confusingly, there is also a driver specifically for my modem (https://github.com/zephyrproject-rtos/zephyr/blob/main/drivers/modem/quectel-bg9x.c) but from what I understand, that is the old version. In any case, neither one seems to provide any means for sending arbitrary AT commands from the application.
But now after browsing the code a bit more, I see that a different modem driver does provide more control, including sending arbitrary AT commands (although only for debug purposes): https://github.com/zephyrproject-rtos/zephyr/blob/main/include/zephyr/drivers/modem/hl7800.h Perhaps something similar needs to be added to the gsm_ppp driver.
I’ll open an issue on GitHub to figure out where things should go.
Sent: Thursday, May 12, 2022 15:04
Subject: GSM modem AT commands
I have successfully made a network connection using MODEM_GSM_PPP. Now, I would like to reduce power consumption by using power saving mode (PSM). What is the recommended way to send the AT commands to achieve this?
Can I send AT commands to the UART device after gsm_ppp_start has been called? How would I handle the response when the modem driver is already listening to that UART? Is this what GSM_MUX is for? I don’t see any documentation for how do use GSM mux. Can I attach another UART mux to the device? Can I pick an arbitrary unused DLCI?
I see that the modem driver has code to simplify handling AT responses, but this code is private to the driver. Why is this code not available for general purpose AT command handling? Is it planned to be made available?