Warning, /frameworks/modemmanager-qt/README is written in an unsupported language. File is not indexed.
0001 Modem Manager (MM) specification: https://developer.gnome.org/ModemManager/unstable/ref-dbus.html 0002 0003 // TODO - UPDATE 0004 Requirements 0005 ============ 0006 Backend tested using git versions of NetworkManager and ModemManager as of May 16, 2010. To verify which interfaces ModemManager and your modem supports do: 0007 0008 dbus-send --system --print-reply --dest=org.freedesktop.ModemManager1 /org/freedesktop/ModemManager1 org.freedesktop.DBus.Introspectable.Introspect 0009 0010 dbus-send --system --print-reply --dest=org.freedesktop.ModemManager1 /org/freedesktop/ModemManager1/Modems/<modem number> org.freedesktop.DBus.Introspectable.Introspect 0011 0012 where: 0013 <modem number> is returned by dbus-send --system --print-reply --dest=org.freedesktop.ModemManager1 /org/freedesktop/ModemManager1 org.freedesktop.ModemManager1.EnumerateDevices 0014 0015 I had to add the uni() method to NetworkManager backend because most MM methods requires a path that looks like /org/freedesktop/ModemManager1/Modems/<modem number>. uni() return such path, so it is the easier way to find a MM object from a NM object. 0016 0017 Implementation 0018 ============== 0019 The backend organizes MM interfaces as follow: 0020 0021 → class ModemManager 0022 org.freedesktop.ModemManager1 0023 0024 → class ModemDevice 0025 - doesn't have an interface on dbus, represents /org/freedesktop/ModemManager1/Modems/<modem number> 0026 - contains all the interfaces below 0027 0028 → class Modem 0029 org.freedesktop.ModemManager1.Modem 0030 org.freedesktop.ModemManager1.Modem.Simple 0031 0032 → class Modem3gpp inherits from Interface 0033 org.freedesktop.ModemManager1.Modem.Modem3gpp 0034 0035 → class Modem3gppUssd inherits from Interface 0036 org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd 0037 0038 → class ModemCdma inherits from Interface 0039 org.freedesktop.ModemManager1.Modem.ModemCdma 0040 0041 → class ModemLocation inherits from Interface 0042 org.freedesktop.ModemManager1.Modem.Location 0043 0044 → class ModemMessaging inherits from Interface 0045 org.freedesktop.ModemManager1.Modem.Messaging 0046 0047 → class ModemTime inherits from Interface 0048 org.freedesktop.ModemManager1.Modem.Time 0049 0050 // TODO - missing 0051 → class ModemFirmware inherits from Interface 0052 org.freedesktop.ModemManager1.Modem.Firmware 0053 0054 → class ModemContacts inherits from Interface 0055 org.freedesktop.ModemManager1.Modem.Contacts 0056 0057 → class Bearer 0058 org.freedesktop.ModemManager1.Bearer 0059 0060 → class Sim 0061 org.freedesktop.ModemManager1.Sim 0062 0063 → class Sms 0064 org.freedesktop.ModemManager1.Sms 0065 0066 // TODO - needs to update to mach the new ModemManager 0067 0068 Current Implementation Status 0069 ============================ 0070 org.freedesktop.ModemManager1 0071 - fully implemented 0072 - still needs testing: signals DeviceAdded and DeviceRemoved 0073 0074 org.freedesktop.DBus.Properties 0075 - fully implemented and tested 0076 0077 org.freedesktop.ModemManager1.Modem 0078 - fully implemented, needs more testing 0079 - modem MD300 does not supports: method GetIP4Config 0080 0081 org.freedesktop.ModemManager1.Modem.Simple 0082 - fully implemented, needs more testing 0083 0084 org.freedesktop.ModemManager1.Modem.Location 0085 - fully implemented, not tested yet 0086 - modem MD300 does not support this interface (it is not listed when calling org.freedesktop.DBus.Introspectable.Introspect) 0087 0088 org.freedesktop.ModemManager1.Modem.Cdma 0089 - fully implemented, not tested yet 0090 - modem MD300 does not support this interface 0091 0092 org.freedesktop.ModemManager1.Modem.3gpp 0093 - fully implemented and tested 0094 0095 org.freedesktop.ModemManager1.Modem.Gsm.Card 0096 - fully implemented, needs more testing 0097 0098 org.freedesktop.ModemManager1.Modem.Gsm.Contacts 0099 - fully implemented, not tested yet 0100 - modem MD300 does not support this interface 0101 0102 org.freedesktop.ModemManager1.Modem.Gsm.Network 0103 - fully implemented 0104 - to be tested: methods Register and SetApn 0105 - still not working (returns error): method scan 0106 - modem MD300 does not support: method GetBand and probably method SetBand too. SignalQuality method only works in 2G mode for MD300 modem, maybe for other modems it works in 3G mode. 0107 0108 org.freedesktop.ModemManager1.Modem.Gsm.SMS 0109 - fully implemented, not tested yet 0110 - modem MD300 does not support method List and probably all other methods in this interface. 0111 org.freedesktop.ModemManager1.Modem.Gsm.Hso - fully implemented, not tested yet 0112 - modem MD300 does not support this interface 0113 0114 org.freedesktop.ModemManager.Modem.Gsm.Ussd 0115 - fully implemented, not tested yet 0116 - modem MD300 does not support this interface 0117 0118 Pending Problems 0119 ================ 0120 1. Needs more testing with other modems/cell phones. 0121 0122 2. When I hook up a second 3G modem (my cell phone actually) in my notebook 0123 sometimes ModemManager disconnects the first modem from Internet. This is not a 0124 KDE problem, just to warn everybody. 0125 0126 3. I still need to implement some caching to prevent stress in the DBus bus. 0127 0128 4. Missing comments about methods, enum and signal in some classes. Now that everything is implemented I will add the missing comments. 0129 0130 Command line 0131 ============ 0132 0133 The dbus methods can be tested in command line with: 0134 0135 dbus-send --system --print-reply --dest=org.freedesktop.ModemManager1 /org/freedesktop/ModemManager1 org.freedesktop.ModemManager1.EnumerateDevices 0136 0137 dbus-send --system --print-reply --dest=org.freedesktop.ModemManager1 /org/freedesktop/ModemManager1/Modems/<modem number> org.freedesktop.ModemManager1.Modem.Gsm.Network.GetSignalQuality 0138 0139 dbus-send --system --print-reply --dest=org.freedesktop.ModemManager1 /org/freedesktop/ModemManager1/Modems/<modem number> org.freedesktop.ModemManager1.Modem.Gsm.Network.GetRegistrationInfo 0140 0141 dbus-send --system --print-reply --dest=org.freedesktop.ModemManager1 /org/freedesktop/ModemManager1/Modems/<modem number> org.freedesktop.DBus.Properties.GetAll string:<interface name> 0142 0143 <modem number> is returned by the first command (EnumerateDevices). 0144 <interface name> is either of 0145 0146 org.freedesktop.ModemManager1 (do not use /Modems/<modem number> with this one) 0147 org.freedesktop.DBus.Properties (do not use /Modems/<modem number> with this one) 0148 org.freedesktop.ModemManager1.Modem 0149 org.freedesktop.ModemManager1.Modem.Simple 0150 org.freedesktop.ModemManager1.Modem.Location 0151 org.freedesktop.ModemManager1.Modem.Cdma 0152 org.freedesktop.ModemManager1.Modem.Gsm 0153 org.freedesktop.ModemManager1.Modem.Gsm.Card 0154 org.freedesktop.ModemManager1.Modem.Gsm.Contacts 0155 org.freedesktop.ModemManager1.Modem.Gsm.Network 0156 org.freedesktop.ModemManager1.Modem.Gsm.SMS 0157 org.freedesktop.ModemManager1.Modem.Gsm.Hso 0158 org.freedesktop.ModemManager1.Modem.Gsm.Ussd 0159 0160 Devices Known to Work 0161 ===================== 0162 0163 . Sony Ericsson MD300 modem 0164 - connects to the Internet. 0165 - Signal Quality indication only in Edge mode. When in 3G mode the modem only reports the number of bars (zero to five), but Modem Manager does not report that either. We can change Modem Manager to report an approximation of the signal quality based on the number of bars. 0166 0167 . Samsung Omnia HD i8910 0168 - connects to the Internet. 0169 - Select "Any" in Plasma NM -> Manage Connections -> Mobile Broadband -> <connection name> -> Edit -> Type or it will not connect 0170 - Access technology not reported by Modem Manager. 0171 0172 . Nokia N95 0173 - connects to the Internet. 0174 - Access technology not reported by Modem Manager. 0175 0176 . Huwaei e226 0177 - connects to the Internet.