----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviewboard.kde.org/r/3769/ -----------------------------------------------------------
(Updated 2010-06-08 00:46:42.627430) Review request for Network Management and KNetworkManager. Changes ------- Changed patch to work as a real solid backend (apart from network manager backend), changed enums to camel names, implemented more MM interfaces from specification. Added methods getModemCardIface and getModemNetworkIface to GsmNetworkInterface class (from NetworkManager backend) to make it easier to use the backend when some programa already uses NM backend, like Plasma Network Management. Summary (updated) ------- This patch adds preliminary ModemManager support to solid. The dbus methods can be tested in command line with: dbus-send --system --print-reply --dest=org.freedesktop.ModemManager /org/freedesktop/ModemManager org.freedesktop.ModemManager.EnumerateDevices dbus-send --system --print-reply --dest=org.freedesktop.ModemManager /org/freedesktop/ModemManager/Modems/<modem number> org.freedesktop.ModemManager.Modem.Gsm.Network.GetSignalQuality dbus-send --system --print-reply --dest=org.freedesktop.ModemManager /org/freedesktop/ModemManager/Modems/<modem number> org.freedesktop.ModemManager.Modem.Gsm.Network.GetRegistrationInfo dbus-send --system --print-reply --dest=org.freedesktop.ModemManager /org/freedesktop/ModemManager/Modems/<modem number> org.freedesktop.DBus.Properties.GetAll string:<interface name> <modem number> is returned by the first method (EnumerateDevices). <interface name> is either of org.freedesktop.ModemManager (do not use /Modems/<modem number> with this one) org.freedesktop.DBus.Properties (do not use /Modems/<modem number> with this one) org.freedesktop.ModemManager.Modem org.freedesktop.ModemManager.Modem.Simple org.freedesktop.ModemManager.Modem.Location org.freedesktop.ModemManager.Modem.Cdma org.freedesktop.ModemManager.Modem.Gsm org.freedesktop.ModemManager.Modem.Gsm.Card org.freedesktop.ModemManager.Modem.Gsm.Contacts org.freedesktop.ModemManager.Modem.Gsm.Network org.freedesktop.ModemManager.Modem.Gsm.SMS org.freedesktop.ModemManager.Modem.Gsm.Hso org.freedesktop.ModemManager.Modem.Gsm.Ussd There are still some problems with this patch that and I need advice as to the best way to solve them: 1. [FIXED] It only works for one 3G modem. NetworkManager and ModemManager have their own list of devices, I need to match the NetworkManager device id to the ModemManager to that I can use /org/freedesktop/ModemManager/Modems/<modem number> for more than one modem. For now the implementation uses the first modem found. 2. [FIXED] The ModemManager object is in NMGsmNetworkInterfacePrivate class. Maybe there is a better place to put it so other device types (CDMA, serial) could make use of ModemManager. 3. The patch has only been tested with my Sony Ericsson MD300 modem. 4. When I hook up a second 3G modem (my cell phone actually) in my notebook ModemManager disconnects the first modem from Internet. This is not a KDE problem, just to warn everyone that tries this patch. ModemManager dbus specification is in here http://projects.gnome.org/NetworkManager/developers/mm-spec-04.html in case someone wants to help me implement the other methods. ModemManager-0.3 does not implement all methods/signal from that specification. I am doing tests with git NetworkManager and ModemManager as of May 16, 2010. To verify which interfaces ModemManager and your modem supports do: dbus-send --system --print-reply --dest=org.freedesktop.ModemManager /org/freedesktop/ModemManager org.freedesktop.DBus.Introspectable.Introspect dbus-send --system --print-reply --dest=org.freedesktop.ModemManager /org/freedesktop/ModemManager/Modems/<modem number> org.freedesktop.DBus.Introspectable.Introspect Current implemenation status is org.freedesktop.ModemManager - fully implemented - still needs testing: signals DeviceAdded and DeviceRemoved org.freedesktop.DBus.Properties - fully implemented and tested org.freedesktop.ModemManager.Modem - fully implemented, needs more testing - modem MD300 does not supports: method GetIP4Config org.freedesktop.ModemManager.Modem.Simple - fully implemented, needs more testing org.freedesktop.ModemManager.Modem.Location - modem MD300 does not support this interface (it is not listed when calling org.freedesktop.DBus.Introspectable.Introspect) org.freedesktop.ModemManager.Modem.Cdma - to be implemented - modem MD300 does not support this interface org.freedesktop.ModemManager.Modem.Gsm - fully implemented and tested org.freedesktop.ModemManager.Modem.Gsm.Card - fully implemented, needs more testing org.freedesktop.ModemManager.Modem.Gsm.Contacts - to be implemented - modem MD300 does not support this interface org.freedesktop.ModemManager.Modem.Gsm.Network - fully implemented - to be tested: methods Register and SetApn - still not working (returns error): method scan - modem MD300 does not support: method GetBand and probably method SetBand too org.freedesktop.ModemManager.Modem.Gsm.SMS - to be implemented - modem MD300 does not support method List and probably all other methods in this interface. org.freedesktop.ModemManager.Modem.Gsm.Hso - to be implemented - modem MD300 does not support this interface org.freedesktop.ModemManager.Modem.Gsm.Ussd - to be implemented - modem MD300 does not support this interface MM interfaces are organized as follow: class ModemManager org.freedesktop.ModemManager class ModemInterface org.freedesktop.ModemManager.Modem org.freedesktop.ModemManager.Modem.Simple org.freedesktop.ModemManager.Modem.Gsm (this interface includes only enums and flags) class ModemGsmCardInterface inherits from ModemInterface org.freedesktop.ModemManager.Modem.Gsm.Card class ModemGsmNetworkInterface inherits from ModemInterface org.freedesktop.ModemManager.Modem.Gsm.Network Diffs (updated) ----- /trunk/KDE/kdebase/workspace/libs/solid/control/CMakeLists.txt 1065512 /trunk/KDE/kdebase/workspace/libs/solid/control/backends/fakenet/fakeaccesspoint.h 1003789 /trunk/KDE/kdebase/workspace/libs/solid/control/backends/fakenet/fakeaccesspoint.cpp 1003789 /trunk/KDE/kdebase/workspace/libs/solid/control/backends/fakenet/fakenetworkinterface.h 997238 /trunk/KDE/kdebase/workspace/libs/solid/control/backends/fakenet/fakenetworkinterface.cpp 879758 /trunk/KDE/kdebase/workspace/libs/solid/control/ifaces/CMakeLists.txt 1032044 /trunk/KDE/kdebase/workspace/libs/solid/control/ifaces/modemgsmcardinterface.h PRE-CREATION /trunk/KDE/kdebase/workspace/libs/solid/control/ifaces/modemgsmcardinterface.cpp PRE-CREATION /trunk/KDE/kdebase/workspace/libs/solid/control/ifaces/modemgsmnetworkinterface.h PRE-CREATION /trunk/KDE/kdebase/workspace/libs/solid/control/ifaces/modemgsmnetworkinterface.cpp PRE-CREATION /trunk/KDE/kdebase/workspace/libs/solid/control/ifaces/modeminterface.h PRE- CREATION /trunk/KDE/kdebase/workspace/libs/solid/control/ifaces/modeminterface.cpp PRE-CREATION /trunk/KDE/kdebase/workspace/libs/solid/control/ifaces/modemmanager.h PRE- CREATION /trunk/KDE/kdebase/workspace/libs/solid/control/ifaces/modemmanager.cpp PRE- CREATION /trunk/KDE/kdebase/workspace/libs/solid/control/ifaces/modemmanagerinterface.h PRE-CREATION /trunk/KDE/kdebase/workspace/libs/solid/control/ifaces/modemmanagerinterface.cpp PRE-CREATION /trunk/KDE/kdebase/workspace/libs/solid/control/ifaces/networkgsminterface.h 879758 /trunk/KDE/kdebase/workspace/libs/solid/control/ifaces/networkinterface.h 997238 /trunk/KDE/kdebase/workspace/libs/solid/control/modemgsmcardinterface.h PRE- CREATION /trunk/KDE/kdebase/workspace/libs/solid/control/modemgsmcardinterface.cpp PRE-CREATION /trunk/KDE/kdebase/workspace/libs/solid/control/modemgsmcardinterface_p.h PRE-CREATION /trunk/KDE/kdebase/workspace/libs/solid/control/modemgsmnetworkinterface.h PRE-CREATION /trunk/KDE/kdebase/workspace/libs/solid/control/modemgsmnetworkinterface.cpp PRE-CREATION /trunk/KDE/kdebase/workspace/libs/solid/control/modemgsmnetworkinterface_p.h PRE-CREATION /trunk/KDE/kdebase/workspace/libs/solid/control/modemgsmnetworkminterface_p.h PRE-CREATION /trunk/KDE/kdebase/workspace/libs/solid/control/modeminterface.h PRE- CREATION /trunk/KDE/kdebase/workspace/libs/solid/control/modeminterface.cpp PRE- CREATION /trunk/KDE/kdebase/workspace/libs/solid/control/modeminterface_p.h PRE- CREATION /trunk/KDE/kdebase/workspace/libs/solid/control/modemmanager.h PRE-CREATION /trunk/KDE/kdebase/workspace/libs/solid/control/modemmanager.cpp PRE- CREATION /trunk/KDE/kdebase/workspace/libs/solid/control/modemmanager_p.h PRE- CREATION /trunk/KDE/kdebase/workspace/libs/solid/control/modemmanagerinterface.h PRE- CREATION /trunk/KDE/kdebase/workspace/libs/solid/control/modemmanagerinterface.cpp PRE-CREATION /trunk/KDE/kdebase/workspace/libs/solid/control/modemmanagerinterface_p.h PRE-CREATION /trunk/KDE/kdebase/workspace/libs/solid/control/networkgsminterface.h 879758 /trunk/KDE/kdebase/workspace/libs/solid/control/networkgsminterface.cpp 879758 /trunk/KDE/kdebase/workspace/libs/solid/control/networkinterface.h 1003381 /trunk/KDE/kdebase/workspace/libs/solid/control/networkinterface.cpp 997238 /trunk/KDE/kdebase/workspace/libs/solid/control/solidmodemmanager.desktop PRE-CREATION /trunk/KDE/kdebase/workspace/solid/CMakeLists.txt 1133877 /trunk/KDE/kdebase/workspace/solid/kcm/kcmsolid.h 1032044 /trunk/KDE/kdebase/workspace/solid/kcm/kcmsolid.cpp 1056589 /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/CMakeLists.txt PRE- CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/dbus/CMakeLists.txt PRE- CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/dbus/do-hand-edits PRE- CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/dbus/generic-types.h PRE-CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/dbus/generic-types.cpp PRE-CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/dbus/hand-edits.diff PRE-CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/dbus/introspection/all.xml PRE-CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/dbus/introspection/mm- manager-client.xml PRE-CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/dbus/introspection/mm- modem-gsm-card.xml PRE-CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/dbus/introspection/mm- modem-gsm-network.xml PRE-CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/dbus/introspection/mm- modem-simple.xml PRE-CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/dbus/introspection/mm- modem.xml PRE-CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/dbus/mm-manager- clientinterface.h PRE-CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/dbus/mm-manager- clientinterface.cpp PRE-CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/dbus/mm-modem-gsm- cardinterface.h PRE-CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/dbus/mm-modem-gsm- cardinterface.cpp PRE-CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/dbus/mm-modem-gsm- networkinterface.h PRE-CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/dbus/mm-modem-gsm- networkinterface.cpp PRE-CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/dbus/mm-modem-simple.h PRE-CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/dbus/mm-modem-simple.cpp PRE-CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/dbus/mm-modem.h PRE- CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/dbus/mm-modem.cpp PRE- CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/manager.h PRE-CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/manager.cpp PRE-CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/manager_p.h PRE-CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/modemgsmcardinterface.h PRE-CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/modemgsmcardinterface.cpp PRE-CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/modemgsmcardinterface_p.h PRE-CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/modemgsmnetworkinterface.h PRE-CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/modemgsmnetworkinterface.cpp PRE-CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/modemgsmnetworkinterface_p.h PRE-CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/modeminterface.h PRE- CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/modeminterface.cpp PRE- CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/modeminterface_p.h PRE- CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/module.cpp PRE-CREATION /trunk/KDE/kdebase/workspace/solid/modemmanager-0.4/solid_modemmanager04.desktop PRE-CREATION /trunk/KDE/kdebase/workspace/solid/networkmanager-0.7/accesspoint.h 1003789 /trunk/KDE/kdebase/workspace/solid/networkmanager-0.7/manager.h 1086340 /trunk/KDE/kdebase/workspace/solid/networkmanager-0.7/networkgsminterface.h 872780 /trunk/KDE/kdebase/workspace/solid/networkmanager-0.7/networkgsminterface.cpp 872780 /trunk/KDE/kdebase/workspace/solid/networkmanager-0.7/networkinterface.h 997238 /trunk/KDE/kdebase/workspace/solid/networkmanager-0.7/networkinterface.cpp 1073632 /trunk/KDE/kdebase/workspace/solid/networkmanager-0.7/networkinterface_p.h 818485 /trunk/KDE/kdebase/workspace/solid/wicd/networkinterface.h 997238 Diff: http://reviewboard.kde.org/r/3769/diff Testing ------- Thanks, Lamarque _______________________________________________ kde-networkmanager mailing list [email protected] https://mail.kde.org/mailman/listinfo/kde-networkmanager
