Commit Graph

1406 Commits

Author SHA1 Message Date
Denis Kenzior fe36dec9a1 hfp: Fix up disconnect reason handling for +CHUP
The affected call types for +CHUP were set to only ACTIVE calls.
Instead the affected set should include INCOMING, DIALING, ALERTING and
ACTIVE calls.

Thanks to Ionut Dediu for the diagnosing and reporting this issue.
2013-08-25 01:21:23 -05:00
Denis Kenzior b131cfde52 atmodem: Fix whitespace violation 2013-07-22 15:56:28 -05:00
Anthony Viallard d3e8218b50 SIMCOM: add a quirk to fix crsm request 2013-07-22 15:49:59 -05:00
Anthony Viallard d1ac1ba3d4 SIMCOM: add a quirk for signal strength reporting
We must tell we want the signal strength reporting using
AT+AUTOCSQ command (ref. "SIM5215_SIM5216_ATC_V1.18.pdf - §10.7").
2013-07-22 15:48:59 -05:00
Anthony Viallard 8c6eea3385 SIMCOM: add a quirk for AT+CNMI command building
Use mode=1 otherwise it fails (ref. "SIM5215_SIM5216_ATC_V1.18.pdf - §6.9")
2013-07-22 15:48:59 -05:00
Jesper Larsen ff2051053c atmodem: Add gprs-context quirk for SIM900
The SIM900 module from SIMCOM does have a AT+CGDATA command.
However, it is not possible to make a ppp connection when CGDATA
has been used to bring up the gprs context.

This patch adds a quirk that uses the alternative ATD*99***<cid>#
command instead.
2013-07-18 14:10:38 -05:00
Jesper Larsen f6930db19c atmodem: Add vendor entry for SIM900 module 2013-07-18 14:10:38 -05:00
Frederic Danis 8fb70d6271 hfpmodem: Fix ECNR HF feature 2013-06-26 10:39:08 -05:00
Claudio Takahasi cf6dce3445 hfpmodem: Add EchoCancelingNoiseReduction
This patch adds echo canceling and noise reduction implementation to
hfpmodem. It adds the implementation to send the command "AT+NREC=0"
to the AG.
2013-04-23 10:28:46 -05:00
Paulo Borges 2e9cb14e26 hfp: Move HFP versions definitions to hfp.h
hfp.h should store all HFP related definitions.
2013-04-18 08:43:21 -05:00
Vinicius Costa Gomes df1f9bf730 hfpmodem: Send AT+BAC with the supported codecs
Before, the AT+BAC command was being sent with fixed information,
now we send the command (that inform the AG of the codecs supported by
the HF) with the codecs supported by the registered Handsfree Audio
Agent.
2013-04-09 14:33:41 -05:00
Denis Kenzior b18963af33 drivers: Include hfp.h 2013-04-09 14:33:41 -05:00
Anthony Viallard 8650c1019a sim: Add SIMCOM SIM card ready quirk
SIM is busy right after pin is entered. Use the quirk which
add a CPIN? pooling check until having "CPIN: READY" answer.
2013-04-01 21:38:26 -05:00
Claudio Takahasi 0772fda92e hfpmodem: Fix segfault in CIEV GAtChat callback
This patch fixes segmentation fault when the network registration
watch is called without being initialized. CIEV GAtChat callback can
be called before ofono_netreg_register().

