~ubuntu-branches/ubuntu/utopic/kde-workspace/utopic-proposed

« back to all changes in this revision

Viewing changes to solid/modemmanager-0.4/README

  • Committer: Bazaar Package Importer
  • Author(s): Michał Zając
  • Date: 2011-07-09 08:31:15 UTC
  • Revision ID: james.westby@ubuntu.com-20110709083115-ohyxn6z93mily9fc
Tags: upstream-4.6.90
Import upstream version 4.6.90

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Modem Manager (MM) specification: http://projects.gnome.org/NetworkManager/developers/mm-spec-04.html
 
2
 
 
3
OBS: ModemManager-0.3 does not implement all methods/signal from that specification. 
 
4
 
 
5
Requirements
 
6
============
 
7
Backend tested using git versions of NetworkManager and ModemManager as of May 16, 2010. To verify which interfaces ModemManager and your modem supports do:
 
8
 
 
9
dbus-send --system --print-reply --dest=org.freedesktop.ModemManager /org/freedesktop/ModemManager org.freedesktop.DBus.Introspectable.Introspect
 
10
 
 
11
dbus-send --system --print-reply --dest=org.freedesktop.ModemManager /org/freedesktop/ModemManager/Modems/<modem number> org.freedesktop.DBus.Introspectable.Introspect
 
12
 
 
13
where:
 
14
<modem number> is returned by dbus-send --system --print-reply --dest=org.freedesktop.ModemManager /org/freedesktop/ModemManager org.freedesktop.ModemManager.EnumerateDevices
 
15
 
 
16
I had to add the udi() method to NetworkManager backend because most MM methods requires a path that looks like /org/freedesktop/ModemManager/Modems/<modem number>. udi() return such path, so it is the easier way to find a MM object from a NM object.
 
17
 
 
18
Implementation
 
19
==============
 
20
The backend organizes MM interfaces as follow:
 
21
 
 
22
class ModemManager
 
23
org.freedesktop.ModemManager
 
24
 
 
25
class ModemInterface
 
26
org.freedesktop.ModemManager.Modem
 
27
org.freedesktop.ModemManager.Modem.Simple
 
28
org.freedesktop.ModemManager.Modem.Gsm (this interface includes only enums and flags)
 
29
 
 
30
class ModemLocationInterface inherits from ModemInterface
 
31
org.freedesktop.ModemManager.Modem.Location
 
32
 
 
33
class ModemCdmaInterface inherits from ModemInterface
 
34
org.freedesktop.ModemManager.Modem.Cdma
 
35
 
 
36
class ModemGsmCardInterface inherits from ModemInterface
 
37
org.freedesktop.ModemManager.Modem.Gsm.Card
 
38
 
 
39
class ModemGsmContactsInterface inherits from ModemInterface
 
40
org.freedesktop.ModemManager.Modem.Gsm.Contacts
 
41
 
 
42
class ModemGsmNetworkInterface inherits from ModemInterface
 
43
org.freedesktop.ModemManager.Modem.Gsm.Network
 
44
 
 
45
class ModemGsmSmsInterface inherits from ModemInterface
 
46
org.freedesktop.ModemManager.Modem.Gsm.SMS
 
47
 
 
48
class ModemGsmHsoInterface inherits from ModemInterface
 
49
org.freedesktop.ModemManager.Modem.Gsm.Hso
 
50
 
 
51
class ModemGsmUssdInterface inherits from ModemInterface
 
52
org.freedesktop.ModemManager.Modem.Gsm.Ussd
 
53
 
 
54
Current Implemenation Status
 
55
============================
 
56
org.freedesktop.ModemManager
 
57
        - fully implemented
 
58
        - still needs testing: signals DeviceAdded and DeviceRemoved
 
59
 
 
60
org.freedesktop.DBus.Properties
 
61
        - fully implemented and tested
 
62
 
 
63
org.freedesktop.ModemManager.Modem
 
64
        - fully implemented, needs more testing
 
65
        - modem MD300 does not supports: method GetIP4Config
 
66
 
 
67
org.freedesktop.ModemManager.Modem.Simple
 
68
        - fully implemented, needs more testing
 
69
 
 
70
org.freedesktop.ModemManager.Modem.Location
 
71
        - fully implemented, not tested yet
 
72
        - modem MD300 does not support this interface (it is not listed when calling org.freedesktop.DBus.Introspectable.Introspect)
 
73
 
 
74
org.freedesktop.ModemManager.Modem.Cdma
 
75
        - fully implemented, not tested yet
 
76
        - modem MD300 does not support this interface
 
77
 
 
78
org.freedesktop.ModemManager.Modem.Gsm
 
