Public feed
#725395
*** /home/jra/kamikaze/build_dir/mipsel/gnokii-0.6.18/gnokii/gnokii-other.c 2007-07-24 22:31:36.000000000 +0200
--- gnokii/gnokii-other.c 2007-10-04 13:31:40.000000000 +0200
***************
*** 180,185 ****
--- 180,186 ----
char country[4] = {0, 0, 0, 0};
gn_data_clear(data);
+ memset(&networkinfo, 0, sizeof(gn_network_info));
data->network_info = &networkinfo;
if ((error = gn_sm_functions(GN_OP_GetNetworkInfo, data, state)) != GN_ERR_NONE) {
*** /home/jra/kamikaze/build_dir/mipsel/gnokii-0.6.18/common/phones/atsoer.c 2007-07-24 22:31:35.000000000 +0200
--- common/phones/atsoer.c 2007-10-04 13:13:02.000000000 +0200
***************
*** 202,207 ****
--- 202,220 ----
return sm_block_no_retry(GN_OP_DeletePhonebook, data, state);
}
+ static gn_error AT_WriteGetNet(gn_data *data, struct gn_statemachine *state)
+ {
+ gn_error error;
+ if (!data->network_info)
+ return GN_ERR_INTERNALERROR;
+
+ /* Sony Ericsson phones can't do CREG=2 (only CREG=1), so just
+ * skip that and only do COPS */
+
+ if (sm_message_send(9, GN_OP_GetNetworkInfo, "AT+COPS?\r", state))
+ return GN_ERR_NOTREADY;
+ return sm_block_no_retry(GN_OP_GetNetworkInfo, data, state);
+ }
void at_sonyericsson_init(char* foundmodel, char* setupmodel, struct gn_statemachine *state)
{
***************
*** 209,212 ****
--- 222,226 ----
at_insert_recv_function(GN_OP_ReadPhonebook, ReplyReadPhonebook, state);
at_insert_send_function(GN_OP_WritePhonebook, AT_WritePhonebook, state);
at_insert_send_function(GN_OP_DeletePhonebook, AT_DeletePhonebook, state);
+ at_insert_send_function(GN_OP_GetNetworkInfo, AT_WriteGetNet, state);
}