==15101== Invalid read of size 8
==15101==    at 0x492B56: ofono_netreg_register (network.c:2073)
==15101==    by 0x47245E: hfp_netreg_probe (network-registration.c:311)
==15101==    by 0x492A8D: ofono_netreg_create (network.c:1881)
==15101==    by 0x4849D5: hfp_pre_sim (hfp_hf_bluez5.c:288)
==15101==    by 0x48C486: ofono_modem_set_powered (modem.c:1194)
==15101==    by 0x484E9D: slc_established (hfp_hf_bluez5.c:85)
==15101==    by 0x4702AD: chld_cb (slc.c:147)
==15101==    by 0x440457: at_chat_finish_command (gatchat.c:461)
==15101==    by 0x44109F: new_bytes (gatchat.c:532)
==15101==    by 0x4433B7: received_data (gatio.c:122)
==15101==    by 0x3CBAA47824: g_main_context_dispatch (gmain.c:2539)
==15101==    by 0x3CBAA47B57: g_main_context_iterate.isra.23
(gmain.c:3146)
==15101==  Address 0x18 is not stack'd, malloc'd or (recently) free'd
2013-02-21 17:09:54 -06:00
Denis Kenzior 2fa7a4a66e netreg: Fix broken CMER behavior on MBM 2013-01-21 10:23:34 -06:00
Denis Kenzior b9782fedfc hfpmodem: Add comment for previous commit 2013-01-21 09:41:54 -06:00
Mikel Astiz 843bd71169 hfpmodem: Fix release-and-swap without +CIEV
Some phones do not send the corresponding call state update (+CIEV)
after a successful release-and-swap operation (AT+CHLD=1).

This has been observed with a Nokia 500, while testing ReleaseAndSwap()
while an active and a held call exist:

ofonod[20414]: > AT+CLCC\r
ofonod[20414]: < \r\n+CLCC: 1,0,1,0,0,"<number1>",145\r\n
ofonod[20414]: < \r\n+CLCC: 2,0,0,0,0,"<number2>",145\r\n
ofonod[20414]: < \r\nOK\r\n
ofonod[20414]: > AT+CHLD=1\r
ofonod[20414]: < \r\nOK\r\n

After this, no +CIEV is received, but the call has been hung up.

The proposed approach to solve this consists of using AT+CLCC, unless
a call release has been received within a specific time period.

The result fixes the problem as can be seen below:

ofonod[20847]: < \r\n+CLCC: 1,0,1,0,0,"<number1>",145\r\n
ofonod[20847]: < \r\n+CLCC: 2,0,0,0,0,"<number2>",145\r\n
ofonod[20847]: < \r\nOK\r\n
ofonod[20847]: > AT+CHLD=1\r
ofonod[20847]: < \r\nOK\r\n
ofonod[20847]: > AT+CLCC\r
ofonod[20847]: < \r\n+CLCC: 1,0,0,0,0,"<number1>",145\r\n
ofonod[20847]: < \r\nOK\r\n
ofonod[20847]: < \r\n+CIEV: 5,2\r\n
ofonod[20847]: < \r\n+CIEV: 5,0\r\n
2013-01-21 09:41:54 -06:00
Mikel Astiz cbb784e734 hfpmodem: Avoid transitional voicecall states
While processing the result of AT+CLCC, process the differences in a way
that disconnections are reported first, then call state changes and
finally new calls.

The goal is to avoid unnecessary transitional states such as two active
calls existing at the same time.
2013-01-21 09:41:54 -06:00
Mikel Astiz 9726e50d82 hfpmodem: Refactor voicecall notify with foreach
Define a helper function in order to use foreach statements when
ofono_voicecall_notify() needs to be called.
2013-01-21 09:41:54 -06:00
Vinicius Costa Gomes a419432c0f hfpmodem: Add support for sending the supported codecs
Right now, only the mandatory CVSD codec is supported. The mSBC
mandatory codec is "temporarily" not supported.