79
        - fully implemented and tested
 
80
 
 
81
org.freedesktop.ModemManager.Modem.Gsm.Card
 
82
        - fully implemented, needs more testing
 
83
 
 
84
org.freedesktop.ModemManager.Modem.Gsm.Contacts
 
85
        - fully implemented, not tested yet
 
86
        - modem MD300 does not support this interface
 
87
 
 
88
org.freedesktop.ModemManager.Modem.Gsm.Network
 
89
        - fully implemented
 
90
        - to be tested: methods Register and SetApn
 
91
        - still not working (returns error): method scan
 
92
        - 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.
 
93
 
 
94
org.freedesktop.ModemManager.Modem.Gsm.SMS
 
95
        - fully implemented, not tested yet
 
96
        - modem MD300 does not support method List and probably all other methods in this interface.                                                                                                                                   
 
97
org.freedesktop.ModemManager.Modem.Gsm.Hso                                                                                                                           - fully implemented, not tested yet
 
98
        - modem MD300 does not support this interface
 
99
 
 
100
org.freedesktop.ModemManager.Modem.Gsm.Ussd
 
101
        - fully implemented, not tested yet
 
102
        - modem MD300 does not support this interface
 
103
 
 
104
Pending Problems
 
105
================
 
106
1. Needs more testing with other modems/cell phones.
 
107
 
 
108
2. When I hook up a second 3G modem (my cell phone actually) in my notebook
 
109
sometimes ModemManager disconnects the first modem from Internet. This is not a
 
110
KDE problem, just to warn everybody.
 
111
 
 
112
3. I still need to implement some caching to prevent stress in the DBus bus.
 
113
 
 
114
4. Missing comments about methods, enum and signal in some classes. Now that everything is implemented I will add the missing comments.
 
115
 
 
116
Command line
 
117
============
 
118
 
 
119
The dbus methods can be tested in command line with:
 
120
 
 
121
dbus-send --system --print-reply --dest=org.freedesktop.ModemManager /org/freedesktop/ModemManager org.freedesktop.ModemManager.EnumerateDevices
 
122
 
 
123
dbus-send --system --print-reply --dest=org.freedesktop.ModemManager /org/freedesktop/ModemManager/Modems/<modem number> org.freedesktop.ModemManager.Modem.Gsm.Network.GetSignalQuality
 
124
 
 
125
dbus-send --system --print-reply --dest=org.freedesktop.ModemManager /org/freedesktop/ModemManager/Modems/<modem number> org.freedesktop.ModemManager.Modem.Gsm.Network.GetRegistrationInfo
 
126
 
 
127
dbus-send --system --print-reply --dest=org.freedesktop.ModemManager /org/freedesktop/ModemManager/Modems/<modem number> org.freedesktop.DBus.Properties.GetAll string:<interface name>
 
128
 
 
129
<modem number> is returned by the first command (EnumerateDevices).
 
130
<interface name> is either of
 
131
 
 
132
org.freedesktop.ModemManager (do not use /Modems/<modem number> with this one)
 
133
org.freedesktop.DBus.Properties (do not use /Modems/<modem number> with this one)
 
134
org.freedesktop.ModemManager.Modem
 
135
org.freedesktop.ModemManager.Modem.Simple
 
136
org.freedesktop.ModemManager.Modem.Location
 
137
org.freedesktop.ModemManager.Modem.Cdma
 
138
org.freedesktop.ModemManager.Modem.Gsm
 
139
org.freedesktop.ModemManager.Modem.Gsm.Card
 
140
org.freedesktop.ModemManager.Modem.Gsm.Contacts
 
141
org.freedesktop.ModemManager.Modem.Gsm.Network
 
142
org.freedesktop.ModemManager.Modem.Gsm.SMS
 
143
org.freedesktop.ModemManager.Modem.Gsm.Hso
 
144
org.freedesktop.ModemManager.Modem.Gsm.Ussd
 
145
 
 
146
Devices Known to Work
 
147
=====================
 
148
 
 
149
. Sony Ericsson MD300 modem
 
150
    - connects to the Internet.
 
151
    - 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.
 
152
 
 
153
. Samsung Omnia HD i8910
 
154
    - connects to the Internet.
 
155
    - Select "Any" in Plasma NM -> Manage Connections -> Mobile Broadband -> <connection name> -> Edit -> Type or it will not connect
 
156
    - Access technology not reported by Modem Manager.
 
157
 
 
158
. Nokia N95
 
159
    - connects to the Internet.
 
160
    - Access technology not reported by Modem Manager.
 
161
 
 
162
. Huwaei e226
 
163
    - connects to the Internet.