Closed
Description
Description
Just before PR #10639 following code worked perfectly.
nsapi_error_t Test::connect() {
nsapi_error_t ret = NSAPI_ERROR_DEVICE_ERROR;
if (_network) {
ret = _network->connect();
if (ret == NSAPI_ERROR_OK || ret == NSAPI_ERROR_IS_CONNECTED) {
ret = _socket.open(_network);
if (ret == NSAPI_ERROR_OK) {
debug("open OK\n");
ret = _socket.connect(_server, _port);
if (ret == NSAPI_ERROR_OK || ret == NSAPI_ERROR_IS_CONNECTED) {
debug("connected\n");
return ret;
} else {
debug("connect FAILED: %i\n", ret);
}
} else {
debug("open FAILED\n");
}
_socket.close();
} else {
debug("network connect failed");
}
} else {
debug("no network\n");
}
_is_connected = false;
return ret;
}
here is a log:
[INFO][CELL]: CellularContext connect
[INFO][CELL]: AT TX (12): AT+UPSND=0,8
[INFO][CELL]: AT TX ( 1): <cr>
[INFO][CELL]: Socket 0 open
open OK
[INFO][CELL]: AT RX ( 6): <cr><ln>+UPS
[INFO][CELL]: AT RX (11): ND: 0,8,0<cr><ln>
[INFO][CELL]: AT RX ( 6): <cr><ln>OK<cr><ln>
[INFO][CELL]: AT TX (12): AT+UPSD=0,1,
[INFO][CELL]: AT TX ( 1): "
[INFO][CELL]: AT TX ( 8): internet
[INFO][CELL]: AT TX ( 1): "
[INFO][CELL]: AT TX ( 1): <cr>
[INFO][CELL]: AT RX ( 2): <cr><ln>
[INFO][CELL]: AT RX ( 4): OK<cr><ln>
[INFO][CELL]: AT TX (21): AT+UPSD=0,7,"0.0.0.0"
[INFO][CELL]: AT TX ( 1): <cr>
[INFO][CELL]: AT RX ( 5): <cr><ln>OK<cr>
[INFO][CELL]: AT RX ( 1): <ln>
[INFO][CELL]: AT TX (12): AT+UPSD=0,6,
[INFO][CELL]: AT TX ( 1): 0
[INFO][CELL]: AT TX ( 1): <cr>
[INFO][CELL]: AT RX ( 6): <cr><ln>OK<cr><ln>
[INFO][CELL]: AT TX (12): AT+UPSDA=0,3
[INFO][CELL]: AT TX ( 1): <cr>
[INFO][CELL]: AT RX ( 4): <cr><ln>OK
[INFO][CELL]: AT RX ( 2): <cr><ln>
[INFO][CELL]: AT TX (10): AT+USOCR=6
[INFO][CELL]: AT TX ( 1): <cr>
[INFO][CELL]: AT RX ( 8): <cr><ln>+USOCR
[INFO][CELL]: AT RX (10): : 0<cr><ln><cr><ln>OK<cr>
[INFO][CELL]: AT RX ( 1): <ln>
[INFO][CELL]: AT TX ( 9): AT+USOCO=
[INFO][CELL]: AT TX ( 1): 0
[INFO][CELL]: AT TX ( 1): ,
[INFO][CELL]: AT TX ( 1): "
[INFO][CELL]: AT TX (13): 12.34.567.890
[INFO][CELL]: AT TX ( 1): "
[INFO][CELL]: AT TX ( 1): ,
[INFO][CELL]: AT TX ( 5): 20838
[INFO][CELL]: AT TX ( 1): <cr>
[INFO][CELL]: AT RX ( 6): <cr><ln>OK<cr><ln>
connected
but after that PR got merged i can't connect to socket and as you can see AT+USOCO
has as next argument -1 instead if socket id 0.
For some reason even though it fails (+CME ERROR: 4
and AT error -3012
) _socket.connect()
doesn't return negative number as error, but that may be another issue or i misunderstood the returns of TCPSocket _socket
[INFO][CELL]: CellularContext connect
[INFO][CELL]: AT TX (12): AT+UPSND=0,8
[INFO][CELL]: AT TX ( 1): <cr>
[INFO][CELL]: Socket 0 open
open OK
[INFO][CELL]: AT RX (11): <cr><ln>+UPSND: 0
[INFO][CELL]: AT RX (12): ,8,0<cr><ln><cr><ln>OK<cr><ln>
[INFO][CELL]: AT TX (12): AT+UPSD=0,1,
[INFO][CELL]: AT TX ( 1): "
[INFO][CELL]: AT TX ( 8): internet
[INFO][CELL]: AT TX ( 1): "
[INFO][CELL]: AT TX ( 1): <cr>
[INFO][CELL]: AT RX ( 6): <cr><ln>OK<cr><ln>
[INFO][CELL]: AT TX (21): AT+UPSD=0,7,"0.0.0.0"
[INFO][CELL]: AT TX ( 1): <cr>
[INFO][CELL]: AT RX ( 6): <cr><ln>OK<cr><ln>
[INFO][CELL]: AT TX (12): AT+UPSD=0,6,
[INFO][CELL]: AT TX ( 1): 0
[INFO][CELL]: AT TX ( 1): <cr>
[INFO][CELL]: AT RX ( 2): <cr><ln>
[INFO][CELL]: AT RX ( 4): OK<cr><ln>
[INFO][CELL]: AT TX (12): AT+UPSDA=0,3
[INFO][CELL]: AT TX ( 1): <cr>
[INFO][CELL]: AT RX ( 6): <cr><ln>OK<cr><ln>
[INFO][CELL]: AT TX ( 9): AT+USOCO=
[INFO][CELL]: AT TX ( 2): -1
[INFO][CELL]: AT TX ( 1): ,
[INFO][CELL]: AT TX ( 1): "
[INFO][CELL]: AT TX (13): 12.34.567.890
[INFO][CELL]: AT TX ( 1): "
[INFO][CELL]: AT TX ( 1): ,
[INFO][CELL]: AT TX ( 5): 20838
[INFO][CELL]: AT TX ( 1): <cr>
[INFO][CELL]: AT RX ( 6): <cr><ln>+CME
[INFO][CELL]: AT RX (11): ERROR: 4<cr><ln>
[ERR ][CELL]: AT error code 4
[DBG ][CELL]: AT error -3012
connected
Board: STM32F412ZG and STM32F303RE as well
Modem: SARA-G350
compiled with ARM-GCC
Issue request type
[ ] Question
[ ] Enhancement
[x] Bug