Fixed reporting of roaming registration
This commit is contained in:
parent
ab7d4865f2
commit
a42daf32b4
@ -1950,7 +1950,7 @@ static gboolean _on_queue_timeout(gpointer data)
|
|||||||
_hayes_queue_command(modem, command);
|
_hayes_queue_command(modem, command);
|
||||||
hayes->queue_timeout = g_slist_remove(hayes->queue_timeout, command);
|
hayes->queue_timeout = g_slist_remove(hayes->queue_timeout, command);
|
||||||
if(hayes->queue_timeout != NULL)
|
if(hayes->queue_timeout != NULL)
|
||||||
hayes->source = g_timeout_add(2000, _on_queue_timeout, modem);
|
hayes->source = g_timeout_add(1000, _on_queue_timeout, modem);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2783,10 +2783,6 @@ static HayesCommandStatus _on_request_sim_pin_valid(HayesCommand * command,
|
|||||||
/* refresh the message list */
|
/* refresh the message list */
|
||||||
request.type = MODEM_REQUEST_MESSAGE_LIST;
|
request.type = MODEM_REQUEST_MESSAGE_LIST;
|
||||||
_hayes_request(modem, &request);
|
_hayes_request(modem, &request);
|
||||||
/* report being online */
|
|
||||||
event = &hayes->events[MODEM_EVENT_TYPE_STATUS];
|
|
||||||
event->status.status = MODEM_STATUS_ONLINE;
|
|
||||||
modem->helper->event(modem->helper->modem, event);
|
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2870,8 +2866,10 @@ static void _on_trigger_cfun(ModemPlugin * modem, char const * answer)
|
|||||||
switch(u)
|
switch(u)
|
||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
request.type = HAYES_REQUEST_SIM_PIN_VALID;
|
/* report being online */
|
||||||
_hayes_request(modem, &request);
|
event = &hayes->events[MODEM_EVENT_TYPE_STATUS];
|
||||||
|
event->status.status = MODEM_STATUS_ONLINE;
|
||||||
|
modem->helper->event(modem->helper->modem, event);
|
||||||
break;
|
break;
|
||||||
case 4: /* antennas disabled */
|
case 4: /* antennas disabled */
|
||||||
case 0: /* telephony disabled */
|
case 0: /* telephony disabled */
|
||||||
@ -3020,7 +3018,7 @@ static void _on_trigger_cme_error(ModemPlugin * modem, char const * answer)
|
|||||||
hayes->queue_timeout = g_slist_append(
|
hayes->queue_timeout = g_slist_append(
|
||||||
hayes->queue_timeout, p);
|
hayes->queue_timeout, p);
|
||||||
if(hayes->source == 0)
|
if(hayes->source == 0)
|
||||||
hayes->source = g_timeout_add(2000,
|
hayes->source = g_timeout_add(1000,
|
||||||
_on_queue_timeout, modem);
|
_on_queue_timeout, modem);
|
||||||
break;
|
break;
|
||||||
default: /* FIXME implement the rest */
|
default: /* FIXME implement the rest */
|
||||||
@ -3425,7 +3423,7 @@ static void _on_trigger_cms_error(ModemPlugin * modem, char const * answer)
|
|||||||
hayes->queue_timeout = g_slist_append(
|
hayes->queue_timeout = g_slist_append(
|
||||||
hayes->queue_timeout, p);
|
hayes->queue_timeout, p);
|
||||||
if(hayes->source == 0)
|
if(hayes->source == 0)
|
||||||
hayes->source = g_timeout_add(2000,
|
hayes->source = g_timeout_add(1000,
|
||||||
_on_queue_timeout, modem);
|
_on_queue_timeout, modem);
|
||||||
break;
|
break;
|
||||||
default: /* FIXME implement the rest */
|
default: /* FIXME implement the rest */
|
||||||
@ -3688,6 +3686,7 @@ static void _on_trigger_creg(ModemPlugin * modem, char const * answer)
|
|||||||
if(res == 1 || res == 3)
|
if(res == 1 || res == 3)
|
||||||
memmove(&u[1], u, sizeof(*u) * 3);
|
memmove(&u[1], u, sizeof(*u) * 3);
|
||||||
u[0] = event->registration.mode;
|
u[0] = event->registration.mode;
|
||||||
|
event->registration.roaming = 0;
|
||||||
switch(u[1])
|
switch(u[1])
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
@ -3705,6 +3704,7 @@ static void _on_trigger_creg(ModemPlugin * modem, char const * answer)
|
|||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
u[1] = MODEM_REGISTRATION_STATUS_REGISTERED;
|
u[1] = MODEM_REGISTRATION_STATUS_REGISTERED;
|
||||||
|
event->registration.roaming = 1;
|
||||||
break;
|
break;
|
||||||
case 4: /* unknown */
|
case 4: /* unknown */
|
||||||
default:
|
default:
|
||||||
|
Loading…
Reference in New Issue
Block a user