The spec alows this, HFP 1.6 Spec Section 4.34.1 page 92: "If wide band
speech is supported then the mandatory codec (mSBC) shall be included
unless it is temporarily unavailable."
2013-01-17 11:21:16 -06:00
Vinicius Costa Gomes f09a57d799 hfpmodem: Add version defines for HFP 1.6 2013-01-17 11:21:16 -06:00
Denis Kenzior b67e68e753 sim: Fix whitespace violation 2013-01-15 12:16:08 -06:00
Christopher Vogl 404f2e3cb9 sim: return from cpin when sim ready for telit
Especially for Telit HE910 it is not enough to wait for
entering a PIN code.
If we do not wait for #QSS: 3, subsequent commands,
like +CMER will report SIM BUSY and the network registration
atom will be removed as a consequence.
2012-12-17 09:50:22 -06:00
Daniel Wagner 79453f3284 atutil: Remove unused macro
With commit 6ee21a3fc1
the usage DECLARE_FAILURE was removed.
2012-12-17 09:50:22 -06:00
Denis Kenzior fb1d1c3426 hfp: use ofono_handsfree_battchg_notify 2012-12-17 09:50:22 -06:00
Mingli Wu 911eeb6565 atmodem: remove pending idle callbacks at removal
If device probe and removal happen in short succession, it's possible
that the idle handler registered in the probe function doesn't run before
the device is removed.  In this case, the idle handler needs to be
unregistered so that it does not run and try to access the data that's
destroyed during the removal.
2012-12-04 23:48:14 -06:00
Denis Kenzior 25e7ecd3c7 atmodem: Re-work the CBS driver
We might have mis-interpreted how 27.007 intends for CBS to work.  After
studying the implementation notes of the IMC 6260 modem, the spec intent
made a little bit more sense.
2012-12-04 23:47:58 -06:00
Marcel Holtmann 788922cbdf qmi: Include persistent device configuration service 2012-12-04 05:42:14 +01:00
Marcel Holtmann 15f309742c qmi: Print service number if name is not known 2012-12-01 21:37:22 +01:00
Denis Kenzior 68df0eb758 ifx: Fix the case of modem-originated call
During STK Set Up Call, we have modem-originated calls that do not go
through the core 'Dial' method.  Make sure the calls are still detected
in this case.
2012-11-28 10:31:15 -06:00
Denis Kenzior b26f7c73d3 atmodem: For IFX XSIMSTATE 7 should never occur
in the case of a PIN entry, XSIMSTATE of 7 (Ready to Attach) should
never occur
2012-11-28 10:31:14 -06:00
Marcel Holtmann 076abafb03 qmimodem: Fix reporting of PIN or PUK states 2012-11-27 23:31:52 +01:00
Denis Kenzior 2528b74491 atmodem: Always quote data in CRSM write operations 2012-11-23 07:22:25 -06:00
Denis Kenzior 291f4e0bb0 atmodem: Support CRSM with paths
For GET STATUS and READ BINARY variations, support appending of the
optional path in the CRSM command
2012-11-23 07:22:25 -06:00
Marcel Holtmann 67670a659f qmimodem: Add support for UIM service handling 2012-11-25 20:11:29 +01:00
Marcel Holtmann 56e4798e1e qmimodem: Print error string instead of code if available 2012-11-25 10:19:40 +01:00
Marcel Holtmann 9b4d69cf8d qmimodem: Pretty print service name in debug logs 2012-11-25 00:05:54 +01:00
Marcel Holtmann 535e16c8a4 qmimodem: Fix debug printing of messages 2012-11-25 00:05:15 +01:00
Marcel Holtmann 7feb9e2711 qmimodem: Add helper for error message strings 2012-11-25 00:04:14 +01:00
Denis Kenzior 57692483a9 atmodem: Update sim driver to the new api 2012-11-22 10:26:34 -06:00
Denis Kenzior 180f91f6c9 qmi: Update sim-legacy driver to the new API 2012-11-22 10:26:34 -06:00
Denis Kenzior d32c6451bd isi: Update UICC driver to the new API 2012-11-22 10:26:34 -06:00
Denis Kenzior 6451d012ec isimodem: Update sim driver to the new API 2012-11-22 10:26:34 -06:00
Marcel Holtmann 48a5fec5cc atmodem: Monitor IFX technology and band changes 2012-11-23 16:20:15 +01:00
Cedric Jehasse b728a02981 atmodem: add PIN retry count for Alcatel modems 2012-11-15 12:31:06 -06:00
Cedric Jehasse 5f9c1e9e34 atmodem: Poll SIM state after entering PIN
Encountered a problem of CME ERROR 14: SIM busy on Alcatel and Huawei modem.
The Huawei modem has a ^SIMST unsollicited sim state indication, but not all
Huawei modems support this.
So poll the SIM state, as was already done for ZTE modems.
2012-11-12 13:30:38 -06:00
Cedric Jehasse 0f242c9714 atmodem: Add ALCATEL vendor 2012-11-12 13:30:13 -06:00
Holger Hans Peter Freyther 2b9b1ae6d3 sim: Fix the quirk handling of CPIN for Wavecom
The Wavecom Q2XXX support broke in commit 72ce19bf3e.
This is because at_cpin_cb called decode_at_error with final and not
with OK. This lead to an error being set in the error variable and the
new code returns early when an error is set.

