summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorDan Winship <danw@gnome.org>2014-07-25 11:54:36 -0400
committerDan Winship <danw@gnome.org>2014-07-30 15:56:19 -0400
commitefb2b13baa3bee125776f867eeacb038c8977817 (patch)
treed6dc1fa563ebafaa25d8dd2528f87a927d7db2e9 /tools
parent420e027c999d43cc367aa7378a0e2d48dcd5ea30 (diff)
downloadNetworkManager-efb2b13baa3bee125776f867eeacb038c8977817.tar.gz
tools: move debug-helper.py from test/ to tools/
Diffstat (limited to 'tools')
-rw-r--r--tools/Makefile.am1
-rwxr-xr-xtools/debug-helper.py61
2 files changed, 62 insertions, 0 deletions
diff --git a/tools/Makefile.am b/tools/Makefile.am
index 592fb408ea..414308fd40 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -1,5 +1,6 @@
EXTRA_DIST = \
check-exports.sh \
+ debug-helper.py \
doc-generator.xsl \
run-test-valgrind.sh \
test-sudo-wrapper.sh
diff --git a/tools/debug-helper.py b/tools/debug-helper.py
new file mode 100755
index 0000000000..07338242db
--- /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))
+