mirror of
https://github.com/espressif/openthread.git
synced 2026-09-29 12:27:42 +00:00
The wake-up channel TLV was originally introduced into OpenThread as part
of early experimental prototyping for wake-up / peer-to-peer features
before the design was finalized in the Thread Group. Unfortunately, it
was added directly to the public Operational Dataset structures and
MeshCoP definitions without any compile-time feature flags or build
guards, exposing it as standard dataset API.
The finalized Thread Direct specification has significantly evolved and
no longer utilizes a network-wide wake-up channel in the Operational
Dataset. As a result, retaining wake-up channel support in the dataset is
obsolete, non-compliant with the spec, and can lead to confusion when
configuring Thread networks.
This commit removes the legacy wake-up channel from the Operational
Dataset across public APIs, core modules, CLI, and tooling:
- Public API (`include/openthread/dataset.h`):
- Removes `mIsWakeupChannelPresent` from `otOperationalDatasetComponents`.
- Removes `mWakeupChannel` from `otOperationalDataset`.
- Removes `OT_MESHCOP_TLV_WAKEUP_CHANNEL` from `otMeshcopTlvType`.
- Core MeshCoP & MLE (`src/core/`):
- Removes `kWakeupChannel` from `MeshCoP::Dataset` components, types,
and TLV definitions (`meshcop_tlvs.hpp`).
- Removes `WakeupChannelTlv` handling and default generation from
`ActiveDatasetManager` (`dataset_manager_ftd.cpp`).
- Removes `kWakeupChannel` from `Mle::Tlv::Type` (`mle_tlvs.hpp`).
- CLI and Tooling:
- Removes `dataset wakeupchannel` CLI command and its documentation
(`cli_dataset.cpp`, `cli_dataset.hpp`, `README_DATASET.md`).
- Cleans up `dataset wakeupchannel` parsing and buffer helpers in the
OTCI Python utility (`tools/otci/otci/otci.py`).
- Removes `WakeupChannel` entry and TLV type from the TCAT BLE client
(`tools/tcat_ble_client/`).