The addition of the terminator in at_sim_probe for Wavecom broke in
git commit ac524be99f because
terminators can not be added on cloned chats.

Move the addition of the terminator from the atmodem to the wavecom
plugin. Use the same terminator for Q2XXX and the normal Wavecom
class. The WAVECOM terminator has been tested on a Q2XXX modem.

Apply the CPIN quirk for both WAVECOM and WAVECOM_Q2XXX inside the
sim.c file. Introduce needs_wavecom_sim_quirk to handle it for
WAVECOM and WAVECOM_Q2XXX.
2012-11-01 04:56:51 -05:00
Denis Kenzior bddfb9bfc5 isimodem: Fix style issues in previous commit 2012-09-11 23:30:25 -05:00
Jarko Poutiainen dc2dc41bcf isimodem: voicecall answer fix for Nemo on N9
Voicecall answering in Mer/Nemomobile run on Nokia N9 will fail
unless call id is passed to modem.
2012-09-11 23:29:43 -05:00
Denis Kenzior b274e74102 netreg: Remove netreg atom in case init fails 2012-09-11 23:21:48 -05:00
Denis Kenzior bb0f308223 netreg: Don't register for CIEV twice 2012-09-11 23:20:53 -05:00
Christopher Vogl edbf04cded netreg: Add telit version for ciev notification 2012-09-11 23:16:32 -05:00
Christopher Vogl b87619a43a netreg: Query and select supported CMER modes 2012-09-11 22:54:43 -05:00
Philippe Nunes 006a37cdf8 atmodem: specify class for call barring query
class is specified when querying the call barring status if
the class is not the default (7 - voice, data and fax)
2012-09-05 15:04:18 -05:00
Christopher Vogl 90c7bdfc8d sim: return from CPIN when SIM unlocked for telit
Only return from CPIN when the modem informs that the SIM is ready
2012-08-22 18:44:18 -05:00
August Mayer 4293e4ea63 gprs: data bearer for telit with PSNT
Telit neither supports '+CPSB' nor reports the data bearer through
'+CGREG'. It has its own +PSNT command.
2012-08-16 01:10:56 -05:00
Denis Kenzior b264440737 sim: Minor formatting nitpicks 2012-08-16 01:05:54 -05:00
Denis Kenzior aec21db6cb sim: Fix warning
drivers/atmodem/sim.c: In function ‘at_pct_cb’:
drivers/atmodem/sim.c:872:2: error: ISO C90 forbids mixed declarations
and code
2012-08-16 01:05:46 -05:00
August Mayer ee8ba6f2ff sim: support PIN retry counters for telit modems 2012-08-16 01:00:28 -05:00
Christopher Vogl 76ccb73063 gprs-context: print reason for ppp disconnect 2012-08-13 08:38:30 -05:00
Guillaume Zajac 79b6fd4b24 gprs-context: Add new driver entry definition 2012-07-15 20:05:23 -05:00
Marcel Holtmann dd3db6f6bd qmimodem: Avoid shadowing length parameter 2012-07-15 20:16:59 -03:00
Marcel Holtmann 3be98b5b97 isimodem: Avoid shadowing variables 2012-07-15 20:14:12 -03:00
Denis Kenzior 2e51814f32 ifx: Add CSSI and CSSU support 2012-07-12 14:12:55 -05:00
Denis Kenzior 05bf01991d qmi: fix whitespace 2012-06-24 17:40:59 -05:00
Marcel Holtmann 1c20ec6c16 modem: Add skeleton for USSD support 2012-06-25 20:24:33 -07:00
Marcel Holtmann 71f6d63859 qmimodem: Add skeleton for voice call support 2012-06-25 12:11:08 -07:00
Marcel Holtmann a04341cdb6 qmimodem: Make sure all service destroy functions are called 2012-06-25 10:25:03 -07:00
Marcel Holtmann a41b7a246b qmimodem: Add support for canceling all service requests 2012-06-25 10:20:08 -07:00
Marcel Holtmann 5ada27b7c1 qmimodem: Use shared DMS service for device information and SIM handling 2012-06-25 09:31:49 -07:00
Marcel Holtmann a19dc51227 qmimodem: Add support for shared services with same client id 2012-06-25 09:30:31 -07:00
Marcel Holtmann 18fb4817f7 qmimodem: Use unsigned int for notify id to make GUINT_TO_POINTER happy 2012-06-25 01:57:15 -07:00
Marcel Holtmann 8f2549416a qmimodem: Use unsigned int for tid to make GUINT_TO_POINTER happy 2012-06-25 01:23:14 -07:00
Marcel Holtmann 2c00dfb0fe qmimodem: Use unsigned int for hash_id to make GUINT_TO_POINTER happy 2012-06-25 01:18:48 -07:00
Marcel Holtmann 9faf249e8e swmodem: Add extra informational AT+CGCONTRDP command 2012-06-25 00:02:17 -07:00
Marcel Holtmann b168c0f953 qmimodem: Add support for unregister of individual notifications 2012-06-24 23:31:49 -07:00
Marcel Holtmann 29067f75bc qmimodem: Add support for canceling service requests 2012-06-24 23:20:25 -07:00
Marcel Holtmann d4d639f40e qmimodem: Add skeleton for radio settings support 2012-06-24 22:56:27 -07:00
Marcel Holtmann 1631d21e35 qmimodem: Return transaction identifier from service requests 2012-06-24 22:38:26 -07:00
Marcel Holtmann 74d208768a qmimodem: Add helper function for accessing 64-bit integers 2012-06-24 22:24:56 -07:00
Marcel Holtmann 797f3a502e qmimodem: Add common constants for GSM, UMTS and LTE bands 2012-06-24 22:21:39 -07:00
Marcel Holtmann 8c590a85c2 qmimodem: Add support for SMS handling 2012-06-22 13:20:11 -07:00
Marcel Holtmann c958378d6c qmimodem: Add support for GPS location reporting 2012-06-21 21:08:31 -07:00
Marcel Holtmann b12dad8883 qmimodem: Add support for GPRS data connection handling 2012-06-21 20:47:22 -07:00
Marcel Holtmann b36bb2ee50 qmimodem: Add support for network registration handling 2012-06-21 18:44:43 -07:00
Marcel Holtmann 3a42d98623 qmimodem: Add support for legacy SIM handling 2012-06-21 17:29:16 -07:00
Marcel Holtmann ad20ea12c5 qmimodem: Add support for device information handling 2012-06-21 16:07:59 -07:00
Marcel Holtmann 0e6fc7aee4 qmimodem: Add support for QMI control point handling 2012-06-21 15:18:36 -07:00
Denis Kenzior b6588a9e9e sms: Constify isimodem driver submit method 2012-06-16 09:50:05 -05:00
Denis Kenzior b947ee702b sms: Constify atmodem driver submit method 2012-06-16 09:50:05 -05:00
Pablo Neira Ayuso 78637b130d sim: Quirk Wavecom Q2XXX CPIN behavior 2012-05-31 09:48:12 -05:00
Pablo Neira Ayuso 535ff69ded sms: Handle quirky Wavecom Q2XXX CPMS syntax 2012-05-30 00:03:10 -05:00
Pablo Neira Ayuso 1ccecfe01e sim: Handle quirky CPIN of Wavecom Q2XXX 2012-05-30 00:03:10 -05:00
Pablo Neira Ayuso 88b7e73ffb drivers: add quirk for Wavecom Q2403/Q2686 modems
The existing wavecom driver in tree slightly differs from these
modems. Thus, it doesn't work work with them. We (the osmocom
team) use these Wavecom Q2403/Q2686 modems in our testbed.
2012-05-30 00:03:10 -05:00
Marcel Holtmann 85d43570fd build: Add skeleton for Qualcomm QMI modem driver 2012-05-27 10:13:55 +02:00
Marcel Holtmann ec4ba8a6fc atmodem: Enable Icera radio access technology updates 2012-05-26 16:15:34 +02:00
Marcel Holtmann 3f191c3397 huaweimodem: Use network interface from modem for GPRS context 2012-05-26 09:48:25 +02:00
Marcel Holtmann a589766884 iceramodem: Read supported bands as part of radio settings 2012-05-25 20:54:21 +02:00
Marcel Holtmann 2c2871cd9e atmodem: Fix parsing of Icera network state updates 2012-05-25 14:46:41 +02:00
Marcel Holtmann 1698d720ce atmodem: Add support for Icera PIN retry counters 2012-05-25 14:32:28 +02:00
Marcel Holtmann f29aab2515 iceramodem: Handle context deactivation responses 2012-05-25 12:55:08 +02:00
Marcel Holtmann 6afa4434b7 iceramodem: Add support special radio settings handling 2012-05-25 10:32:33 +02:00
Marcel Holtmann 119b4434b4 atmodem: Add support for Icera network status updates 2012-05-24 05:00:01 +02:00
Marcel Holtmann a96422cd50 atmodem: Add support for Icera network time handling 2012-05-24 04:58:35 +02:00
Marcel Holtmann 19e7437c46 atmodem: Icera devices don't support SMS ACK PDUs either 2012-05-24 03:54:29 +02:00
Marcel Holtmann 1f9f161e0b atmodem: Fix issue with AT+CREG=? and AT+CGREG=? handling
Some modems might see an interim +CREG: or +CGREG: notification when
querying the supported modes.

  Aux: > AT+CFUN=1\r
  Aux: < \r\nOK\r\n
  Aux: > AT+CREG=?\r
  Aux: < \r\n+CREG: 2\r\n
  Aux: < \r\n+CREG: (0-2)\r\nOK\r\n
  Unable to initialize Network Registration

