Difference between revisions of "FMB Device Blocking"
(14 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
==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 restricted countries.<br/> |
In figure 1 block diagram of new logic is presented and it is presented below. | In figure 1 block diagram of new logic is presented and it is presented below. | ||
[[File:Fmbdeviceblockingtree.png|Figure 1 Block diagram of Countryblocking functionality|thumb|center]] | [[File:Fmbdeviceblockingtree.png|Figure 1 Block diagram of Countryblocking functionality|thumb|center]] | ||
− | |||
− | |||
− | |||
==Functionality description== | ==Functionality description== | ||
Device checks conditions to block or unblock device each 10 minutes starting from device startup. | 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.<br> | Device will automatically block itself when conditions will be met. All of the parameters are hardcoded and cannot be changed.<br> | ||
− | + | #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.<br> | |
− | + | #Use of banned MCC for full 28 days.<br> | |
<br> | <br> | ||
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.<br> | 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.<br> | ||
<br> | <br> | ||
− | 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.'''<br> | + | 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.''' |
+ | <br/> | ||
This 7 days “counter” works in same way, it is not counting days it saves timestamp when block timestamp should be reset.<br> | This 7 days “counter” works in same way, it is not counting days it saves timestamp when block timestamp should be reset.<br> | ||
− | |||
===Device Unblocking=== | ===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.<br> | 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.<br> | ||
<br> | <br> | ||
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. | 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. | ||
− | + | <br/> | |
===Operating Device in Blocked State=== | ===Operating Device in Blocked State=== | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<table class="nd-othertables" style="width: 100%;"> | <table class="nd-othertables" style="width: 100%;"> | ||
<tr> | <tr> | ||
− | <th style="width: | + | <th style="width: 30%; text-align:center; border-bottom: 1px solid #4c8bba; vertical-align:middle; border-bottom: 1px solid #4c8bba;; background: #4c8bba; color: white">'''Blocked Features'''</th> |
− | <th style="width: | + | <th style="width: 70%; text-align:center; border-bottom: 1px solid #4c8bba; vertical-align:middle; border-bottom: 1px solid #4c8bba;; background: #4c8bba; color: white">'''Description'''</th> |
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="vertical-align:middle; text-align:center; border-bottom: 1px solid #4c8bba; border-left: 1px solid #4c8bba;">Record saving</td> | ||
+ | <td style="vertical-align:middle; border-bottom: 1px solid #4c8bba; border-right: 1px solid #4c8bba;">Device will stop saving periodic and eventual records. Prior to device blocking saved records will not be lost.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td style="vertical-align:middle">Record | + | <td style="vertical-align:middle; text-align:center; border-bottom: 1px solid #4c8bba; border-left: 1px solid #4c8bba;">Record sending</td> |
− | <td>Device will | + | <td style="vertical-align:middle; border-bottom: 1px solid #4c8bba; border-right: 1px solid #4c8bba;">Device will not send any records to server. Prior saved records will be stored and sent once device is unblocked.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td style="vertical-align:middle"> | + | <td style="vertical-align:middle; text-align:center; border-bottom: 1px solid #4c8bba; border-left: 1px solid #4c8bba;">Periodic scenario update</td> |
− | <td style="vertical-align:middle"> | + | <td style="vertical-align:middle; border-bottom: 1px solid #4c8bba; border-right: 1px solid #4c8bba;">Various features will be stopped: |
+ | * OBD/LVCAN | ||
+ | * Output/Input controlling/reading<br> | ||
+ | * Geofencing<br> | ||
+ | * Trip<br> | ||
+ | * Ecodriving<br> | ||
+ | * GSM Jamming<br> | ||
+ | * GSM Jamming<br> | ||
+ | * GNSS Jamming<br> | ||
+ | * Fuel Consumption<br> | ||
+ | * Immobilizer<br> | ||
+ | * Overspeeding<br> | ||
+ | * Private/Business<br> | ||
+ | * Ignition update<br> | ||
+ | * Other SpecFW features<br> | ||
+ | * Sleep | ||
+ | </td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td style="vertical-align:middle"> | + | <td style="vertical-align:middle; text-align:center; border-bottom: 1px solid #4c8bba; border-left: 1px solid #4c8bba;">Sleep (Power Update)</td> |
− | <td style="vertical-align:middle"> | + | <td style="vertical-align:middle; border-bottom: 1px solid #4c8bba; border-right: 1px solid #4c8bba;">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.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td style="vertical-align:middle"> | + | <td style="vertical-align:middle; text-align:center;border-bottom: 1px solid #4c8bba; border-left: 1px solid #4c8bba;">Accelerometer</td> |
− | <td style="vertical-align:middle"> | + | <td style="vertical-align:middle; border-bottom: 1px solid #4c8bba; border-right: 1px solid #4c8bba;">Accelerometer reading will be stopped and accelerometer should not be initialized</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td style="vertical-align:middle"> | + | <td style="vertical-align:middle; text-align:center; border-bottom: 1px solid #4c8bba; border-left: 1px solid #4c8bba;">IO element updating</td> |
− | <td> | + | <td style="vertical-align:middle; border-bottom: 1px solid #4c8bba; border-right: 1px solid #4c8bba;">IO element values will not be updated</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td style="vertical-align:middle"> | + | <td style="vertical-align:middle; text-align:center; border-bottom: 1px solid #4c8bba; border-left: 1px solid #4c8bba;">Accelerometer related scenarios</td> |
− | <td style="vertical-align:middle"> | + | <td style="vertical-align:middle; border-bottom: 1px solid #4c8bba; border-right: 1px solid #4c8bba;">Movement detection, crash detection etc.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td style="vertical-align:middle"> | + | <td style="vertical-align:middle; text-align:center; border-bottom: 1px solid #4c8bba; border-left: 1px solid #4c8bba;">BLE Sensors updating</td> |
− | <td> | + | <td style="vertical-align:middle; border-bottom: 1px solid #4c8bba; border-right: 1px solid #4c8bba;">Updating of BLE sensors will be stopped</td> |
</tr> | </tr> | ||
</table> | </table> | ||
+ | ===FW upgrade downgrade rules=== | ||
+ | Device updated to this version will automatically have flag set to not allow device downgrade below 03.27.'''16'''.Rev.00 and upgrade to newer than 03.27.'''16'''.Rev.xx branch firmware version. | ||
− | + | ===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. | |
− | + | <br> | |
− | |||
− | |||
− | |||
− | |||
− | == | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Latest revision as of 09:17, 10 October 2024
Introduction
In 03.27.16.Rev.00 new feature has been implemented to disable device from operating when it is being used in restricted countries.
In figure 1 block diagram of new logic is presented and it is presented below.
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
Device updated to this version will automatically have flag set to not allow device downgrade below 03.27.16.Rev.00 and upgrade to newer than 03.27.16.Rev.xx branch firmware version.
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.