Commit Graph

149 Commits

Author SHA1 Message Date
Dan Williams
cdf9279ee8 api+gsm: split out access technology
As with allowed modes, make things clearer and simpler by giving
access technology it's own values.
2010-03-08 18:02:14 -08:00
Dan Williams
c5a897d0ae api+gsm: clean up AllowedMode values
Instead of trying to stuff everything into the mode bitfield it
turns out it's just easier, clearer, and simpler to use different
values for each of the following:

1) the device's supported access technologies and allowed modes
2) the device's current access technology
3) the device's allowed mode preference

Since none of the AccessTechnology or AllowedMode stuff has hit a
release yet, let's make sure we're doing it the right way early on.
2010-03-08 17:27:56 -08:00
Dan Williams
e2c487472e api: s/AllowedModes/AllowedMode in Gsm.Network
Only one mode is going to be stored here so it shouldn't be plural.
2010-03-08 14:34:30 -08:00
Dan Williams
5e2983484e api: make HSPA a standalone network mode again
It's just easier this way.  It makes little sense to allow
selecting mode combinations for anything other than
(HSDPA | HSUPA).  Most radios don't allow fine-grained control
of the different technologies within each 2G or 3G class anyway
thus combinations like (GPRS | UMTS) are pointless since the
device wouldn't be able to use GPRS but not use EDGE.
2010-03-08 14:15:25 -08:00
Dan Williams
45fd96132f api: add new AllowedModes and AccessTechnology API
This adds split properties and functions for the allowed modes and the
current access technology used by the device when connected to the
mobile network.
2010-03-07 09:58:30 -08:00
Dan Williams
8fcc5b7fe2 api: more clearly document modes and bands 2010-03-07 09:53:28 -08:00
Dan Williams
e7dd2926a3 api: revert parts of 2d194a5798
MM hadn't implemented it yet, but Wader already implemented an earlier
version that didn't use a bitfield but an enum.  Unfortunately the
network mode stuff doesn't allow for distinguishing between the device's
mode preference and the current access technology.  So deprecate the
current network mode stuff in the API in preparation for improved API.
2010-03-07 09:53:03 -08:00
Dan Williams
ba977cd529 api: readability fixes 2010-03-07 09:52:48 -08:00
Dan Williams
547a9eb9c0 introspection: add missing 27.007 access technologies 2010-03-07 07:35:11 -08:00
Dan Williams
3232a3f7d6 api: better handling of Location API security issues
Since D-Bus signals cannot by nature be restricted to authenticated
clients (unless using private D-Bus connections) we can handle the
security a bit differently here.  Since the Enable() call can be
authenticated, we'll trust the client to say whether higher
security should be used by disallowing location update signals.  This
does mean the client will have to poll for location updates, but at
least then clients requesting location information can be
authenticated.
2010-03-05 18:17:51 -08:00
Dan Williams
2950f31068 api: clarify some Location API bits 2010-03-05 17:55:48 -08:00
Dan Williams
12a8a63fc1 api: first draft of Location information API
NOT FINAL; need to discuss with Pablo and others and actually implement
it before declaring it final.
2010-03-05 17:52:55 -08:00
Norbert Frese
3d0f2ecf12 core: add an UnlockRequired property that provides lock status (bgo #604551)
Clients can check the property to determine lock/unlock status and thus
unlock the modem before trying to connect if required.

Bits of the patch by dcbw (see the bug).
2010-01-31 11:06:55 -08:00
Dan Williams
fabc1eba23 doc: build and completeness fixes 2010-01-19 15:02:30 -08:00
Dan Williams
b94627572f core: implement a PropertiesChanged signal for the MMModem class
At the moment only the Enabled property is exported.
2009-12-22 16:58:23 -08:00
Dan Williams
710986bd4b core: add Enabled property to org.freedesktop.ModemManager.Modem interface 2009-12-21 11:37:36 -08:00
Dan Williams
791faca8fa introspection: add missing mm-modem-gsm.xml 2009-12-21 11:17:59 -08:00
Dan Williams
958b9048a3 cdma: split 1x and EVDO registration states
Like UMTS vs. GSM, EVDO and 1x are separate networks and technologies
and have separate registration state.  You can even be roaming on
EVDO while in your home 1x network.  Handle that.
2009-10-12 10:06:53 -07:00
Dan Williams
91171cdae2 cdma: implement generic registration state handling 2009-10-09 16:17:13 -07:00
Dan Williams
d867b1fe6a gsm: add cell access technology reporting to Scan() 2009-10-06 11:39:40 -07:00
Dan Williams
14e5c52f78 core: don't allow concurrent flashes on the same device
Previously, a few operations (like disable) could trigger a modem
flash in parallel with another flash.  That's wrong, don't allow
that.  At the same time, add in finer-grained error checking on
serial port speed operations, and fix a GSM generic bug that would
send the POWER_UP string on disable.
2009-09-08 17:34:04 -07:00
Dan Williams
2d194a5798 gsm: harmonize band/mode enums
Use the same enum for set/get of band and mode, as for exposing the
device's capabilities.
2009-08-05 13:03:59 -04:00
Dan Williams
356f8f097e gsm: add SupportedBands property 2009-07-23 14:25:48 -04:00
Dan Williams
71e2e930fd sms: add additional API for multi-part SMS 2009-07-23 13:52:57 -04:00
Dan Williams
af4ecc3e6d cdma: implement GetServingSystem 2009-06-19 13:55:00 -04:00
Dan Williams
9be1d66ef0 cdma: implement GetEsn() 2009-06-19 12:54:07 -04:00
Dan Williams
6d4616c1d3 modem: move GetInfo from GsmCard -> Modem interface
It's generic, everything implements some variant of +GMM, +GMR, and +GMI.
2009-06-19 12:43:37 -04:00
Dan Williams
924814c101 udev: move device probing and detection to udev
Get rid of dependency on HAL, using libgudev instead.  Fix up the plugin API
to no longer use either HAL or udev defines, but let plugins use whatever
mechanism they want for getting more information out of the device given the
subsystem and device node name.

Modems are now defined as "master" devices which "own" a one or more ports.
A port could be a serial tty device or a network device or whatever.  The
plugin figures out whether it supports a given port or not and then assigns
it to a new or existing modem.  Modems now have a 'valid' property that
should be set to TRUE when the modem has enough ports to operate correctly.
For devices (ex. 'hso') that use a network device for data transfer, the
modem would need to grab at least one TTY and the network device associated
with that physical device to be 'valid'.

Also move the generic modem support code to a plugin like other modem plugins,
and change the I-support-this-device mechanism to return a number indicating
the level of support.  For example, the generic plugin would return a quite
low number if the device indicates via probing that it can do GSM or CDMA, but
a more specific plugin can indicate better support for the device, and thus
the more specific plugin would win control.
2009-06-18 14:25:30 -04:00
Tambet Ingo
440cd967e2 Fix a typo.
Thanks to Pablo Martí Gamboa.
2009-06-09 14:34:12 +03:00
Dan Williams
58a48405cf gsm: clean up network modes
Add specific modes for HSUPA and HSPA; add modes for 2G and 3G only, and
update plugins to use the right modes.
2009-04-15 10:44:09 -04:00
Tambet Ingo
45f32e7e09 Implement sending SMS messages.
Add a test program to use the newly added method.
2009-03-23 15:05:15 +02:00
Tambet Ingo
fd5f4222d7 Extend org.freedesktop.ModemManager.Modem interface.
* Add IpMethod property with known values ppp (default), static, DHCP.
* Rename DataDevice property to Device.
* Add GetIP4Config method. It should be implemented only when IpMethod==static.
* Update org.freedesktop.ModemManager.Modem.Gsm.Sms interface based on
  Pablo Martí Gamboa's suggestions.
* Adjust MBM and HSO interfaces to take advantage of the generic Modem
  interface.
2009-02-06 13:34:02 +02:00
Tambet Ingo
19bd7d7e7f Fix DBus permissions. 2009-02-06 13:32:45 +02:00
Tambet Ingo
17b739c73d Implement simple interface. 2009-01-19 10:45:18 +02:00
Tambet Ingo
a1223a9eaf Convert multiple return values to structs.
Python DBus bindings are unable to implement methods that return multiple
values.
2008-12-17 13:35:22 +02:00
Alexander Sack
1673c6c998 Implement SendPuk feature
* introspection/mm-modem-gsm-card.xml: add SendPuk method
	Gsm.Card interface

* src/mm-generic-gsm.c (send_puk_done, send_puk):
	- implement generic SendPuk with +CPIN="<puk>,<pin>"

* src/mm-modem-gsm-card.h,
  src/mm-modem-gsm-card.c (mm_modem_gsm_card_send_pin,
  impl_gsm_modem_send_pin): implement SendPuk glue.
2008-12-05 12:41:46 +01:00
Tambet Ingo
ed5d81da8f Implement a plugin for Ericsson MBM modems (like F3507g) (Author Per Hallsmark). 2008-10-20 11:11:23 +03:00
Tambet Ingo
07f1b3cc3a Document DBus error codes and messages. 2008-09-16 14:00:10 +03:00
Tambet Ingo
f570e1517d Implement PIN changing and enabling/disabling. 2008-09-15 17:08:46 +03:00
Tambet Ingo
209a6390cb Fix up HSO modem plugin. 2008-09-01 11:27:35 +03:00
Tambet Ingo
2087ca49b6 Fix another upper case inconsistency in the public API (SetApn). 2008-08-29 18:09:23 +03:00
Tambet Ingo
c71ae54f88 Include the missing mm-gsm-modem-hso.xml to EXTRA_DIST. 2008-08-29 14:29:26 +03:00
Tambet Ingo
424f514b02 Implement the more granular GSM interfaces as agreed on NM mailing list.
Convert all exisiting code over to new DBus interfaces.
2008-08-29 11:43:36 +03:00
Tambet Ingo
64b4827c4c Implement HSO modem driver. 2008-08-26 14:40:20 +03:00
Tambet Ingo
d6be2af93f Implement registration information retrieving for GSM modems. 2008-08-21 17:18:38 +03:00
Tambet Ingo
149b41f220 Implement per modem type DBus interfaces.
A major code reorganization.
2008-08-21 09:11:17 +03:00
Tambet Ingo
751a9f8273 Fix a typo. 2008-08-13 10:05:45 +03:00
Tambet Ingo
be059f7a73 Document the public DBus API. 2008-07-31 17:14:50 +03:00
Tambet Ingo
cc31458b18 Initial commit. 2008-07-31 09:43:00 +03:00