| Index: mm.sh
|
| diff --git a/mm.sh b/mm.sh
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b70ffed5ff44582c1870969afca4dad599cb5406
|
| --- /dev/null
|
| +++ b/mm.sh
|
| @@ -0,0 +1,58 @@
|
| +#!/bin/dash
|
| +# Copyright (c) 2009 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.
|
| +
|
| +# Library for talking to ModemManager from sh. Copied (ugh) from flimflam.
|
| +
|
| +MM=${MM:-/org/chromium/ModemManager}
|
| +IDBUS=org.freedesktop.DBus
|
| +IDBUS_PROPERTIES=$IDBUS.Properties
|
| +IMM=org.freedesktop.ModemManager
|
| +IMODEM=$IMM.Modem
|
| +IMODEM_SIMPLE=$IMODEM.Simple
|
| +IMODEM_CDMA=$IMODEM.Cdma
|
| +IMODEM_GSM=$IMODEM.Gsm
|
| +IMODEM_GSM_CARD=$IMODEM_GSM.Card
|
| +IMODEM_GSM_NETWORK=$IMODEM_GSM.Network
|
| +IMODEM_GOBI=org.chromium.ModemManager.Modem.Gobi
|
| +IMODEMS="$IMODEM $IMODEM_SIMPLE $IMODEM_CDMA $IMODEM_GSM $IMODEM_GOBI"
|
| +DEST=`echo $MM | sed -e 's!^/!!g' -e 's!/!.!g'`
|
| +
|
| +MTYPE_GSM=1
|
| +MTYPE_CDMA=2
|
| +
|
| +dbus () {
|
| + local obj=$1
|
| + local method=$2
|
| + shift 2
|
| +
|
| + dbus-send --system --print-reply --fixed \
|
| + --dest=$DEST "$obj" "$method" $*
|
| +}
|
| +
|
| +modems () {
|
| + dbus $MM $IMM.EnumerateDevices | awk '{print $2}'
|
| +}
|
| +
|
| +modemprops () {
|
| + local modem=$1
|
| + for i in $IMODEMS; do
|
| + dbus $modem $IDBUS_PROPERTIES.GetAll string:$i 2>/dev/null \
|
| + | awk '/[^[:space:]] [^[:space:]]/ {print $N}'
|
| + done
|
| +}
|
| +
|
| +modemprop () {
|
| + local modem=$1
|
| + local prop=$2
|
| + modemprops $modem | grep /$prop | awk '{print $2}'
|
| +}
|
| +
|
| +modem_activation_state () {
|
| + local modem=$1
|
| + if [ -n $modem ] ; then
|
| + dbus $modem $IMODEM_SIMPLE.GetStatus |\
|
| + awk '/\/activation_state/ {print $2}'
|
| + fi
|
| +}
|
|
|