about summary refs log tree commit diff
path: root/tools/debug-helper.py
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2015-01-22 00:29:39 +0100
committerMichael Biebl <biebl@debian.org>2015-01-22 00:29:39 +0100
commit2c032d8f1c6292c1338a615e6ec40252889ba85c (patch)
tree1f77182220b2b0264288ba4a476ab47e5bc48716 /tools/debug-helper.py
parent33491bc4279481db8ae47213e34a6d695a0e8830 (diff)
Imported Upstream version 1.0.0 upstream/1.0.0
Diffstat (limited to 'tools/debug-helper.py')
-rwxr-xr-xtools/debug-helper.py61
1 files changed, 61 insertions, 0 deletions
diff --git a/tools/debug-helper.py b/tools/debug-helper.py
new file mode 100755
index 00000000..07338242
--- /dev/null
+++ b/tools/debug-helper.py
@@ -0,0 +1,61 @@
+#!/usr/bin/python
+# Copyright (C) 2011 Mathieu Trudel-Lapierre <mathieu.tl@gmail.com>
+
+import dbus
+import argparse
+
+bus = dbus.SystemBus()
+
+parser = argparse.ArgumentParser(description='Interface to easily control logging levels for NetworkManager, ModemManager, and wpasupplicant.')
+
+# NM options
+parser.add_argument('--nm', dest='do_set_nm_logging', action='store',
+                   help='modify log level for NetworkManager (debug, info, etc.)')
+parser.add_argument('--domains', dest='log_domains', action='store',
+                   default=[], nargs='+',
+                   help='log "domains" to use with NetworkManager (HW, CORE, etc.)')
+
+# MM options
+parser.add_argument('--mm', dest='do_set_mm_logging', action='store',
+                   help='modify log level for ModemManager (debug, info, etc.)')
+
+# wpasupplicant options
+parser.add_argument('--wpa', dest='do_set_wpa_logging', action='store',
+                   help='modify log level for wpasupplicant (debug, msgdump, info, etc.)')
+
+args = parser.parse_args()
+
+if args.do_set_nm_logging:
+    #print args.log_domains
+    dom_msg = ""
+    if args.log_domains:
+            dom_msg = " for domains: " + ','.join(args.log_domains)
+    print "Setting NetworkManager log level to '" + args.do_set_nm_logging + "'" + dom_msg
+
+    nm_bus = bus.get_object('org.freedesktop.NetworkManager', '/org/freedesktop/NetworkManager')
+    nm = dbus.Interface(nm_bus, dbus_interface='org.freedesktop.NetworkManager')
+    nm.SetLogging(args.do_set_nm_logging, ','.join(args.log_domains))
+
+if args.do_set_mm_logging:
+    print "Setting ModemManager log level to '" + args.do_set_mm_logging + "'"
+
+    mm_bus = bus.get_object('org.freedesktop.ModemManager', '/org/freedesktop/ModemManager')
+    mm = dbus.Interface(mm_bus, dbus_interface='org.freedesktop.ModemManager')
+    mm.SetLogging(args.do_set_mm_logging)
+
+if args.do_set_wpa_logging:
+    print "Setting wpa_supplicant log level to '" + args.do_set_wpa_logging + "'"
+
+    if 'debug' in args.do_set_wpa_logging or 'msgdump' in args.do_set_wpa_logging:
+	print "Enabling timestamps for wpasupplicant debugging logs"
+        use_timestamps = dbus.Boolean(True, variant_level=1)
+    else:
+	print "Disabling timestamps for wpasupplicant debugging logs"
+        use_timestamps = dbus.Boolean(False, variant_level=1)
+
+    wpa_bus = bus.get_object('fi.w1.wpa_supplicant1', '/fi/w1/wpa_supplicant1')
+    wpa_properties = dbus.Interface(wpa_bus, dbus_interface='org.freedesktop.DBus.Properties')
+    wpa_properties.Set('fi.w1.wpa_supplicant1', 'DebugTimestamp', use_timestamps)
+    wpa_properties.Set('fi.w1.wpa_supplicant1', 'DebugLevel',
+                           dbus.String(args.do_set_wpa_logging, variant_level=1))
+