Commit Graph

631 Commits

Author SHA1 Message Date
Andrzej Zaborowski 4779ed055a Fix interpretation of new GPRS registration status signal. 2009-10-26 13:29:41 -05:00
Denis Kenzior 50ae504bc6 Fix: Fix segfault from improperly initialized data 2009-10-24 12:39:31 -05:00
Andrzej Zaborowski 87f4e3890d Just return success when value already set in SetProperty. 2009-10-24 10:27:06 -05:00
Denis Kenzior 722204ae6c Fix: Connect up gprs and gprs_context 2009-10-23 17:05:56 -05:00
Denis Kenzior 7faa34d235 Fix: Typo in property name 2009-10-23 17:05:56 -05:00
Denis Kenzior 14c116be36 Remove unused code and make compiler happy 2009-10-23 17:05:56 -05:00
Denis Kenzior a3b736afe5 Add implementation of GPRS context atom 2009-10-23 17:05:56 -05:00
Denis Kenzior fa800e5852 Fix: Rename Flag 2009-10-23 17:05:56 -05:00
Denis Kenzior f9a8ea1b08 Deactivate the context for removal if active 2009-10-23 17:05:56 -05:00
Denis Kenzior 08eda615c5 Refactor/Implement basic activate logic
Not yet tested
2009-10-23 17:05:55 -05:00
Denis Kenzior a12d252609 Add stub of gprs context deactivated 2009-10-23 17:05:55 -05:00
Denis Kenzior 7587fe0de3 Fix: Style 2009-10-23 17:05:55 -05:00
Denis Kenzior 46dde73ab2 Remove unused functions 2009-10-23 17:05:55 -05:00
Denis Kenzior 369d9f8f33 Refactor: Deactivate all contexts function 2009-10-23 17:05:55 -05:00
Denis Kenzior 752468b16e Remove unused function 2009-10-23 17:05:55 -05:00
Denis Kenzior 8e0797ca24 Refactor: GPRS Remove Context function 2009-10-23 17:05:55 -05:00
Denis Kenzior b2c2ed5fdd Refactor: GPRS CreateContext function 2009-10-23 17:05:55 -05:00
Denis Kenzior f80df022d4 Remove unused function 2009-10-23 17:05:54 -05:00
Denis Kenzior 87b5d16c14 Refactor: context object path list 2009-10-23 17:05:54 -05:00
Denis Kenzior 58d44f6be9 Refactor: Context set_property function 2009-10-23 17:05:54 -05:00
Denis Kenzior 7409a6761f Refactor: Context get_properties 2009-10-23 17:05:54 -05:00
Denis Kenzior cbaf0aacfc Refactor: context finding by path 2009-10-23 17:05:54 -05:00
Denis Kenzior 6f7ef99759 Remove unused function 2009-10-23 17:05:54 -05:00
Denis Kenzior 65f77b2b3a Add CID range function 2009-10-23 17:05:54 -05:00
Denis Kenzior b745ebcf6f Refactor: Primary Context dbus reg/unreg 2009-10-23 17:05:54 -05:00
Denis Kenzior 7b3ab433eb Refactor: Use ofono_bool_t instead of int 2009-10-23 17:05:54 -05:00
Denis Kenzior 05d7cf9ee1 Refactor: Rename GPRS type enums 2009-10-23 17:05:54 -05:00
Denis Kenzior bb7945d6aa Refactor: Split up GPRS into two atoms
Split up GPRS into two atoms: GPRS and GPRS Context.  GPRS will handle
the areas of GPRS network registration, basic GPRS capability detection
and attach / detach.

GPRS Context will handle setting up / activating / deactivating the
indicidual contexts.

