I found this article about how to
list devices using hal and dbus from Python, however, I couldn’t get it to work properly. After some hacking
I managed to get a little script working to list all the ethernet devices.
import dbus bus = dbus.Bus(dbus.Bus.TYPE_SYSTEM) hal_service = bus.get_service("org.freedesktop.Hal") hal_manager = hal_service.get_object("/org/freedesktop/Hal/Manager", "org.freedesktop.Hal.Manager") eth_devs = hal_manager.FindDeviceByCapability ("net") for dev_uri in eth_devs: dev = hal_service.get_object (dev_uri, "org.freedesktop.Hal.Device") iface = dev.GetPropertyString ("net.interface") prod = "" try: prod = "(" + dev.GetPropertyString ("info.product") + ")" except: pass print "%s - %s" % (iface, prod)