espressif/esp-protocols

esp_modem simple_cmux_client doesn't work with SIM7670G (IDFGH-13823)

morgana2313 opened this issue · 33 comments

Answers checklist.

  • I have read the documentation for esp-protocols components and the issue is not addressed there.
  • I have updated my esp-protocols branch (master or release) to the latest version and checked that the issue is present there.
  • I have searched the issue tracker for a similar issue and not found a similar issue.

What component are you using? If you choose Other, provide details in More Information.

esp_modem

component version

v1.1.0

IDF version.

v5.3.1-244-g4d0db7045d

More Information.

The simple_cmux_client doesn't work: Failed to configure multiplexed command mode... exiting. Using printf statements I found that cmux_term->init() in DTE::setup_cmux() returns false because of a timeout in CMux::init().

I'm using a LilyGo LilyGo T SIM7670G S3 board and added some code to reset and PWR the SIM7600G. The same code + uart config works with pppos_client and get an ip number. If I skip the dce->set_mode code the correct Operator name is displayed; so the uart is configured correctly.

BTW: I think this issue category should be named "Issue: Installation, build or bug report"

Hi @morgana2313

I currently don't have any SIM7670 device with me, but the CMUX related command should work the same way as 7600 or 7672, which have been tested with cmux protocol.

Could you please enable verbose level and share the log when you're setting up the connection? I'm mainly interested in the raw cmux protocol data.

There're also some CMUX related options in the component Kconfig. This one could be relevant for the initial setup:

config ESP_MODEM_CMUX_DELAY_AFTER_DLCI_SETUP
int "Delay in ms to wait before creating another virtual terminal"
default 0
help
Some devices might need a pause before sending SABM command that creates
virtual terminal. This delay applies only to establishing a CMUX mode.
The typical reason for failing SABM request without a delay is that
some devices (SIM800) send MSC requests just after opening a new DLCI.

(you can try to set it to say 250ms and see if it helps)