#!/usr/bin/python3 import sys import dbus if len(sys.argv) < 2: print("Usage: %s Bearer types: " %\ (sys.argv[0])) sys.exit(1) def message_bearer(sms, value): try: sms.SetProperty("Bearer", dbus.String(value)) except dbus.DBusException as e: print("Unable to set Bearer[%s] - FAIL" % (value)) exit(1) bus = dbus.SystemBus() manager = dbus.Interface(bus.get_object('org.ofono', '/'),'org.ofono.Manager') modems = manager.GetModems() value = sys.argv[1] for path, properties in modems: print("Setting bearer for [ %s ]" % (path)) if "org.ofono.MessageManager" not in properties["Interfaces"]: continue sms = dbus.Interface(bus.get_object('org.ofono', path), 'org.ofono.MessageManager') message_bearer(sms, value) print("SMS Bearer updated for [ %s ]" % (path))