This will allow us to use the generic GPRS atom for most devices while
customizing the GPRS context accordingly.
2009-10-23 17:05:54 -05:00
Denis Kenzior 729d580692 Add InUse error type 2009-10-23 17:05:53 -05:00
Denis Kenzior 0b68ad7e32 Second round of renaming 2009-10-23 17:05:53 -05:00
Denis Kenzior 88c0f77a58 Refactor: First round of renaming 2009-10-23 17:05:53 -05:00
Denis Kenzior b2fd75014a Refactor: rename data-connection to gprs
Keep the name specific to GSM, other implementations will probably
require their own interfaces
2009-10-23 17:05:53 -05:00
Andrzej Zaborowski f43efa8a5f Add GPRS support
This commit implements the GPRS context setup and teardown according to
doc/dataconnectionmanager-api.txt

One issue with the AT implementation of the api is that "Powered" (a
read-write property) can be set independently of "Attached" (read-only
property) and remain set when "Attached" is clear.  The semantics would
be that the network doesn't have resources to let the modem attach,
but the modem waits for the resources to become available and then
attaches.  On AT the modem is in this state only when executing +CGATT,
so currently the code will rerun +CGATT as soon as the previous one
returns with error, probably starving other commands.  A possible
workaround would be for "Powered" to flip back to False after the modem
fails to attach once, or give up on having separate properties.
Alternatively we could re-try to attach periodically but on one modem
I've tried +CGATT fails after about 1 minute (that's the Calypso) and
on another only about 0.5s (Nokia phones with AT emulation).

When "Powered"  is set and "RoamingAllowed" is clear and we manage to
attach and find that we're roaming, ofono resets "Powered".

