zephyr: Problem with PPP + GSM MUX with SIMCOM7600E
Describe the bug I am trying out the GSM PPP driver and GSM MUX with two SIMCOM modems: SIM868 and SIM7600E. It works as a charm on SIM868 but I am having problems with SIM7600E.
When just using MODEM_GSM_PPP=y and GSM_MUX=n it works fine
When enabling GSM_MUX, AT commands works fine and I can run ping in parallel, so network connectivity works to some extent…
My problem is when I start something more demanding on PPP (such as a lwm2m client, or a dns-lookup) the modem halts and then reboots. The same thing happens even if I do not use any AT commands in parallel with the client.
When dumping the logs I do not see anything that is obviously wrong. Is there anyone here who have experience with the GSM MUX and can advise on how to debug this issue?
I have been in contact with the modem vendor and they claim muxing should work in general.
To Reproduce Steps to reproduce the behavior:
Use the LWM2M client sample code
This is the prj.conf I used:
CONFIG_NET_SHELL=y
CONFIG_LOG=y
CONFIG_CONSOLE=y
CONFIG_LOG_DEFAULT_LEVEL=4
CONFIG_LWM2M_LOG_LEVEL_DBG=y
CONFIG_NET_LOG=y
CONFIG_NET_IPV6=n
CONFIG_NET_CONFIG_NEED_IPV4=y
CONFIG_NET_CONNECTION_MANAGER=y
CONFIG_NETWORKING=y
CONFIG_LWM2M=y
CONFIG_MODEM=y
CONFIG_NET_PPP=y
CONFIG_NET_L2_PPP=y
CONFIG_NET_L2_PPP_OPTION_MRU_NEG=y
CONFIG_MODEM_GSM_PPP=y
CONFIG_MODEM_GSM_UART_NAME="UART_1"
CONFIG_MODEM_GSM_APN="m2m.tele2.com"
CONFIG_DEVICE_POWER_MANAGEMENT=y
CONFIG_GSM_MUX=y
CONFIG_MODEM_GSM_SIMCOM=y
CONFIG_MAIN_STACK_SIZE=2048
Impact This is a showstopper for my client
Logs and console output I do not see anything in the logs that looks out of the ordinary. Would appreciate tips on what data to look for.
Environment (please complete the following information):
- OS: Linux, MacOS
- Toolchain: arm-none-eabi
- Commits:
- name: zephyr remote: upstream path: zephyr revision: 98bcc51b0925a92db28f127d08b842b1d609bce8 clone-depth: 10 west-commands: scripts/west-commands.yml - name: hal_nordic revision: 00580f43b9d48f2079d611ce12f0fbc78d3040f1 path: modules/hal/nordic - name: cmsis revision: 542b2296e6d515b265e25c6b7208e8fea3014f90 path: modules/hal/cmsis - name: segger revision: 6fcf61606d6012d2c44129edc033f59331e268bc path: modules/debug/segger
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 25 (23 by maintainers)
For anyone struggling with SIM7600 I have the advice. Check if the power source for SIM7600 is good enough before you spend hours on tshooting…
Currently the modem code in
drivers/modem/modem_iface_uart.c:modem_iface_uart_write()is using polling interface. Perhaps it might be possible to use the interrupt driver API instead, would require some changes to modem code and more testing. Patches are welcome if you want to try that route.You probably know this but just in case, the https://simcom.ee/documents/ contains documentation for various SIMCOM modems.