To make this work, skip to the first line with an actual range value.
2012-05-24 03:28:50 +02:00
Marcel Holtmann 9b288f92f8 iceramodem: Add special GPRS context driver 2012-05-22 12:05:24 +02:00
Marcel Holtmann 929c529716 atmodem: The Icera modem does not support CIND reporting 2012-05-22 12:03:00 +02:00
Marcel Holtmann d543281e4f atmodem: Add specific quirk for Icera modems 2012-05-22 12:02:30 +02:00
Guillaume Zajac d0232dee06 atmodem: Poll SIM state after having entered PIN
We encountered the problem of CME ERROR 14: SIM busy on ZTE modems.
ZTE modems don't use SIM notification to check SIM state.
We poll SIM ready state before confirming PIN is entered.
2012-04-18 04:22:19 -05:00
Guillaume Zajac fb92db81d4 atutil: Add destroy notify to sim_state_query 2012-04-18 04:06:43 -05:00
Denis Kenzior 2bc5a791d7 speedup: No need to parse error 2012-04-16 13:15:52 -05:00
Denis Kenzior 8227642757 speedup: Remove ussd atom in case we fail to init 2012-04-16 13:15:52 -05:00
Denis Kenzior 77de440f28 atmodem: Remove ussd atom in case we fail to init 2012-04-16 13:15:52 -05:00
Nicolas Bertrand a9cc215bc5 speedup: Add speedup driver to handle USSD 2012-04-16 13:15:52 -05:00
Michael Brudevold ef25cf1adf hfpmodem: use full CLCC handling in dialing case
A call that moves from the dialing to active state before the +CLCC response
will not properly be added as a voicecall. This is because the dialing callback
was using simplified handling and only looked for calls in the dialing or
alerting state.

