Commit Graph

661 Commits

Author SHA1 Message Date
Dan Williams
547a9eb9c0 introspection: add missing 27.007 access technologies 2010-03-07 07:35:11 -08:00
Dan Williams
7701478703 gsm: simplify registration state polling code 2010-03-07 07:13:43 -08:00
Dan Williams
201295b65e gsm: use secondary serial port while connected
For registration updates and signal strength.
2010-03-06 10:43:54 -08:00
Dan Williams
54c1d069eb gsm: rework registration handling
First, generically handle registration polling if the device does
not support unsolicited registration.  Second, using the new
creg/cgreg parsing functions from mm-modem-helpers.c, handle
CREG=2 unsolicited registration replies to capture the GSM LAC/CI
for the location information API.

Because of these changes we can simplify the registration polling
during connection as well by using the common registration parsing
code and the cached registration state.
2010-03-06 10:28:11 -08:00
Dan Williams
31fb97919c gsm: fix simple state machine network registration after 407abc65c6
Got the logic wrong in that commit.  Fix it.  Network registration
should always be run since it handles polling for registration
state if needed before continuing.
2010-03-06 00:26:54 -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
Dan Williams
ad7bbb2f16 gsm: indicate CREG vs. CGREG 2010-03-05 14:08:40 -08:00
Dan Williams
e4350152c8 gsm: common CREG/CGREG parsing function and testcases 2010-03-05 11:47:23 -08:00
Dan Williams
e6e3784c02 hso: remove PIN checking code
This is handled by the generic class before the modem is even exported
over D-Bus.
2010-03-04 20:45:30 -08:00
Dan Williams
6c760464d4 zte: remove PIN checking code
This is handled by the generic class before the modem is even exported
over D-Bus.
2010-03-04 20:43:22 -08:00
Dan Williams
c02835722f novatel: remove PIN checking code
This is handled by the generic class before the modem is even exported
over D-Bus.
2010-03-04 20:37:36 -08:00
Dan Williams
a40d3dbead option: fix power-on delay
Since the modem states patch the delay for power-on wasn't honored
for Option devices.  Fix that using the new power-on-done handler
and also fix the bug where if the modem was removed, the plugin
would crash because it wasn't handling the timeout removal.

Also remove the explicit PIN check since that's now handled by the
generic GSM code before the modem is even exported over DBus.
2010-03-04 20:27:44 -08:00
Dan Williams
d94ca3d310 sierra: fix power-on delay
Since the modem states patch the delay for power-on wasn't honored
for Sierra devices.  Fix that using the new power-on-done handler
and also fix the bug where if the modem was removed, the plugin
would crash because it wasn't handling the timeout removal.

Also remove the explicit PIN check since that's now handled by the
generic GSM code before the modem is even exported over DBus.
2010-03-04 20:09:54 -08:00
Dan Williams
c915de5512 gsm: add ability for subclasses to handle power-on response
This lets subclasses handle errors when they know the device supports
the power-up command.  Also will let us simplify a number of plugins.
2010-03-04 20:06:17 -08:00
Dan Williams
3f7b173932 sierra: fix comment about CFUN=1 delay 2010-03-04 19:40:33 -08:00
Dan Williams
407abc65c6 gsm: handle PINs better during modem enable and simple state machine
First, short-circuit the Enable process if the device requires a PIN
or PUK since for many devices the enable is going to fail anyway
until the PIN is sent.

