We were trying to load the generic modes supported reported by either *CNTI=2 or
AT+WS46=?, so that then we could filter out the MBM-specific modes unsupported.
But, this may not be ideal, as both these two commands may fail:
[mm-broadband-modem.c:1612] modem_load_supported_modes(): loading supported modes...
[mm-port-serial.c:1237] mm_port_serial_open(): (ttyACM1) device open count is 3 (open)
[mm-port-serial.c:1294] _close_internal(): (ttyACM1) device open count is 2 (close)
[mm-port-serial-at.c:440] debug_log(): (ttyACM1): --> 'AT*CNTI=2<CR>'
[mm-port-serial-at.c:440] debug_log(): (ttyACM1): <-- '<CR><LF>ERROR<CR><LF>'
[mm-serial-parsers.c:364] mm_serial_parser_v1_parse(): Got failure code 100: Unknown error
[mm-broadband-modem.c:1546] supported_modes_cnti_ready(): Generic query of supported 3GPP networks with *CNTI failed: 'Unknown error'
[mm-port-serial.c:1237] mm_port_serial_open(): (ttyACM1) device open count is 3 (open)
[mm-port-serial.c:1294] _close_internal(): (ttyACM1) device open count is 2 (close)
[mm-port-serial-at.c:440] debug_log(): (ttyACM1): --> 'AT+WS46=?<CR>'
[mm-port-serial-at.c:440] debug_log(): (ttyACM1): <-- '<CR><LF>ERROR<CR><LF>'
[mm-serial-parsers.c:364] mm_serial_parser_v1_parse(): Got failure code 100: Unknown error
[mm-broadband-modem.c:1494] supported_modes_ws46_test_ready(): Generic query of supported 3GPP networks with WS46=? failed: 'Unknown error'
[mm-iface-modem.c:3974] load_supported_modes_ready(): couldn't load Supported Modes: 'Couldn't retrieve supported modes'
Instead, we'll ask the modem for the list of modes supported, and return that
directly.
42 lines
1.5 KiB
C
42 lines
1.5 KiB
C
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details:
|
|
*
|
|
* Copyright (C) 2014 Dan Williams <dcbw@redhat.com>
|
|
*/
|
|
|
|
#ifndef MM_MODEM_HELPERS_MBM_H
|
|
#define MM_MODEM_HELPERS_MBM_H
|
|
|
|
#include "glib.h"
|
|
|
|
/* *E2IPCFG response parser */
|
|
gboolean mm_mbm_parse_e2ipcfg_response (const gchar *response,
|
|
MMBearerIpConfig **out_ip4_config,
|
|
MMBearerIpConfig **out_ip6_config,
|
|
GError **error);
|
|
|
|
typedef enum {
|
|
MBM_NETWORK_MODE_OFFLINE = 0,
|
|
MBM_NETWORK_MODE_ANY = 1,
|
|
MBM_NETWORK_MODE_LOW_POWER = 4,
|
|
MBM_NETWORK_MODE_2G = 5,
|
|
MBM_NETWORK_MODE_3G = 6,
|
|
} MbmNetworkMode;
|
|
|
|
/* AT+CFUN=? test parser
|
|
* Returns a bitmask, bit index set for the supported modes reported */
|
|
gboolean mm_mbm_parse_cfun_test (const gchar *response,
|
|
guint32 *supported_mask,
|
|
GError **error);
|
|
|
|
#endif /* MM_MODEM_HELPERS_MBM_H */
|