@Karim Walid Abdelazim Elhammady
Thanks for your patience on this.
I would like to comment you that is expected as well as per design that QoS2 shall be dropped. The SDK version should be either 5.0 version or later.
If you want to double check my answer please go thought this explanation below:
NetX Duo MQTT Basic Operation
MQTT (Message Queue Telemetry Transport) is based on publisher-subscriber model. A client can publish information to other clients through a broker. A client, if interested in a topic, can subscribe to the topic through the broker. A broker is responsible for delivering published messages to its clients who subscribe to the topic. In this publisher-subscriber model, multiple clients may publish data with the same topic. A client will receive a message it publishes if the client subscribes to the same topic.
Depending on the use case, a client may choose one of the 3 QoS levels when publishing a message:
QoS 0: The message is delivered at most once. Messages sent with QoS 0 may be lost.
QoS 1: The message is delivered at least once. Messages sent with QoS 1 may be delivered more than once.
QoS 2: The message is delivered exactly once. Messages sent with QoS 2 is guaranteed to be delivered, with no duplication.
Note
This implementation of MQTT client does not support QoS level 2 messages.
I am hoping that those details were enough to realize for what you have seen on your packet captures. Now you know what to expect or what should be the normal behavior.
Cheers!
Please "Accept the answer" if the information helped you. This will help us and others in the community as well.