Difference between revisions of "FMB Device Blocking"
(7 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | [[File:Fmbdeviceblockingtree.png|Figure 1 Block diagram of Countryblocking functionality|thumb|right]] | ||
+ | |||
==Introduction== | ==Introduction== | ||
− | In 03.27.16.Rev.00 new feature has been implemented to disable device from operating when it is being used in | + | In 03.27.16.Rev.00 new feature has been implemented to disable device from operating when it is being used in banned countries.<br/> |
− | In figure 1 block diagram of new logic is presented and it is presented | + | In figure 1 block diagram of new logic is presented and it is presented on the right. |
− | |||
− | |||
==Functionality description== | ==Functionality description== | ||
Line 83: | Line 83: | ||
===FW upgrade downgrade rules=== | ===FW upgrade downgrade rules=== | ||
− | + | Once device will be flagged as Blocked, even in unblocked state it will not be able to downgrade firmware version below 03.27.16 or upgrade to newer.<br> | |
+ | <br> | ||
+ | Additionally, new manufactured devices with firmware which does support Device Blocking feature, will automatically have flag set to not allow device downgrade below 03.27.16 and upgrade to newer than 03.27.16. | ||
===Pass through command=== | ===Pass through command=== | ||
In order to allow client to know the location of the vehicle in special cases, pass through for single command has been implemented. SMS/GPRS command “getgps” will be allowed to be sent every 10 minutes to get location of the device, when it is operating in Blocked state. | In order to allow client to know the location of the vehicle in special cases, pass through for single command has been implemented. SMS/GPRS command “getgps” will be allowed to be sent every 10 minutes to get location of the device, when it is operating in Blocked state. | ||
<br> | <br> | ||
+ | <table class="nd-othertables" style="width: 100%;"> | ||
+ | <tr> | ||
+ | <tr><td style="width: 35%; vertical-align:middle; text-align:center; border-bottom: 1px solid #4c8bba; border-top: 1px solid #4c8bba; border-left: 1px solid #4c8bba;">Initial restriction timestamp: X</td> | ||
+ | <td style="width: 65%; vertical-align:middle; border-bottom: 1px solid #4c8bba; border-top: 1px solid #4c8bba; border-right: 1px solid #4c8bba;">Returns timestamp (UNIX) when restriction was registered.</td> | ||
+ | </tr> | ||
+ | <tr><td style="vertical-align:middle; text-align:center; border-bottom: 1px solid #4c8bba; border-left: 1px solid #4c8bba;">Initial reset timestamp: X</td> | ||
+ | <td style="vertical-align:middle; border-bottom: 1px solid #4c8bba; border-right: 1px solid #4c8bba;">Returns timestamp (UNIX) when block timestamp will be reset, or timestamp when device will be unblocked.</td> | ||
+ | </tr> | ||
+ | <tr><td style="vertical-align:middle; text-align:center; border-bottom: 1px solid #4c8bba; border-left: 1px solid #4c8bba;">Timestamp when device will be blocked: X</td> | ||
+ | <td style="vertical-align:middle; border-bottom: 1px solid #4c8bba; border-right: 1px solid #4c8bba;">Returns timestamp (UNIX) when device will be blocked.</td> | ||
+ | </tr> | ||
+ | <tr><td style="vertical-align:middle; text-align:center; border-bottom: 1px solid #4c8bba; border-left: 1px solid #4c8bba;">Timestamp when device will be unblocked or counter will be restored: X</td> | ||
+ | <td style="vertical-align:middle; border-bottom: 1px solid #4c8bba; border-right: 1px solid #4c8bba;">Returns timestamp (UNIX) when device will be unblocked or timestamp which is used to block device will be reset.</td> | ||
+ | </tr> | ||
+ | <tr><td style="vertical-align:middle; text-align:center;border-bottom: 1px solid #4c8bba; border-left: 1px solid #4c8bba;">Conditions check timestamp: X</td> | ||
+ | <td style="vertical-align:middle; border-bottom: 1px solid #4c8bba; border-right: 1px solid #4c8bba;">Returns timestamp (UNIX) when conditions were checked.</td> | ||
+ | </tr> | ||
+ | <tr><td style="vertical-align:middle; text-align:center; border-bottom: 1px solid #4c8bba; border-left: 1px solid #4c8bba;">Time until next check: X</td> | ||
+ | <td style="vertical-align:middle; border-bottom: 1px solid #4c8bba; border-right: 1px solid #4c8bba;">Returns time until next conditions check in seconds.</td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | [[Category:FMB020 Certification & Approvals]] |
Revision as of 09:52, 11 June 2024
Introduction
In 03.27.16.Rev.00 new feature has been implemented to disable device from operating when it is being used in banned countries.
In figure 1 block diagram of new logic is presented and it is presented on the right.
Functionality description
Device checks conditions to block or unblock device each 10 minutes starting from device startup.
Device Blocking
Device will automatically block itself when conditions will be met. All of the parameters are hardcoded and cannot be changed.
- Device starts using banned Mobile Country Code (MCC). Allowed MCC list is made using Auto_APN.csv file. MCC removed from that list: 250 and 257.
- Use of banned MCC for full 28 days.
Device is not counting days until ban, device saves timestamp when device should be blocked (current timestamp + 28 days). That was done to protect device from unnecessary NVRAM read/write operations.
There is possibility to reset this timestamp, to do so, device should stop detecting banned MCC and spend full 7 days without seeing it. In case, for example, if device have counted 10 days with banned MCC and stopped detecting it and to reset that time it has not been detecting banned MCC for 5 days and then again detected banned MCC, device will continue counting time before device block from 10 days as it is shown in figure 1.
This 7 days “counter” works in same way, it is not counting days it saves timestamp when block timestamp should be reset.
Device Unblocking
In order to unblock device, as it is shown in block diagram, device have to detect only allowed MCCs for full 7 days, have timesync and have SIM inserted. If this counter will be interrupted by founded banned MCC it will be reset.
This 7 days “counter” use same variable as 7days counter in device block part and it saves timestamp when device can be unblocked. In case if during this 7 days period conditions will be lost timestamp to unblock will be reset and user will have to fulfill conditions for full 7 days again.
Operating Device in Blocked State
Blocked Features | Description |
---|---|
Record saving | Device will stop saving periodic and eventual records. Prior to device blocking saved records will not be lost. |
Record sending | Device will not send any records to server. Prior saved records will be stored and sent once device is unblocked. |
Periodic scenario update | Various features will be stopped:
|
Sleep (Power Update) | Sleep feature will be disabled as well as Charger update, OBD plug out notify and OBD unlocker. Since these tasks runs under Power Update task which is responsible for sleep. |
Accelerometer | Accelerometer reading will be stopped and accelerometer should not be initialized |
IO element updating | IO element values will not be updated |
Accelerometer related scenarios | Movement detection, crash detection etc. |
BLE Sensors updating | Updating of BLE sensors will be stopped |
FW upgrade downgrade rules
Once device will be flagged as Blocked, even in unblocked state it will not be able to downgrade firmware version below 03.27.16 or upgrade to newer.
Additionally, new manufactured devices with firmware which does support Device Blocking feature, will automatically have flag set to not allow device downgrade below 03.27.16 and upgrade to newer than 03.27.16.
Pass through command
In order to allow client to know the location of the vehicle in special cases, pass through for single command has been implemented. SMS/GPRS command “getgps” will be allowed to be sent every 10 minutes to get location of the device, when it is operating in Blocked state.
Initial restriction timestamp: X | Returns timestamp (UNIX) when restriction was registered. |
Initial reset timestamp: X | Returns timestamp (UNIX) when block timestamp will be reset, or timestamp when device will be unblocked. |
Timestamp when device will be blocked: X | Returns timestamp (UNIX) when device will be blocked. |
Timestamp when device will be unblocked or counter will be restored: X | Returns timestamp (UNIX) when device will be unblocked or timestamp which is used to block device will be reset. |
Conditions check timestamp: X | Returns timestamp (UNIX) when conditions were checked. |
Time until next check: X | Returns time until next conditions check in seconds. |