diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/vyos/util.py | 16 | 
1 files changed, 16 insertions, 0 deletions
| diff --git a/python/vyos/util.py b/python/vyos/util.py index 9c4c29322..9aa1f98d2 100644 --- a/python/vyos/util.py +++ b/python/vyos/util.py @@ -931,3 +931,19 @@ def install_into_config(conf, config_paths, override_prompt=True):      if count > 0:          print(f'{count} value(s) installed. Use "compare" to see the pending changes, and "commit" to apply.') + +def is_wwan_connected(interface): +    """ Determine if a given WWAN interface, e.g. wwan0 is connected to the +    carrier network or not """ +    import json + +    if not interface.startswith('wwan'): +        raise ValueError(f'Specified interface "{interface}" is not a WWAN interface') + +    modem = interface.lstrip('wwan') + +    tmp = cmd(f'mmcli --modem {modem} --output-json') +    tmp = json.loads(tmp) + +    # return True/False if interface is in connected state +    return dict_search('modem.generic.state', tmp) == 'connected' | 
