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.