AT sequence that exhibited the failure (AG device was an iPhone accessing
visual voicemail):

> +CIND: ("service",(0-1)),("call",(0-1)),("callsetup",(0-3)),
("battchg",(0-5)),("signal",(0-5)),("roam",(0-1)),("callheld",(0-2))
...
> +CIEV: 3,2
< AT+CLCC
> +CIEV: 2,1
> +CIEV: 3,0
> +CLCC: 1,0,0,0,0,"**21153**",129,"Voicemail"
2012-04-11 23:54:38 -05:00
Philippe Nunes 09449f1e66 sms: Add ZTE quirk for CDS notifications 2012-04-06 11:05:48 -05:00
Denis Kenzior ccbccc9bd0 nwmodem: Remove atom if driver fails to init 2012-03-26 16:50:59 -05:00
Denis Kenzior 86e64128fa ifxmodem: Remove atom if driver fails to init 2012-03-26 16:50:46 -05:00
Denis Kenzior 979b244fcf hsomodem: Remove atom if driver fails to init 2012-03-26 16:50:36 -05:00
Denis Kenzior ab4cfc1070 ztemodem: Remove atom if driver fails to init 2012-03-26 16:50:11 -05:00
Denis Kenzior e9fc8c6411 ztemodem: Fix compile error
drivers/ztemodem/radio-settings.c:129: error: ‘value’ may be used
uninitialized in this function
2012-03-26 16:49:38 -05:00
Bertrand Aygon 75e3bb6167 ztemodem: Add radio settings support 2012-03-26 16:42:38 -05:00
Bertrand Aygon 87bda87830 Add ZTE modem driver 2012-03-26 16:38:19 -05:00
Jarkko Lehtoranta 8b11ee67d7 huaweimodem: Fix AT^DDSETEX=2 timing for voice calls
Voice output serial port is enabled on some Huawei models (e.g. E169)
without problems, but for example on E173u-2 it is never enabled
during an incoming call. There might also be other Huawei models
having the same issue.