We may want to catch the user trying to dial *99***1# which is the
backwards compatibility quirk for old modems (same way ofono parses
USSD strings).
2009-10-23 17:05:53 -05:00
Olivier Le Thanh Duong 6d9bd02480 Migrate from RFC2822 to ISO8601 2009-10-21 19:04:47 -05:00
Andrzej Zaborowski 15c07346df Parse +CUSD responses. 2009-10-16 17:46:28 -05:00
Denis Kenzior eb2c60469c Fix: Don't return NULL if message is empty
Empty SMS messages are in sms_decode_text are returned as NULL, e.g.
error.  This shouldn't be the case, empty messages should be reported
and signaled.
2009-10-16 13:19:11 -05:00
Andrzej Zaborowski 30b86c1dda Fix: Skip over empty messages 2009-10-16 11:50:42 -05:00
Andrzej Zaborowski 2d992d7912 Always return a string from telephony_error_to_str.
So that it can be used as a printf argument directly.
2009-10-16 11:14:02 -05:00
Andrzej Zaborowski 5773e30373 Refactor: Move network registration status utils
Move the status to string functions to common.c so that they can be
reused in data connection related network registration code.
2009-10-16 11:12:43 -05:00
Denis Kenzior 9f9327e1e5 Fix: Quiet a warning on some compilers 2009-10-15 16:15:18 -05:00
Denis Kenzior 1a6f392d8f Rename function to express its purpose better 2009-10-08 12:57:26 -05:00
Pekka Pessi 0063db3a74 Allow sending DTMF tones in alerting state
2nd stage dialing may be done before call gets connected.
2009-10-08 12:55:41 -05:00
Pekka Pessi 72d68e5001 Use swap_without_accept method, if present 2009-10-08 12:55:17 -05:00
Denis Kenzior 60118757b2 Fix: Don't crash when cached ef structure differs 2009-10-05 16:20:55 -05:00
Marcel Holtmann 647ebdfd13 Fix pointer size problem with GUINT_TO_POINTER and unsigned short 2009-10-04 13:02:56 +02:00
Denis Kenzior 9ab5eba1da Fix: Handle empty SMSes
If an SMS is empty (e.g. nothing to unpack) then we should simply
continue on.
2009-10-02 19:26:11 -05:00
Denis Kenzior 6ef9a4b2dd Fix: Make const correct 2009-10-02 19:25:44 -05:00
Denis Kenzior f7c97ca10a Fix: Add additional error checking 2009-10-02 18:25:56 -05:00
Denis Kenzior c8150fc120 Use small caps for 2G/3G functions 2009-10-02 18:25:56 -05:00
Denis Kenzior 8bf64ef07d Add utility to parse 3G get response data
Based on ETSI 102.221
2009-10-02 18:25:56 -05:00
Denis Kenzior c9a2eedc08 Add utility to parse 2G GET_RESPONSE data
This format is described in 51.011 and the older 11.11.  It is not
supported by newer 3G UICC based devices & sim card combinations
2009-10-02 18:25:56 -05:00
Denis Kenzior c8e515fef8 Add utility to lookup files in EF db 2009-10-02 18:25:56 -05:00
Denis Kenzior be55ba4ab3 Refactor: Move elementary file type checking
Every single EF read callback checks the file type reported out of the
SIM is what it expects.  Instead this should be done in one place and
the errors reported accordingly
2009-10-02 18:25:56 -05:00
Denis Kenzior 6d9ec89259 Add basic elementary file database 2009-10-02 18:25:55 -05:00
Denis Kenzior 128d129ef5 Fix: different signedness comparison 2009-09-29 14:56:23 -05:00
Denis Kenzior 61cecf7256 Fix: Don't try to set a value if already set 2009-09-29 14:56:22 -05:00
Denis Kenzior 853bd2d6da Add Muted property to CallVolume atom 2009-09-29 14:56:22 -05:00
Denis Kenzior 2fca5c7f08 Refactor: Call Volume set_property handling 2009-09-29 14:56:22 -05:00
Denis Kenzior b8bc7a4c61 Get rid of unused define 2009-09-29 14:56:22 -05:00
Denis Kenzior 16744dc718 Get rid of unused variables 2009-09-29 14:56:22 -05:00
Denis Kenzior f9d0cd09d4 Refactor: Assume driver will set call volume
Driver should use the ofono_call_volume_set_microphone_volume and
ofono_call_volume_set_speaker_volume functions.
2009-09-29 14:56:22 -05:00
Denis Kenzior 158f9ac1d5 Don't use ofono_ prefix for static functions 2009-09-29 14:56:22 -05:00
Denis Kenzior 6a271dd258 Refactor: Break up call volume notify 2009-09-29 14:56:22 -05:00
Denis Kenzior d76f674794 Cleanup: Do not expose DBus details to drivers 2009-09-29 14:56:21 -05:00
Zhenhua Zhang f5e24369ca Add call volume interface to adjust speaker and mic volume 2009-09-29 14:56:21 -05:00
Denis Kenzior 274cd012c4 Fix: Report registered modems properly 2009-09-28 11:18:50 -05:00
Denis Kenzior bb746b3e9d Fix efli being removed prematurely 2009-09-28 11:18:50 -05:00
Marcel Holtmann 0e9f9d8bc8 Fix segmentation fault from SIM reading on Calypso modem 2009-09-25 14:07:33 -07:00
Denis Kenzior bbe49a1b6e Fix whitespace 2009-09-24 10:23:37 -05:00
Denis Kenzior 5b2852d8b4 Add initial support for LockedPins property 2009-09-24 10:23:37 -05:00
Denis Kenzior dc644108bf Ignore EFli if the first entry is empty 2009-09-23 17:28:15 -05:00
Andrzej Zaborowski c98e99aef2 Remove unused struct field. 2009-09-23 14:27:49 -05:00
Andrzej Zaborowski cb19aa987f Rename eflp_format to efli_format, semantically opposite. 2009-09-23 14:27:26 -05:00
Denis Kenzior cfcf7e6516 Simplify: Use dbus_message_iter_get_args 2009-09-22 11:24:21 -05:00
Denis Kenzior b8dcd905fb Remove unused structure 2009-09-22 11:24:21 -05:00
Marcel Holtmann 5f4340f186 Fix unused variable issue from last commits 2009-09-23 10:47:29 -07:00
Denis Kenzior 863210f7c0 Fix: Comparison should be against negative errno 2009-09-22 09:36:55 -05:00
Denis Kenzior 17cedf0eb7 Don't try to Lock or Unlock SIM PIN2 2009-09-22 00:07:07 -05:00
Denis Kenzior 2c4c27654c Make sure we try to lock/unlock/change only PINs 2009-09-22 00:07:07 -05:00
Denis Kenzior 5fd083f6f4 Refactor: Do not use int instead of enum
27.007 does not define an enumeration for SIM PIN/PUK values.  This
should be handled by ofono enum instead
2009-09-22 00:07:07 -05:00
Denis Kenzior f599036ed0 Add LockPin and UnlockPin functions 2009-09-22 00:07:06 -05:00
Denis Kenzior 63416e2851 Rearrange sim password enum 2009-09-22 00:07:06 -05:00
Denis Kenzior d67ded70ea Fix: Make sure pin isn't empty 2009-09-22 00:07:06 -05:00
Denis Kenzior 1faf467d87 Get rid of 1 line function 2009-09-22 00:07:06 -05:00
Denis Kenzior 9f27be58bc Move some stuff around 2009-09-22 00:07:06 -05:00
Andrzej Zaborowski ee02b14836 Do PIN authentication
This adds checking whether PIN is required during SIM initialisation and
delaying the sim ready notifications until after correct PIN is given.
2009-09-22 00:07:06 -05:00
Denis Kenzior b1c8b291f5 Assume sms is registered only when sim ready 2009-09-22 00:07:06 -05:00
Denis Kenzior 6914b11269 Assume cbs is registered after sim ready 2009-09-22 00:07:06 -05:00
Denis Kenzior 84515b9d39 Assume netreg is registered when sim ready 2009-09-22 00:07:06 -05:00
Denis Kenzior 91555b9165 Refactor language preference parsing
- Make sure to handle capital / lower case ISO639 strings
- Properly handle the case where files are empty / unused
- Don't emit the signal unless the preferences are useable
- Simplify the logic and be a bit more readable
2009-09-17 14:10:12 -05:00
Denis Kenzior ef5eb6139a Simplify function logic 2009-09-17 12:18:48 -05:00
Denis Kenzior ee33bc6ab7 Use g_ascii_isdigit 2009-09-17 12:17:42 -05:00
Denis Kenzior 8dd574d842 Fix potential memory leak 2009-09-17 12:04:56 -05:00
Denis Kenzior b3ec3f5fef Rename function to be more clear 2009-09-17 12:04:45 -05:00
Denis Kenzior e2a4c4bee8 Use existing function for converting to iso639 2009-09-17 11:53:37 -05:00
Denis Kenzior 26f15e30a8 Assume CBS is registered when SIM ready 2009-09-17 11:53:19 -05:00
Andrzej Zaborowski 623c23c12f Present list of preferred languages on SimManager interfce.
We try to detect the old (2G / 2G+, 51.011) EFlp format and deal
with the file contents accordingly.
2009-09-17 11:42:49 -05:00
Denis Kenzior 0698fc2788 Split populate modem driver method
Introduce two new methods
	- pre_sim - SIM is not inserted or locked.  This should populate
	  the modem with atoms that can be used without the SIM.
	  Generally this is the devinfo atom, the sim atom and the voice
	  call atom (emergency calls only)
	- post_sim - SIM is ready.  This method should populate the
	  modem with the remaining atoms
2009-09-17 10:14:02 -05:00
Denis Kenzior 971ef1c305 Add reading of various CBS related EFs
- EFcbmi - Cell Broadcast Identifiers
- EFcbmir - Cell Broadcast Identifier Ranges
- EFcbmid - Cell Broadcast Identifiers for Data Download
2009-09-16 17:09:58 -05:00
Denis Kenzior b83c7acfc9 Fix: do not leak memory, cleanup the topic list 2009-09-16 04:53:41 -05:00