Skip to content

Cellular: AT + QICSGP set up APN fix #12227

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jan 15, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -69,11 +69,21 @@ ControlPlane_netif *QUECTEL_BG96_CellularContext::get_cp_netif()

nsapi_error_t QUECTEL_BG96_CellularContext::do_user_authentication()

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AT_CellularContext::get_context still uses AT+CGDCONT so that should be overridden as well.

Copy link
Contributor

@mirelachirica mirelachirica Jan 10, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AT_CellularContext::get_context is using AT+CGDCONT only for reading. No need for QICSGP. If you think set_new_context(), that has to be done still by CGDCONT.
QICSGP can only congfigure a context created by CGDCONT.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

QICSGP must be called to configure APN. If don't want to override get_context then should allow empty _pwd and _uname here.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't this allowing empty _pwd and _uname?

{
uint8_t type = (uint8_t)_pdp_type;
if ((uint8_t)_pdp_type < 1) {
type = 1;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should probably default to IPv4v6?

}

if (_pwd && _uname) {
if (_at.at_cmd_discard("+QICSGP", "=", "%d%d%s%s%s%d", _cid, 1,
if (_at.at_cmd_discard("+QICSGP", "=", "%d%d%s%s%s%d", _cid, type,
_apn, _uname, _pwd, _authentication_type) != NSAPI_ERROR_OK) {
return NSAPI_ERROR_AUTH_FAILURE;
}
} else {
if (_at.at_cmd_discard("+QICSGP", "=", "%d%d%s", _cid, type,
_apn) != NSAPI_ERROR_OK) {
return NSAPI_ERROR_AUTH_FAILURE;
}
}

return NSAPI_ERROR_OK;
Expand Down