diff --git a/components/esp_modem/.cz.yaml b/components/esp_modem/.cz.yaml index 81bcd34edb..3073f85ac1 100644 --- a/components/esp_modem/.cz.yaml +++ b/components/esp_modem/.cz.yaml @@ -3,6 +3,6 @@ commitizen: bump_message: 'bump(modem): $current_version -> $new_version' pre_bump_hooks: python ../../ci/changelog.py esp_modem tag_format: modem-v$version - version: 1.1.0 + version: 1.2.0 version_files: - idf_component.yml diff --git a/components/esp_modem/CHANGELOG.md b/components/esp_modem/CHANGELOG.md index 7a6fc18858..6546e7b102 100644 --- a/components/esp_modem/CHANGELOG.md +++ b/components/esp_modem/CHANGELOG.md @@ -1,5 +1,38 @@ # Changelog +## [1.2.0](https://github.com/espressif/esp-protocols/commits/modem-v1.2.0) + +### Features + +- Add support for guessing mode ([52598e5f](https://github.com/espressif/esp-protocols/commit/52598e5f)) +- Delete CMUX internal implementation even if terminal exit fails ([0e0cbd6b](https://github.com/espressif/esp-protocols/commit/0e0cbd6b)) +- Add support for handling URC ([1b6a3b3b](https://github.com/espressif/esp-protocols/commit/1b6a3b3b), [#180](https://github.com/espressif/esp-protocols/issues/180)) +- add ability to change ESP_MODEM_C_API_STR_MAX from Kconfig ([17909892](https://github.com/espressif/esp-protocols/commit/17909892)) +- Added target test config with CHAP authentication ([f8ae7def](https://github.com/espressif/esp-protocols/commit/f8ae7def)) +- example add esp32p4 usb support ([adafeae5](https://github.com/espressif/esp-protocols/commit/adafeae5)) +- Publish mbedtls component ([0140455f](https://github.com/espressif/esp-protocols/commit/0140455f)) +- host test support of the latest ESP-IDF release ([3f74b4e8](https://github.com/espressif/esp-protocols/commit/3f74b4e8)) + +### Bug Fixes + +- Fix console example to use urc/detect features ([1a9eaf3e](https://github.com/espressif/esp-protocols/commit/1a9eaf3e)) +- Update target test builds to use external Catch2 ([554f022c](https://github.com/espressif/esp-protocols/commit/554f022c)) +- Fix arguments names when spawn esp_modem_xxx declarations ([b6792c52](https://github.com/espressif/esp-protocols/commit/b6792c52)) +- Remove catch dependency ([c3480768](https://github.com/espressif/esp-protocols/commit/c3480768)) +- Examples: use local configs for MQTT topic/data ([f5c13b92](https://github.com/espressif/esp-protocols/commit/f5c13b92)) +- Fixed clang-tidy warnings ([70fa3af7](https://github.com/espressif/esp-protocols/commit/70fa3af7)) +- Fix CI build per IDFv5.3 ([d0c17ef0](https://github.com/espressif/esp-protocols/commit/d0c17ef0)) +- Fixed UART task to check for buffered data periodically ([4bdd90cc](https://github.com/espressif/esp-protocols/commit/4bdd90cc), [#536](https://github.com/espressif/esp-protocols/issues/536)) +- Cleanup unused configs from PPPoS example ([08a62ccc](https://github.com/espressif/esp-protocols/commit/08a62ccc)) +- Update CMUX example with SIM7070_gnss cleaned-up ([56fe5327](https://github.com/espressif/esp-protocols/commit/56fe5327)) +- Update console example with SIM7070_gnss format comments ([5baaf542](https://github.com/espressif/esp-protocols/commit/5baaf542)) +- Fix remaining print format warnings ([3b80181d](https://github.com/espressif/esp-protocols/commit/3b80181d)) + +### Updated + +- docs(modem): Fix esp_modem_at_raw() description (C-API) ([492a6a00](https://github.com/espressif/esp-protocols/commit/492a6a00)) +- ci(common): updated github actions(checkout, upload, download) v3 to 4, Ubuntu 20.04 to v22.04 ([a23a0027](https://github.com/espressif/esp-protocols/commit/a23a0027)) + ## [1.1.0](https://github.com/espressif/esp-protocols/commits/modem-v1.1.0) ### Features diff --git a/components/esp_modem/idf_component.yml b/components/esp_modem/idf_component.yml index 0f78f85ac4..6596ab7ac6 100644 --- a/components/esp_modem/idf_component.yml +++ b/components/esp_modem/idf_component.yml @@ -1,4 +1,4 @@ -version: "1.1.0" +version: "1.2.0" description: Library for communicating with cellular modems in command and data modes url: https://github.com/espressif/esp-protocols/tree/master/components/esp_modem issues: https://github.com/espressif/esp-protocols/issues diff --git a/docs/esp_modem/en/README.rst b/docs/esp_modem/en/README.rst index d69428def6..edf9645c52 100644 --- a/docs/esp_modem/en/README.rst +++ b/docs/esp_modem/en/README.rst @@ -234,3 +234,35 @@ this patch to adapt the exit sequence https://github.com/espressif/esp-protocols if ((frame_header[3] & 1) == 0) { if (frame_header_offset + frame.len <= 4) { frame_header_offset += frame.len; + +4) Device CAVLI C16QS does not correctly enter CMUX mode with esp_modem. +The CMUX as defined in 3GPP TS 27.010: SABM response (paragraph 5.4.1) +should be a UA frame (upon success, DM frame on failure). +This device however responds with 0x3F, which is neither UA nor DM. +You can apply the below patch to adapt the entry sequence + +:: + + diff --git a/components/esp_modem/src/esp_modem_cmux.cpp b/components/esp_modem/src/esp_modem_cmux.cpp + index c47e13b..7afbf73 100644 + --- a/components/esp_modem/src/esp_modem_cmux.cpp + +++ b/components/esp_modem/src/esp_modem_cmux.cpp + @@ -137,7 +137,8 @@ bool CMux::data_available(uint8_t *data, size_t len) + } else { + return false; + } + - } else if (data == nullptr && type == (FT_UA | PF) && len == 0) { // notify the initial SABM command + + } else if (data == nullptr && (type == (FT_UA | PF) || type == 0x3f) && len == 0) { // notify the initial SABM command + Scoped l(lock); + sabm_ack = dlci; + } else if (data == nullptr && dlci > 0) { + @@ -238,8 +239,7 @@ bool CMux::on_header(CMuxFrame &frame) + type = frame_header[2]; + // Sanity check for expected values of DLCI and type, + // since CRC could be evaluated after the frame payload gets received + - if (dlci > MAX_TERMINALS_NUM || (frame_header[1] & 0x01) == 0 || + - (((type & FT_UIH) != FT_UIH) && type != (FT_UA | PF) ) ) { + + if (dlci > MAX_TERMINALS_NUM) { + recover_protocol(protocol_mismatch_reason::UNEXPECTED_HEADER); + return true; + }