Age | Commit message (Collapse) | Author | Files |
|
|
|
or NTP
|
|
or NTP
|
|
or NTP
|
|
or NTP
|
|
or NTP
|
|
or NTP
|
|
to GPS or NTP
|
|
|
|
or NTP
|
|
|
|
[GP-1733] mPower R.6: L6G1 (Sequans CB610L) Radio Support
See merge request !54
|
|
Add cellular diagnostics support for Sequans radio modem.
|
|
Add additional command about all carrier profiles that are supported.
|
|
- the function getNetworkStatus(Json::Value& jData) changed to follow common logic (jDebug is empty when the main status command is failed)
- removed unnecessary prints from the secondary status commands
|
|
Implementing CB610L radio modem support
|
|
- function getRegistrationCommands() implemented as
pure virtual and overrided for every base radio model
- minor indentation fixes
- function getSimStatusSummary(Json::Value& jData) changed to process
radio modems that do not have separate commands for the SIM presence check
- function getManufacturer(std::string& sManufacturer) changed: AT command changet to 'AT+CGMI'
- src/MTS_IO_QuectelRadio.cpp -- comments correction
|
|
- 31030 - AT&T - from UBX-13001820 - R13;
- 310590 - Verizon - from UBX-13001820 - R13;
- 310650 - Cisco Jasper MVNO in AT&T network - from UBX-13001820 - R13;
- 310890 - Verizon - from UBX-13001820 - R13;
- 311270 - Verizon - from VZ_REQ_LTEB13NAC_12084129, IMS SIM;
- 311480 - Verizon - from VZ_REQ_LTEB13NAC_12084129, IMS SIM;
- 312770 - Verizon - from the output of AT#FWPLS? on a 5SG1 radio.
|
|
Define the set of debugging AT commands and a function to execute such
commands. The function executes the commands one-by-one end returns raw command
outputs. To be used by radio-query --diagnostics.
|
|
Executing AT#RFSTS while the SIM card is locked by PIN or PUK causes a deadlock
in the legacy LE910 (LAT1, LEU1, LVW2) firmware. Avoid executing AT#RFSTS if
the SIM card is locked by PUK.
|
|
behavior when provider is Verizon
Implement getting the CGDCONT from the modem
Implement setting the CGDCONT to the modem
|
|
|
|
setRxDiversity command moved to common class for Quectel radios - QuectelRadio.cpp.
Add LNA7D radio support.
LNA7D radio supports only 3g and 4g network modes.
Add new command for enabling/disabling diversity. Retained backward compatibility with the old diversity command.
|
|
Fix LNA7D delta radio firmware upgrade issue (handling double radio reset).
|
|
|
|
network. GP-1364
Add 2 functions for Telit and Quectel modems:
- disableVoiceSupport: disable voice support (IMS and CSFB) and enable SMS only registration flag.
- getVoiceSupport: get voice support configuration for the current radio.
|
|
Switched to the separate fields for SIM MCC and SIM MNC
after a code review.
|
|
Fixed the `CellularRadio::getCarrier` implementation to use MCC/MNC
combination from the SIM intead of the serving cell.
Historically the implementation used MCC/MNC data from the cell that
is currently serving the device and provides the registration. This
MCC/MNC code is different from those of the home network in case of
a roaming - the network/carrier that provided the SIM is different
from the one who serves the device at the moment.
The more correct way to determine home carrier for GSM/UMTS/LTE devices
is to read first 5 or 6 digits of the SIM IMSI than encode the carrier.
This commit updates the implementation to use SIM IMSI as a source of
truth for the home network/carrier code.
|
|
Extended the implementation of "getSimCarrierCode" to detect the carrier
(home network) based on the MCC/MNC combination.
Historically mPower used ICCIDs to detect the carrier and apply the
carrier-specific settings. ICCIDs are known for Verizon and AT&T, but
the list of known ICCIDs is not exhaustive.
This change allows the firmware to detect more AT&T SIM cards by using
the MCC/MNC combinations (PLMN IDs) when ICCID is not recognized.
Limitation: The SIM shall be relatively new and report its MNC length,
otherwise MCC/MNC can't be determined and so the carrier code.
|
|
Added an ability to read the PLMN ID (MCC/MNC combination) of the home
carrier from the SIM.
SIM PLMN ID is a part of the IMSI that contains identifier of the home
network. PLMN ID in turn consists of 3-digit MCC (country code) and
2-or-3-digit MNC (network code). The length of the MNC is stored in the
SIM Elementary File called "Administrative Data" (EFad for short).
The purpose of the new functions is to extract PLMN ID from the SIM
if this information is available.
|
|
Added three additional MCC/MNC combinations for the FirstNet networks.
Those combinations were discovered on a 5SG1 radio in the output of
`AT#FWPLS=0,0`.
|
|
Added the 'Carrier Code' field to the MCC/MNC table. The new field is
supposed to be a constant Multitech-specific indentifier that is constant
between the firmware versions and does not necessarily depends on a
carrier name.
In particular the new field is needed to detect when there is an AT&T
SIM card inserted and 'UE mode of operation' shall be set to CS/PS mode 2.
|
|
Added one lost MCC/MNC entry for the FirstNet network (PLMN ID 313100)
and removed a duplicate MCC/MNC entry for PLMN ID 344930.
|
|
Added AT&T-related MCC/MNC values that were discovered from the AT+COPN output:
- 33490 - discovered on 5SG1, L4E1, L4G1 and LEU7;
- 901044 - discovered on 5SG1, L4E1 and L4G1;
- 90118 - discovered on H5 and LNA3.
|
|
Updated the MCC/MNC table for AT&T using the document from ITU
(https://www.itu.int/dms_pub/itu-t/opb/sp/T-SP-E.212B-2018-PDF-E.pdf).
Notable changes:
- filled empty carrier names for a bunch of MCC/MNC combinations;
- changed the carrier for PLMN ID "310280" from "T-Mobile" to "AT&T Wireless Inc.";
- added 7 new PLMN IDs that correspond to AT&T in various countries.
|
|
Sorted the MCC/MNC table by PLMN ID to simplify its maintenance.
The content and the format are not changed, only the order of items
in the table.
|
|
Removed MCCs that are not listed by ITU.
|
|
Fixed carrier MCC/MNC table lookup for networks with two-digit conuntry codes.
The original MCC/MNC population script used the following encoding for MCC/MNC values:
- MCC - interpret the original value as hex;
- 2-digit MNC - append "f" and interpret the resulting value as hex;
- 3-digit MNC - interpret the original value as hex.
So during lookup the system shall also use this conversion logic before querying
the information from the table.
|
|
GP-1111
Refactoring after review
|
|
GP-1111
Refactoring common functions, telit and quectel functions related to CEMODE switching
|
|
GP-1111
Added CEMODE switching support for Quectel radios
|
|
for Telit
Changes after a code review.
|
|
for Telit
Changes after a code review
|
|
for Telit
Adding an ability to set UE mode of operation to libmts-io.
There was added two clear virtual methods in iCellularRadio,
correct implementation for them for Telit LTE modems and implementation
with error messages for all other.
|
|
|
|
This commit contains the following changes:
- mark all GSM modes as 2G (EGPRS/EDGE is also 2G/GSM);
- mark NB-IoT and CAT M1 as 4G/LTE.
Those changes allow to correctly display 4G modes for MNG2 and 2G modes for all radios.
|
|
Small improvements in code comments.
|
|
Switched from `sendCommand` with empty command argument to `waitResponse` for URC analysis.
Sending empty string to the serial interface is undefined behaviour according to the POSIX
standart. More of it, we don't need to execute `write` on file descriptor to wait for URC messages.
It was more like a hack than something that was actually required.
This commit removes the hack and replaces it with a proper waiting for a response.
|
|
This commit fixes additional issue discrovered after implementation of ACK mode.
When a single 1024 bytes long chunk of data is sent to the radio - the radio reports
that it received nothing. Which is a lie according to Wireshark USB logs, data is
actually sent over USB and looks like radio acknowledged it in USB packet.
This issue is reproducible when chunk size is set to 1024 or 512 bytes. This issue
is not reproducible with chunk size of 256 bytes.
When 1025 or 2048 bytes are sent to the radio - all bytes are received just fine and
we get an ACK string for each 1024 bytes of data.
This commit allows to send 2048 bytes long chunks of data, wait for two ACK strings
from the radio and finish transmission successfully.
|
|
During testing I discrovered that EG25-G radio may lose some data during transmission
over Serial AT interface or just freezes and stops responding over Serial AT interface.
When ACK mode is not used, the radio may either return an error:
```
Expected: [+QFUPL: 24312545,fa6b], Actual: [+QFUPL: 17124608,b907
+CME ERROR: 409 // Fail to write the file
]
```
Or it may just freeze on modem_at1 interface and stop responding to AT commands:
```
8:0:34:32|TRACE|RADIO| Sending command [AT]
8:0:34:133|DEBUG|RESULT:
8:0:34:133|DEBUG|Shutting Down
```
This commit implements an alternative, ACK mode for data transmission to prevent data losses.
Data is sent in chunks and the device waits for ACK string from the radio for each chunk.
|