mirror of https://github.com/ARMmbed/mbed-os.git
Cellular: IP stack property redefined
parent
b44ba531a1
commit
7aaaae121e
|
@ -60,7 +60,7 @@ public:
|
||||||
PROPERTY_AT_CSDH, // 0 = not supported, 1 = supported. Show text mode AT command
|
PROPERTY_AT_CSDH, // 0 = not supported, 1 = supported. Show text mode AT command
|
||||||
PROPERTY_IPV4_PDP_TYPE, // 0 = not supported, 1 = supported. Does modem support IPV4?
|
PROPERTY_IPV4_PDP_TYPE, // 0 = not supported, 1 = supported. Does modem support IPV4?
|
||||||
PROPERTY_IPV6_PDP_TYPE, // 0 = not supported, 1 = supported. Does modem support IPV6?
|
PROPERTY_IPV6_PDP_TYPE, // 0 = not supported, 1 = supported. Does modem support IPV6?
|
||||||
PROPERTY_IPV4V6_PDP_TYPE, // 0 = not supported, 1 = supported. Does modem support dual stack IPV4V6?
|
PROPERTY_IPV4V6_PDP_TYPE, // 0 = not supported, 1 = supported. Does modem support IPV4 and IPV6 simultaneously?
|
||||||
PROPERTY_NON_IP_PDP_TYPE, // 0 = not supported, 1 = supported. Does modem support Non-IP?
|
PROPERTY_NON_IP_PDP_TYPE, // 0 = not supported, 1 = supported. Does modem support Non-IP?
|
||||||
PROPERTY_AT_CGEREP, // 0 = not supported, 1 = supported. Does modem support AT command AT+CGEREP.
|
PROPERTY_AT_CGEREP, // 0 = not supported, 1 = supported. Does modem support AT command AT+CGEREP.
|
||||||
|
|
||||||
|
|
|
@ -369,8 +369,9 @@ bool AT_CellularContext::get_context()
|
||||||
// APN matched -> Check PDP type
|
// APN matched -> Check PDP type
|
||||||
pdp_type_t pdp_type = string_to_pdp_type(pdp_type_from_context);
|
pdp_type_t pdp_type = string_to_pdp_type(pdp_type_from_context);
|
||||||
|
|
||||||
// Accept exact matching PDP context type
|
// Accept exact matching PDP context type or dual PDP context for modems that support both IPv4 and IPv6 stacks
|
||||||
if (get_property(pdp_type_t_to_cellular_property(pdp_type))) {
|
if (get_property(pdp_type_t_to_cellular_property(pdp_type)) ||
|
||||||
|
((pdp_type == IPV4V6_PDP_TYPE && (get_property(PROPERTY_IPV4_PDP_TYPE) && get_property(PROPERTY_IPV6_PDP_TYPE))) && !_nonip_req)) {
|
||||||
_pdp_type = pdp_type;
|
_pdp_type = pdp_type;
|
||||||
_cid = cid;
|
_cid = cid;
|
||||||
}
|
}
|
||||||
|
@ -403,7 +404,7 @@ bool AT_CellularContext::set_new_context(int cid)
|
||||||
if (_nonip_req && _cp_in_use && get_property(PROPERTY_NON_IP_PDP_TYPE)) {
|
if (_nonip_req && _cp_in_use && get_property(PROPERTY_NON_IP_PDP_TYPE)) {
|
||||||
strncpy(pdp_type_str, "Non-IP", sizeof(pdp_type_str));
|
strncpy(pdp_type_str, "Non-IP", sizeof(pdp_type_str));
|
||||||
pdp_type = NON_IP_PDP_TYPE;
|
pdp_type = NON_IP_PDP_TYPE;
|
||||||
} else if (get_property(PROPERTY_IPV4V6_PDP_TYPE)) {
|
} else if (get_property(PROPERTY_IPV4V6_PDP_TYPE) || (get_property(PROPERTY_IPV4_PDP_TYPE) && get_property(PROPERTY_IPV6_PDP_TYPE))) {
|
||||||
strncpy(pdp_type_str, "IPV4V6", sizeof(pdp_type_str));
|
strncpy(pdp_type_str, "IPV4V6", sizeof(pdp_type_str));
|
||||||
pdp_type = IPV4V6_PDP_TYPE;
|
pdp_type = IPV4V6_PDP_TYPE;
|
||||||
} else if (get_property(PROPERTY_IPV6_PDP_TYPE)) {
|
} else if (get_property(PROPERTY_IPV6_PDP_TYPE)) {
|
||||||
|
|
Loading…
Reference in New Issue