summaryrefslogtreecommitdiffstats
path: root/drivers
AgeCommit message (Collapse)AuthorFilesLines
2013-02-21hfpmodem: Fix segfault in CIEV GAtChat callbackClaudio Takahasi1-3/+3
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-01-21netreg: Fix broken CMER behavior on MBMDenis Kenzior1-1/+14
2013-01-21hfpmodem: Add comment for previous commitDenis Kenzior1-0/+5
2013-01-21hfpmodem: Fix release-and-swap without +CIEVMikel Astiz1-1/+45
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-21hfpmodem: Avoid transitional voicecall statesMikel Astiz1-2/+12
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-21hfpmodem: Refactor voicecall notify with foreachMikel Astiz1-3/+9
Define a helper function in order to use foreach statements when ofono_voicecall_notify() needs to be called.
2013-01-17hfpmodem: Add support for sending the supported codecsVinicius Costa Gomes1-0/+29
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-17hfpmodem: Add version defines for HFP 1.6Vinicius Costa Gomes1-1/+2
2013-01-15sim: Fix whitespace violationDenis Kenzior1-1/+2
2012-12-17sim: return from cpin when sim ready for telitChristopher Vogl1-1/+1
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-17atutil: Remove unused macroDaniel Wagner1-5/+0
With commit 6ee21a3fc18460cc12dbddb3b7ec70e941fa4bbc the usage DECLARE_FAILURE was removed.
2012-12-17hfp: use ofono_handsfree_battchg_notifyDenis Kenzior1-0/+31
2012-12-04atmodem: remove pending idle callbacks at removalMingli Wu6-0/+6
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-04atmodem: Re-work the CBS driverDenis Kenzior1-26/+6
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-04qmi: Include persistent device configuration serviceMarcel Holtmann2-0/+3
2012-12-01qmi: Print service number if name is not knownMarcel Holtmann1-2/+6
2012-11-28ifx: Fix the case of modem-originated callDenis Kenzior1-12/+13
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-28atmodem: For IFX XSIMSTATE 7 should never occurDenis Kenzior1-1/+0
in the case of a PIN entry, XSIMSTATE of 7 (Ready to Attach) should never occur
2012-11-27qmimodem: Fix reporting of PIN or PUK statesMarcel Holtmann1-2/+2
2012-11-23atmodem: Always quote data in CRSM write operationsDenis Kenzior1-19/+4
2012-11-23atmodem: Support CRSM with pathsDenis Kenzior1-5/+35
For GET STATUS and READ BINARY variations, support appending of the optional path in the CRSM command
2012-11-25qmimodem: Add support for UIM service handlingMarcel Holtmann4-0/+628
2012-11-25qmimodem: Print error string instead of code if availableMarcel Holtmann1-3/+10
2012-11-25qmimodem: Pretty print service name in debug logsMarcel Holtmann1-1/+5
2012-11-25qmimodem: Fix debug printing of messagesMarcel Holtmann1-3/+8
2012-11-25qmimodem: Add helper for error message stringsMarcel Holtmann2-0/+109
2012-11-22atmodem: Update sim driver to the new apiDenis Kenzior1-9/+23
2012-11-22qmi: Update sim-legacy driver to the new APIDenis Kenzior1-2/+6
2012-11-22isi: Update UICC driver to the new APIDenis Kenzior1-3/+18
2012-11-22isimodem: Update sim driver to the new APIDenis Kenzior1-0/+14
2012-11-23atmodem: Monitor IFX technology and band changesMarcel Holtmann1-0/+58
2012-11-15atmodem: add PIN retry count for Alcatel modemsCedric Jehasse1-0/+43
2012-11-12atmodem: Poll SIM state after entering PINCedric Jehasse1-0/+2
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-12atmodem: Add ALCATEL vendorCedric Jehasse1-0/+1
2012-11-01sim: Fix the quirk handling of CPIN for WavecomHolger Hans Peter Freyther1-15/+9
The Wavecom Q2XXX support broke in commit 72ce19bf3e87b5e73c053f7ea1. 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 ac524be99f8c72a2593e4ffcecad8beea7679e55 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-09-11isimodem: Fix style issues in previous commitDenis Kenzior1-4/+1
2012-09-11isimodem: voicecall answer fix for Nemo on N9Jarko Poutiainen1-1/+14
Voicecall answering in Mer/Nemomobile run on Nokia N9 will fail unless call id is passed to modem.
2012-09-11netreg: Remove netreg atom in case init failsDenis Kenzior1-17/+23
2012-09-11netreg: Don't register for CIEV twiceDenis Kenzior1-2/+0
2012-09-11netreg: Add telit version for ciev notificationChristopher Vogl1-0/+44
2012-09-11netreg: Query and select supported CMER modesChristopher Vogl1-2/+151
2012-09-05atmodem: specify class for call barring queryPhilippe Nunes1-1/+4
class is specified when querying the call barring status if the class is not the default (7 - voice, data and fax)
2012-08-22sim: return from CPIN when SIM unlocked for telitChristopher Vogl1-0/+40
Only return from CPIN when the modem informs that the SIM is ready
2012-08-16gprs: data bearer for telit with PSNTAugust Mayer1-0/+40
Telit neither supports '+CPSB' nor reports the data bearer through '+CGREG'. It has its own +PSNT command.
2012-08-16sim: Minor formatting nitpicksDenis Kenzior1-0/+2
2012-08-16sim: Fix warningDenis Kenzior1-1/+2
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-16sim: support PIN retry counters for telit modemsAugust Mayer1-0/+61
2012-08-13gprs-context: print reason for ppp disconnectChristopher Vogl1-1/+1
2012-07-15gprs-context: Add new driver entry definitionGuillaume Zajac1-0/+11
2012-07-15qmimodem: Avoid shadowing length parameterMarcel Holtmann1-4/+4