Changes for page Filter unwanted LoRaWAN packets
Last modified by Kilight Cao on 2024/05/17 10:07
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -34,12 +34,12 @@ 34 34 |(% style="width:66px" %)**Level 2**|(% style="width:284px" %)Filter Fport that are not in the database|(% style="width:68px" %)**Level 2**|(% style="width:306px" %)Filter DevAddr that are not in the database 35 35 36 36 ((( 37 -[[image:image-20220726171434-6.png||height="628" width="692"]] 37 +[[image:image-20220726171434-6.png||_mstalt="432081" height="628" width="692"]] 38 38 39 39 40 40 **Check if the filter is running** 41 41 42 -[[image:image-20220726164533-3.png||height="465" width="982"]] 42 +[[image:image-20220726164533-3.png||_mstalt="431574" height="465" width="982"]] 43 43 44 44 45 45 == 2.1 Filter By Fport == ... ... @@ -58,15 +58,15 @@ 58 58 59 59 If you want to **forward only a certain Fport**, use level=2 and add the desired fport in the Filter value textbox. **Add Filter Value 0 to forward Join requests**. 60 60 61 -[[image:image-20221129101012-1.png]] 61 +[[image:image-20221129101012-1.png||_mstalt="425282"]] 62 62 63 63 64 64 In this case, we set Fport Filter Level=1 and add the filter (server | fport | 0), when the gateway receives a Lorawan packet with Fport=0, it will be dropped. 65 65 66 -[[image:image-20220726165311-4.png||height="718" width="798"]] 66 +[[image:image-20220726165311-4.png||_mstalt="430287" height="718" width="798"]] 67 67 68 68 69 -[[image:image-20220726170532-5.png]] 69 +[[image:image-20220726170532-5.png||_mstalt="431054"]] 70 70 71 71 72 72 == 2.2 Filter By DevAddr == ... ... @@ -83,21 +83,46 @@ 83 83 84 84 * DevAddr Filter configured to (% style="color:blue" %)**Level=2**(%%). If the DevAddr in the list does not match the DevAddr received by the gateway, it will be dropped. 85 85 86 -In this case, we set DevAddr Filter Level= 0and add the filter (server | DevAddr | 12664787 ), when the gateway receives a Lorawan packet with DevAddr=12664787, it will be dropped.86 +In this case, we set DevAddr Filter Level=1 and add the filter (server | DevAddr | 12664787 ), when the gateway receives a Lorawan packet with DevAddr=12664787, it will be dropped. 87 87 88 88 89 -[[image:image-20220726171555-7.png||height="754" width="765"]] 89 +[[image:image-20220726171555-7.png||_mstalt="433745" height="754" width="765"]] 90 90 91 91 92 -[[image:image-20220726171808-8.png]] 92 +[[image:image-20220726171808-8.png||_mstalt="434434"]] 93 93 94 94 95 95 **If user need to set the Secondary LoRaWAN Server Packet Filter, the configuration is similar to that above.** 96 96 97 97 98 -== 2.3 AddFilterrulesviaLinux Command.==98 +== 2.3 Filter By NwkID == 99 99 100 100 101 +Since firmware , the gateway supports NwkID filter. 102 + 103 +The Gateway NwkID filter will check all the below LoRaWAN messages: Unconfirmed Data Up & Confirmed Data Up. 104 + 105 + 106 +(% style="color:red" %)**Important Notice:** 107 + 108 +* By default, NwkID Filter (% style="color:blue" %)**Level=0**(%%). which means do nothing 109 + 110 +* NwkID Filter configured to (% style="color:blue" %)**Level=1**(%%). If the NwkID in the list matches the NwkID received by the gateway, it will be dropped. 111 + 112 +* NwkID Filter configured to (% style="color:blue" %)**Level=2**(%%). If the NwkID in the list does not match the NwkID received by the gateway, it will be dropped. 113 + 114 +In this case, we set NwkID Filter Level=0 and add the filter (server | NwkID | 13 ), when the gateway receives a Lorawan packet with NwkID=00000013, it will be dropped. 115 + 116 +NwkID is calculated as follows: DevAddr counts shifted right by 25 bits 117 + 118 +For example, devaddr=260B67F6 ,NwkID= 260B67F6 >> 25 = 13 119 + 120 +[[image:image-20231012111032-1.png]] 121 + 122 + 123 +== 2.4 Add Filter rules via Linux Command. == 124 + 125 + 101 101 (% class="box infomessage" %) 102 102 ((( 103 103 $ sqlite3 /etc/lora/devskey "INSERT INTO filter (name, type, value ) VALUES ('$filter_name', '$filter_type', '$filter_value');" ... ... @@ -122,7 +122,7 @@ 122 122 sqlite3 /etc/lora/devskey "SELECT *from filter" 123 123 ))) 124 124 125 -[[image:image-20230519104800-2.png]] 150 +[[image:image-20230519104800-2.png||_mstalt="428714"]] 126 126 127 127 128 128 ... ... @@ -142,12 +142,12 @@ 142 142 143 143 **Fport & DevAddr Filter** 144 144 145 -[[image:image-20220527150138-1.png]] 170 +[[image:image-20220527150138-1.png||_mstalt="429598"]] 146 146 147 147 148 148 Check if the filter is running 149 149 150 -[[image:image-20220527150222-2.png||height="379" width="1062"]] 175 +[[image:image-20220527150222-2.png||_mstalt="427921" height="379" width="1062"]] 151 151 152 152 153 153 == 3.1 Filter By Fport == ... ... @@ -159,7 +159,7 @@ 159 159 By default , this value is 0 means can upstream all packets with any FPort. We can set to other FPort so specify only one FPort works. 160 160 ))) 161 161 162 -[[image:image-20220527150303-3.png]] 187 +[[image:image-20220527150303-3.png||_mstalt="428285"]] 163 163 164 164 165 165 In case we set the FPort filter to 45, and the End Node send a packet with Fport other than 45, it will be dropped. ... ... @@ -170,7 +170,7 @@ 170 170 171 171 Gateway will use a DevAddr mask to check if the Unconfirmed Data Up & Confirmed Data Up packets match the mask . If not, gateway will drop it. 172 172 173 -[[image:image-20220527150404-4.png]] 198 +[[image:image-20220527150404-4.png||_mstalt="429299"]] 174 174 175 175 176 176 This screenshot shows packets is dropped if DevAddr mask doesn't match.