I traced the issue down to "^DDSETEX" AT command, which is used
to notify the device to start streaming audio. It seems that Ofono
sends this command too early on incoming calls. The command should
always be sent *after* the dial "D" or answer "A" command. The patch
fixes this behavior and afterwards voice will also work on E173u-2.
2012-03-24 11:50:34 -07:00
Denis Kenzior 31e1b2e6ce sim: Don't use sprintf unnecessarily
Using sprintf for a single quote is quite wasteful
2012-03-23 08:28:37 -05:00
Denis Kenzior 95e7982938 sim: Fix up various coding style violations 2012-03-23 08:27:44 -05:00
Nicolas Bertrand ad29b6d18f sim: Use quoted string with AT+CRSM data parameter
Fix issue with some modems preventing to update elementary files
(speedup, ZTE, huawei, MBM)
2012-03-23 08:12:24 -05:00
Marcel Holtmann 63acbad39a swmodem: Add support for IPv6 and IPv4v6 contexts 2012-03-21 22:09:03 -07:00
Marcel Holtmann 81ad5ea8e0 swmodem: Add Sierra Wireless DirectIP support 2012-03-21 21:13:13 -07:00
Marcel Holtmann 82d0c258c3 swmodem: Add Sierra Wireless modem driver 2012-03-21 21:10:30 -07:00
Marcel Holtmann 6b0880f8a7 isimodem: Remove includes of <glib/gtypes.h> 2012-03-19 16:12:36 -07:00
Denis Kenzior ebac438d93 voicecall: Fix strange GTA04 modem CLCC behavior 2012-03-06 10:12:31 -06:00
Renat Zaripov c217638197 sms: Disable sending AT+CNMA with SIMCOM quirk
SIMCOM SIM900 modem module not support AT+CNMA command
2012-02-27 20:29:22 -06:00
Denis Kenzior 876fb9e1b4 atutil: Ignore invalid CLCC results
Some phones report CLCC calls with out-of-range info.  E.g. call index
being 0 (it is 1 based according to 27.007) and call states being
reported as '6' (valid call states are 0-5.)
2012-02-27 20:28:42 -06:00
Renat Zaripov 409b0f01b6 sim: Add SIMCOM specific PIN retry handling
Use AT+SPIC for obtaining retries remaining for SIM PIN / PUK

