FSK Test Cases Test Case ID: FSK/EN/BCN/DISCO/BV-01: FSK-WAN Endpoint discovers neighbor Gateway beacon and synchronizes with it if roaming is allowed Field Value Case ID C83932917 Executable by Customer Yes
Test Steps Step Description Expected Result 1 Initialize and start FSK stack: sid init 2 sid start Each command returns: CMD: ERR: 0 EN detects beacon and synchronizes with GW within 40 seconds EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: 2 EVENT SID STATUS LINK MODE: LORA: 0, FSK: 1, BLE: 0
Key check: Time: 0 (time synced), FSK: 1
Test Case ID: FSK/EN/BCN/DISCO/BV-02: FSK-WAN Endpoint discovers home Gateway and synchronizes with it even if roaming is forbidden Field Value Case ID C83932918 Executable by Customer Yes
Preconditions Test Steps Step Description Expected Result 1 Initialize and start FSK stack: sid init 2 sid start Each command returns: CMD: ERR: 0 2 EN gets GW FSK beacon [INFO]: Disco active [INFO]: GWD scan started 3 EN accepts beacon and completes time sync. Verify with: sid last_status EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: 2 EVENT SID STATUS LINK MODE: LORA: 0, FSK: 1, BLE: 0
Key check: Time: 0 (time synced), FSK: 1
Test Case ID: FSK/EN/BCN/DISCO/BV-03: FSK-WAN Endpoint detects a neighbor Gateway beacon but continues with the GW discovery process if roaming is forbidden Field Value Case ID C83932919 Executable by Customer Yes
Test Steps Step Description Expected Result 1 Disable Sidewalk on GW via Amazon Alexa app: Amazon Alexa app -> More -> Account Settings -> Amazon Sidewalk -> Enabled -> Disable Amazon Sidewalk set to OFF on Mobile. 2 Restart EN: sid init 2 sid start Each command returns: CMD: ERR: 0 3 Verify EN starts GW discovery (Disco active) [INFO]: Disco active. LSC=<x>, symb=<x>, rx_to_ms=<x> 4 Wait for Disco stop sampling success [INFO]: Disco stop sampling success. Time elapsed = 120002 ms (+-1000ms)
Key check: EN continues GW discovery without synchronizing to neighbor GW
Test Case ID: FSK/EN/CONN/REG/BV-02: Endpoint can be deregistered from Sidewalk network Field Value Case ID C83932921 Executable by Customer Yes
Test Steps Step Description Expected Result 1 Run the following command to deregister the device: sid factory_reset CMD: ERR: 0 EVENT SID STATUS: State: 1, Reg: 1, Time: 1, Link_Mask: 0
Key check: Reg: 1 (deregistered)
Test Case ID: FSK/EN/CONN/REG/BV-03: An unregistered Endpoint successfully completes Sidewalk device registration with use of FFN Field Value Case ID C83932922 Executable by Customer Yes
Test Steps Step Description Expected Result 1 Run the following commands on the EN device: sid init 2 sid start Each command returns: CMD: ERR: 0 2 Place EN next to a GW. Verify registration status with: sid last_status EVENT SID STATUS: State: 1, Reg: 0, Time: 1, Link_Mask: 0
Key check: Reg: 0 (registered)
Test Case ID: FSK/EN/CONN/SEQ/BV-01: Uplink packets contain SEQ number Field Value Case ID C83932923 Executable by Customer Yes
Preconditions (Preconditions to be provided.) (Preconditions to be provided.) Test Steps Step Description Expected Result 1 Send 5 UL packets from EN with 10 byte payload: sid send <10-byte-payload> CMD: ERR: 0 TYPE: 2 ID: <id> EVENT SID SEND STATUS: SID ERR: 0, TYPE: 2, ID: <id>, LINK: 2 LINK_MODE: 0 ADDITIONAL ATTRS: 0
Key check: UL packets received on AWS
Test Case ID: FSK/EN/CONN/SEQ/BV-02: Endpoint increments uplink SEQ until UUID changes Field Value Case ID C83932925 Executable by Customer Yes
Preconditions (Preconditions to be provided.) (Preconditions to be provided.) Test Steps Step Description Expected Result 1 Send 1 UL packet: sid send TEST FskTx:EnqPkt sqn:<seq> src_frmt:1 src_id:0x<txid> dst_frmt:0 dst_id:0x<gw_id> msg_id:<id> 2 Wait for UUID rotation (~15 minutes after time sync) UUID rotated (TX UUID changes) 3 Send 1 UL packet after UUID rotation: sid send TEST FskTx:EnqPkt sqn:<new_seq> src_frmt:1 src_id:0x<new_txid> dst_frmt:0 dst_id:0x<gw_id> msg_id:<id>
Key check: New SEQ number is different from Step 1 (reset after UUID change)
Test Case ID: FSK/EN/CONN/SEQ/BV-03: Endpoint accepts and decodes downlink packets with increased and decreased SEQ Field Value Case ID C83932926 Executable by Customer Yes
Preconditions (Preconditions to be provided.) (Preconditions to be provided.) Test Steps Step Description Expected Result 1 Send 3 DL packets from AWS IoT with SEQ: 1, 2, 3 All 3 DL packets received and accepted by EN: EVENT SID RECEIVED: TYPE: <type>, ID: <id>, LEN: <len>, LINK: 2, ... 2 Send 3 DL packets from AWS IoT with SEQ: 6, 5, 4 All 3 DL packets received and accepted by EN: EVENT SID RECEIVED: TYPE: <type>, ID: <id>, LEN: <len>, LINK: 2, ...
Key check: Delivery ratio 100%
Test Case ID: FSK/EN/CONN/SEQ/BV-05: Endpoint rejects downlink packet with duplicated SEQ Field Value Case ID C83932927 Executable by Customer Yes
Preconditions (Preconditions to be provided.) Test Steps Step Description Expected Result 1 Send DL with SEQ=1. Then send DL with SEQ=1 again (duplicate) First: EVENT SID RECEIVED: TYPE: <type>, ID: <id>, LEN: <len>, LINK: 2, ... (accepted). Second: No EVENT SID RECEIVED within 20 seconds (duplicate rejected) 2 Send DL with SEQ=2. Then send DL with SEQ=2 again (duplicate) First: EVENT SID RECEIVED: TYPE: <type>, ID: <id>, LEN: <len>, LINK: 2, ... (accepted). Second: No EVENT SID RECEIVED within 20 seconds (duplicate rejected)
Key check: Duplicate rejected
Test Case ID: FSK/EN/CONN/SEQ/BV-06: Endpoint rejects downlink packet with duplicated SEQ range Field Value Case ID C83932928 Executable by Customer Yes
Test Steps Step Description Expected Result 1 Send 5 DL packets with SEQ: 1, 2, 3, 4, 5 EVENT SID RECEIVED: TYPE: 2, ID: <id>, LEN: <len>, LINK: 2, LINK_MODE: 1, ACK_REQUESTED: 0, ACK: 0, DUP: 0, RSSI: <rssi>, SNR: <snr> 2 Send 5 DL packets with SEQ: 1, 2, 3, 4, 5 again (all duplicates) No EVENT SID RECEIVED for any packet
Key check: All duplicates rejected
Test Case ID: FSK-EP-CONN-SEQ-BV-07: SEQ number can be accepted again after getting 10 other messages Field Value Case ID C83932930 Executable by Customer Yes
Test Steps Step Description Expected Result 1 Send 10 DL packets from AWS IoT with SEQ numbers: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Each DL packet received and accepted by EN: EVENT SID RECEIVED: TYPE: <type>, ID: <id>, LEN: <len>, LINK: - , ... Data: <payload> 2 Send 1 DL packet with SEQ=1 (duplicate of Step 1) DL packet rejected by EN (duplicate) 3 Send 1 DL packet with SEQ=11 (new, non-duplicate) EVENT SID RECEIVED: TYPE: <type>, ID: <id>, LEN: <len>, LINK: - , ... Data: <payload> 4 Send 1 DL packet with SEQ=1 again (now outside the 10-SEQ window) EVENT SID RECEIVED: TYPE: <type>, ID: <id>, LEN: <len>, LINK: - , ... Data: <payload>
Key check: SEQ=1 accepted again after 10 other messages, Delivery ratio 100%
Test Case ID: FSK/EN/CONN/SEQ/BV-08: SEQ number can be accepted again after End Node reinitialization Field Value Case ID C83932933 Executable by Customer Yes
Test Steps Step Description Expected Result 1 Send DL packet with SEQ=1 EVENT SID RECEIVED: TYPE: <type>, ID: <id>, LEN: <len>, LINK: 2, ... 2 Send DL packet with SEQ=1 again (duplicate) No EVENT SID RECEIVED within 20 seconds 3 Reinitialize Sidewalk stack: sid stop sid deinit sid init 2 sid start Each command returns: CMD: ERR: 0 Wait for time sync: EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: 2 Wait for join: Nsync st ->2 4 Send DL packet with SEQ=1 again (after reinit) EVENT SID RECEIVED: TYPE: <type>, ID: <id>, LEN: <len>, LINK: 2, ...
Key check: SEQ=1 accepted again after reinit
Test Case ID: FSK/EN/CONN/SEQ/BV-09: Endpoint drops the packet with SEQ which is out of range Field Value Case ID C83932934 Executable by Customer Yes
Test Steps Step Description Expected Result 1 Send DL packet with SEQ=0 (minimum valid) EVENT SID RECEIVED: TYPE: <type>, ID: <id>, LEN: <len>, LINK: 2, ... 2 Send DL packet with SEQ=16383 (maximum valid) EVENT SID RECEIVED: TYPE: <type>, ID: <id>, LEN: <len>, LINK: 2, ... 3 Send DL packet with SEQ=-1 (out of range) No EVENT SID RECEIVED within 20 seconds 4 Send DL packet with SEQ=16384 (out of range) No EVENT SID RECEIVED within 20 seconds
Key check: Accepted (SEQ=0, SEQ=16383), Rejected (SEQ=-1, SEQ=16384)
Test Case ID: FSK/EN/DATA/DL/BV-01: Endpoint receives downlink packets with different payload size from Gateway Field Value Case ID C83932935 Executable by Customer Yes
Preconditions (Preconditions to be provided.) Test Steps Step Description Expected Result 1 Send 1 DL packet from AWS IoT with 1 byte payload EVENT SID RECEIVED: TYPE: <type>, ID: <id>, LEN: 1, LINK: 2, LINK_MODE: <x>, ACK_REQUESTED: <x>, ACK: <x>, DUP: <x>, RSSI: <x>, SNR: <x> Data: <payload> 2 Send 1 DL packet from AWS IoT with 50 bytes payload EVENT SID RECEIVED: TYPE: <type>, ID: <id>, LEN: 50, LINK: 2, LINK_MODE: <x>, ACK_REQUESTED: <x>, ACK: <x>, DUP: <x>, RSSI: <x>, SNR: <x> Data: <payload> 3 Send 1 DL packet from AWS IoT with 200 bytes payload EVENT SID RECEIVED: TYPE: <type>, ID: <id>, LEN: 200, LINK: 2, LINK_MODE: <x>, ACK_REQUESTED: <x>, ACK: <x>, DUP: <x>, RSSI: <x>, SNR: <x> Data: <payload>
Key check: Delivery ratio 100%
Test Case ID: FSK/EN/DATA/UL/BV-01: Gateway receives uplink packet with different payload sizes from Endpoint Field Value Case ID C83932936 Executable by Customer Yes
Preconditions (Preconditions to be provided.) Test Steps Step Description Expected Result 1 Send 1 UL packet from EN with 1 byte payload: sid send <1-byte-payload> CMD: ERR: 0 TYPE: 2 ID: <id> EVENT SID SEND STATUS: SID ERR: 0, TYPE: 2, ID: <id>, LINK: 2 LINK_MODE: 0 ADDITIONAL ATTRS: 0 2 Send 1 UL packet from EN with 50 bytes payload: sid send <50-byte-payload> CMD: ERR: 0 TYPE: 2 ID: <id> EVENT SID SEND STATUS: SID ERR: 0, TYPE: 2, ID: <id>, LINK: 2 LINK_MODE: 0 ADDITIONAL ATTRS: 0 3 Send 1 UL packet from EN with 200 bytes payload: sid send <200-byte-payload> CMD: ERR: 0 TYPE: 2 ID: <id> EVENT SID SEND STATUS: SID ERR: 0, TYPE: 2, ID: <id>, LINK: 2 LINK_MODE: 0 ADDITIONAL ATTRS: 0
Key check: Packet received on AWS
Test Case ID: FSK/EN/NW-SYNC/TIME/BV-01: Endpoint completes the initial time sync procedure Field Value Case ID C83932937 Executable by Customer Yes
Preconditions (Preconditions to be provided.) Test Steps Step Description Expected Result 1 Reboot EN, then initialize and start FSK stack: reboot sid init 2 sid start Wait for time sync Each command returns: CMD: ERR: 0 EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: 2 EVENT SID STATUS LINK MODE: LORA: 0, FSK: 1, BLE: 0
Key check: Time: 0 (time synced)
Test Case ID: FSK/EN/NW-SYNC/JOIN/BV-01: Endpoint completes the initial join procedure Field Value Case ID C83932938 Executable by Customer Yes
Preconditions (Preconditions to be provided.) Test Steps Step Description Expected Result 1 Initialize and start FSK stack, then wait for time sync: sid init 2 sid start Each command returns: CMD: ERR: 0 EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: 2 EVENT SID STATUS LINK MODE: LORA: 0, FSK: 1, BLE: 0 2 Wait for join response Njoin(1, 2) st 2->6
Key check: Join response received
Test Case ID: FSK/EN/NW-SYNC/JOIN/BV-02: Endpoint keeps synchronization with the network by periodic transmission of Join request Field Value Case ID C83932939 Executable by Customer Yes
Test Steps Step Description Expected Result 1 Wait 14 minutes after time sync. Do not send any UL. No UL packets sent during this period 2 Wait for join response Njoin(1, 2) st 2->6
Key check: Join response received (periodic join request)
Field Value Case ID C83932941 Executable by Customer Yes
Preconditions (Preconditions to be provided.) Test Steps Step Description Expected Result 1 Get initial TX UUID: print txid TXID: 0x<uuid> 2 Wait for time sync EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: 2 EVENT SID STATUS LINK MODE: LORA: 0, FSK: 1, BLE: 0 3 Get TX UUID again: print txid TXID: 0x<new_uuid>
Key check: UUID is different from Step 1 (rotated after time sync)
Test Case ID: FSK/EN/SEC/UUID/BV-02: UUID rotates every 15 minutes after time sync Field Value Case ID C83932942 Executable by Customer Yes
Preconditions (Preconditions to be provided.) Test Steps Step Description Expected Result 1 Get initial TX UUID: print txid TXID: 0x<uuid> 2 Monitor UUID rotation for 2 rounds. Check UUID every 30 seconds: print txid Round 1: UUID rotated after ~15 minutes. Round 2: UUID rotated after ~15 minutes 3 Verify all collected UUIDs are unique All UUIDs are unique
Key check: Each rotation within 14-16 minutes, no duplicate UUID detected
Test Case ID: FSK/EN/SEC/UUID/BV-03: Endpoint can exchange UL/DL during UUID rotation Field Value Case ID C83932943 Executable by Customer Yes
Preconditions (Preconditions to be provided.) Test Steps Step Description Expected Result 1 Get initial TX UUID: print txid TXID: 0x<uuid> 2 Wait for 1st UUID rotation (check every 30s): print txid TXID: 0x<new_uuid> 3 Wait ~14 minutes, then send UL/DL continuously until 2nd UUID rotation: sid send <5-byte-payload> (UL), Send DL from AWS IoT (DL). After 2nd rotation, send one more UL/DL to confirm UL: EVENT SID SEND STATUS: SID ERR: 0, TYPE: 2, ID: <id>, LINK: 2 LINK_MODE: 0 DL: EVENT SID RECEIVED: TYPE: <type>, ID: <id>, LEN: 5, LINK: 2, ... 2nd UUID rotation detected. UL/DL still works after rotation
Key check: UL/DL successful before and after UUID rotation