221
flash_done (MMSerialPort *port, gpointer user_data)
221
flash_done (MMSerialPort *port, GError *error, gpointer user_data)
223
MMCallbackInfo *info = (MMCallbackInfo *) user_data;
226
/* Flash failed for some reason */
227
info->error = g_error_copy (error);
228
mm_callback_info_schedule (info);
223
232
mm_serial_port_queue_command (port, "Z E0 V1 X4 &C1", 3, init_done, user_data);
243
if (mm_serial_port_open (priv->primary, &info->error))
244
mm_serial_port_flash (priv->primary, 100, flash_done, info);
252
if (!mm_serial_port_open (priv->primary, &info->error)) {
253
g_assert (info->error);
254
mm_callback_info_schedule (info);
247
mm_callback_info_schedule (info);
258
mm_serial_port_flash (priv->primary, 100, flash_done, info);
286
disconnect_flash_done (MMSerialPort *port, gpointer user_data)
297
disconnect_flash_done (MMSerialPort *port,
288
301
MMCallbackInfo *info = (MMCallbackInfo *) user_data;
289
MMGenericCdmaPrivate *priv;
291
priv = MM_GENERIC_CDMA_GET_PRIVATE (info->modem);
302
MMGenericCdmaPrivate *priv = MM_GENERIC_CDMA_GET_PRIVATE (info->modem);
305
info->error = g_error_copy (error);
306
mm_callback_info_schedule (info);
292
310
mm_port_set_connected (priv->data, FALSE);
293
311
mm_callback_info_schedule (info);
518
536
char *reply = response->str;
519
537
int class = 0, sid = 99999, num;
520
538
unsigned char band = 'Z';
539
gboolean success = FALSE;
523
542
info->error = g_error_copy (error);
527
546
if (strstr (reply, "+CSS: "))
530
num = sscanf (reply, "%d , %c , %d", &class, &band, &sid);
533
class = CLAMP (class, 0, 4);
534
band = CLAMP (band, 'A', 'Z');
549
num = sscanf (reply, "? , %d", &sid);
551
/* UTStarcom modem that uses IS-707-A format */
554
num = sscanf (reply, "%d , %c , %d", &class, &band, &sid);
556
/* Modem uses IS-707-A-2 format */
559
class = CLAMP (class, 0, 4);
560
band = CLAMP (band, 'A', 'Z');
566
/* 99999 means unknown/no service */
535
567
if (sid < 0 || sid > 32767)
538
/* 99 means unknown/no service */
570
if (sid == 0 || sid == 99999) {
540
571
info->error = g_error_new_literal (MM_MOBILE_ERROR,
541
MM_MOBILE_ERROR_NO_NETWORK,
572
MM_MOBILE_ERROR_NO_NETWORK,
544
575
mm_callback_info_set_data (info, "class", GUINT_TO_POINTER (class), NULL);
545
576
mm_callback_info_set_data (info, "band", GUINT_TO_POINTER ((guint32) band), NULL);
546
577
mm_callback_info_set_data (info, "sid", GUINT_TO_POINTER (sid), NULL);
549
580
info->error = g_error_new_literal (MM_MODEM_ERROR, MM_MODEM_ERROR_GENERAL,
550
581
"Could not parse Serving System results.");
553
585
mm_callback_info_schedule (info);