#!/usr/bin/python

# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import mm
import sys

def Usage(prog):
    print ("Usage: %s "
           "<device path substring>") % prog

if len(sys.argv) < 1 or len(sys.argv) > 2:
    Usage(sys.argv[0])
    sys.exit(1)

if len(sys.argv) < 2:
    modem_pattern = ''
else:
    modem_pattern = sys.argv[1]

manager, path = mm.PickOneModem(modem_pattern)
gobi_modem = manager.GobiModem(path)
gobi_modem.SoftReset()