Second, send the PIN first during the simple state machine for the
same reason; we need the device unlocked before we want to try
to enable it.  This also reworks the simple state machine to be a
bit clearer and make each state step correspond to the action it's
actually doing instead of being off-by-one visually (but not logically).
2010-03-04 19:30:54 -08:00
Dan Williams
021ca1244e gsm: postpone PIN/PUK success reply until we know updated unlock status
Don't return until we know what the updated lock status is.  Fixes an
issue where callers that send the PIN before the modem is enabled
(remember, some modems can't be enabled until the PIN is entered, so
sometimes we have to send the PIN before it's enabled) would get
the reply too early and get failures from other operations.
2010-03-04 19:01:13 -08:00
Dan Williams
3457adefef gsm: clarify generic GSM subclass API a bit 2010-03-04 17:28:36 -08:00
Torgny Johansson
6dd751bf3f mbm: handle E2NAP disconnect notification during connection attempt
If E2NAP:0 is received during a connection attempt the connection
attempt has failed or will fail.  So stop polling for connection
success for another 50 seconds and abort the connection attempt
immediately.  Also moves the E2NAP request call a bit earlier to
ensure that no E2NAP unsolicited messages are lost.
2010-03-04 17:19:28 -08:00
Dan Williams
3b9b7920f5 core: register Modem UnlockRequired property for changed signals too 2010-03-04 10:29:42 -08:00
Dan Williams
a9ef8cb175 policy: split Device into Info and Control
It's useful to let distros and admins set policy differently for device
information (for support, inventory, etc) than for actually controlling
the device like PIN/PUK unlocks.
2010-03-01 09:15:01 -08:00
Dan Williams
f6c514897e Merge remote branch 'origin/master' into qcdm 2010-03-01 09:07:05 -08:00
Dan Williams
9d7cb0ddcf gsm: fix direct registration info requests 2010-02-28 22:11:47 -08:00
Dan Williams
27ede83bd3 trivial: rearrange some code 2010-02-28 21:15:22 -08:00
Dan Williams
28d065c1f1 core: implement optional PolicyKit-based authentication 2010-02-27 12:51:13 -08:00
Dan Williams
aed5f3765d core: add missing MMAuthRequest class 2010-02-27 12:51:03 -08:00
Dan Williams
588bb65ea6 trivial: add policy file to gitignore 2010-02-27 12:49:07 -08:00
Dan Williams
3b6a58145f core: simply authentication request objects 2010-02-27 10:29:34 -08:00
Dan Williams
20796148ce build: fix build after bffb332481 2010-02-27 07:49:57 -08:00
Dan Williams
27ffa6b272 core: authenticate SMS operations 2010-02-27 07:19:37 -08:00
Dan Williams
bffb332481 core: install correct dbus permissions for with-polkit/without-polkit 2010-02-27 06:25:45 -08:00
Dan Williams
438a047935 core: add authorization providers and optional PolicyKit support
When the support is complete, use --with-polkit to enable
PolicyKit support.  It's not there yet, but this commit adds an
authorization provider framework which will be extended to allow
hooking into PolicyKit.
2010-02-26 18:01:55 -08:00
Dan Williams
7a0373afee qcdm: add serial port subclass skeleton 2010-02-23 11:41:40 -08:00
Dan Williams
bc3ac7bae5 qcdm: testcase output cleanup 2010-02-22 21:43:42 -08:00
Dan Williams
d694cebdfe qcdm: add more HDR subsystem protocol enums
Found in TIA-856-A section 9.  Assuming that the modem firmware just
passes the protocol states right through.
2010-02-22 19:00:31 -08:00
Dan Williams
06415201cb qcdm: add HDR State Info command 2010-02-22 18:34:12 -08:00
Dan Williams
928f8a9ff2 qcdm: add Call Manager subsystem STATE_INFO command 2010-02-22 17:35:28 -08:00
Dan Williams
bf01571622 qcdm: add enums for STATUS rx_state values 2010-02-22 16:45:50 -08:00
Dan Williams
c937d1399b qcdm: add SW_VERSION command 2010-02-22 16:15:19 -08:00
Dan Williams
b50638dcbe qcdm: fix up DIAG_CMD_STATUS structure
There's some junk in between the fields, apparently.
2010-02-22 15:53:19 -08:00
Dan Williams
bdfddd57e7 qcdm: fix STATUS command SID & NID reporting 2010-02-22 15:53:06 -08:00
Dan Williams
98ec1bdfea qcdm: add testcases for QCDMResult objects 2010-02-22 15:23:34 -08:00
Dan Williams
c0e227a16b qcdm: add status command and rework testcases a bit
Status command not completely working yet.
2010-02-22 13:27:25 -08:00
Dan Williams
cb59d2e64d qcdm: fix guint8 result member retrieval 2010-02-22 13:08:19 -08:00
Dan Williams
3d617b7bf6 qcdm: add command to get MDN (ie, phone number) 2010-02-22 12:17:27 -08:00
Dan Williams
7d151e6ae0 qcdm: add DIAG_CMD_ESN 2010-02-22 11:33:44 -08:00
Dan Williams
4c297935ef qcdm: fix unref-ing result objects 2010-02-22 11:21:48 -08:00
Dan Williams
10e5e6561f qcdm: handle more command error responses 2010-02-22 11:06:50 -08:00