AT+SPIC Retries Remaining to Input SIM PIN/PUK

+SPIC: <pin1>,<pin2>,<puk1>,<puk2>

Parameters
<pin1> Times remained to input chv1
<pin2> Times remained to input chv2
<puk1> Times remained to input puk1
<puk2> Times remained to input puk2
2012-02-22 04:14:16 -06:00
Marcel Holtmann 04ab1b2863 atmodem: Use CSQ based notification for IFX signal strength
Since the XCIEV notifications are unclear, use XCSQ notifcations to
report signal strength updates.
2012-02-16 08:20:29 +01:00
Marcel Holtmann bba5a1a000 atmodem: Ignore results from IFX radio signal strength indication
It seems the that XCIEV notification actually returns results from XCSQ
and not the described range 0-7. This makes this notification rather
useless to report signal strength.
2012-02-16 08:15:48 +01:00
Marcel Holtmann 1ed0b9997c atmodem: Fix handling of IFX signal strength indication 2012-02-14 15:23:59 +01:00
Marcel Holtmann 286b4a8530 atmodem: Add debug for IFX signal strength reporting 2012-02-14 14:53:51 +01:00
Marcel Holtmann e5c966ce53 ifxmodem: Add support for dynamic DNS for IPv6 and dual mode contexts 2012-02-10 12:02:42 +01:00
Marcel Holtmann 5c5eff0b5b ifxmodem: Add support for IPv6 and dual mode contexts 2012-02-10 11:45:34 +01:00
Marcel Holtmann 25bde3be6b ifxmodem: Remove audio settings mode handling
With the current updated setup, the audio settings mode is no longer
provided. So don't bother even trying to configure it.
2012-02-10 10:04:34 +01:00
Marcel Holtmann b88a621528 ifxmodem: Remove another usage g_utf8_validate 2012-02-10 09:42:54 +01:00
Denis Kenzior 9d666ccce0 ifx: Don't use g_utf8_validate
Emergency Numbers can only be digits, so there's no point to use the
'Hammer of Thor' that is g_utf8_validate when a much simpler function
will do the job just as well.
2012-02-10 00:38:37 -06:00
Denis Kenzior 7e42c5bbb0 ifx: Modify XLEMA behavior
XLEMA reports emergency numbers that are hardcoded (e.g. 112 and 911)
and that are already read from EFecc.  The additional emergency numbers
we are interested in should only come from the NVM or the network NITZ
update.
2012-02-09 22:34:02 -06:00
Marcel Holtmann cfdc96186e ifxmodem: Handle malformed emergency numbers
This might be either a modem firmware bug or the SIM card is provisioned
really badly, but the last entry contains garbage characters.

ofonod[20620]: Voice: < \r\n+XLEMA: 1,9,"112",,1\r\n\r\n+XLEMA: 2,9,"911",,1\r\n\r\n+XLEMA: 3,9,"000",57,1\r\n\r\n+XLEMA: 4,9,"08",49,1\r\n\r\n+XLEMA: 5,9,"112",49,1\r\n\r\n+XLEMA: 6,9,"118",0,1\r\n\r\n+XLEMA: 7,9,"119",0,1\r\n\r\n+XLEMA: 8,9,"911",0,1\r\n\r\n+XLEMA: 9,9,"999\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377",0,1\r\n

Fix this by just validating the string and cutting off once an invalid
character is found.
2012-02-10 02:15:16 +01:00
Denis Kenzior d5bdd1f741 ifx: Add necessary incantations for audio 2012-02-09 08:36:18 -06:00
Renat Zaripov a81490560b atmodem: Add SIMCOM vendor quirk
Adding vendor quirk for SIMCOM SIM900 modem module.
2012-01-11 23:48:24 -06:00