summaryrefslogtreecommitdiffstats
path: root/drivers
AgeCommit message (Collapse)AuthorFilesLines
2015-11-04rilmodem: Implement ril_cw_set inlineDenis Kenzior1-1/+17
2015-10-15rilmodem: Move get_imsi implementation to rilmodemDenis Kenzior1-1/+7
2015-10-13infineon: Definitions for infineon modemAlfonso Sanchez-Beato1-0/+77
2015-10-13rilmodem: driver for Android modemsTony Espy22-0/+7558
Driver for modems that are accessed through the Android Radio Interface Layer (RIL) for telephony, using the gril library. The driver is almost feature complete with some exceptions, being CBS and SAT the most prominent. Co-authored-by: Tony Espy <espy@canonical.com> Co-authored-by: Ricardo Salveti de Araujo <ricardo.salveti@canonical.com> Co-authored-by: Alfonso Sanchez-Beato <alfonso.sanchez-beato@canonical.com> Co-authored-by: Islam Amer <islam.amer@jollamobile.com> Co-authored-by: Jussi Kangas <jussi.kangas@tieto.com> Co-authored-by: Juho Hämäläinen <juho.hamalainen@tieto.com> Co-authored-by: Petri Takalokastari <petri.takalokastari@oss.tieto.com> Co-authored-by: Jarko Poutiainen <Jarko.Poutiainen@oss.tieto.com> Co-authored-by: Tommi Kenakkala <tommi.kenakkala@oss.tieto.com> Co-authored-by: Miia Leinonen <miia.leinonen@oss.tieto.com> Co-authored-by: Martti Piirainen <martti.piirainen@canonical.com> Co-authored-by: You-Sheng Yang <vicamo.yang@canonical.com>
2015-08-24hfp: Handle extra CCWA eventKuba Pawlak1-0/+10
When a call is waitng, CCWA event is sent and call object in state WAITING is created. on ReleaseAndAnswer it is promoted to INCOMING and later to ACTIVE. iPhones send an extra CCWA event when active call is ended. This extra event is creating a second call object in state WAITING. It is not possible to have two WAITING calls, but previously waiting call was already promoted to INCOMING. For a brief time we have two calls from the same number, one INCOMING and one WAITING. Later WAITING one is removed. As we cannot have a waiting and incoming call at the same time, ignore CCWA when there is already an INCOMING call. < \r\n+CIEV: 3,3\r\n < \r\n+CIEV: 2,1\r\n < \r\n+CIEV: 3,0\r\n < \r\n+CCWA: "01234567890",129,1,"Me"\r\n < \r\n+CIEV: 3,1\r\n > AT+CLCC\r < \r\n+CLCC: 1,0,0,0,0,"09876543210",129,"Me"\r\n < \r\n+CLCC: 2,1,5,0,0,"01234567890",129,"Me"\r\n < \r\nOK\r\n < \r\n+CIEV: 2,0\r\n < \r\n+CCWA: "01234567890",129,1,"Me"\r\n < \r\n+CIEV: 2,1\r\n < \r\n+CIEV: 3,0\r\n > AT+CLCC\r < \r\n+CLCC: 2,1,0,0,0,"01234567890",129,"Me"\r\n < \r\nOK\r\n
2015-08-05hfp: Synchronize call state in case of +CHUP errorKuba Pawlak1-0/+4
It is possible for the phone to accept Dial request but not actually dial. This leaves a voicecall object in state 'dialling' that cannot be removed. Proposed workaround is to trigger AT+CLCC when an error is returned for Hangup. As the call is not on the list, this would remove this hanging object and signal CallRemoved. Windows Phone trace with this fix: ofonod[273]: > ATD1;\r ofonod[273]: < \r\nOK\r\n ofonod[273]: src/voicecall.c:dial_handle_result() Registering new call: 1 ofonod[273]: < \r\n+CIEV: 5,4\r\n ofonod[273]: src/network.c:ofono_netreg_strength_notify() strength 80 ofonod[273]: > AT+CHUP\r ofonod[273]: < \r\nERROR\r\n ofonod[273]: src/voicecall.c:generic_callback() command failed with error: Unknown error type ofonod[273]: > AT+CLCC\r ofonod[273]: < \r\nOK\r\n ofonod[273]: src/voicecall.c:ofono_voicecall_disconnected() Got disconnection event for id: 1, reason: 2
2015-06-04hfpmodem: Fix connecting to AG with existing mptyKuba Pawlak1-0/+20
If there is more then one active or held call, we are in mpty calls. We won't get indicator update if any of them is released by CHLD=1x. So we have to poll it.
2015-05-13atmodem: Add Cinterion quirk for signal strengthAlex J Lennon2-0/+55
Implement OFONO_VENDOR_CINTERION specific vendor support to register textual +CIEV indications for signal strength using AT^SIND command.
2015-03-24hfpmodem: slc.c: make sure to use none_prefixKuba Pawlak1-3/+4
2015-03-24hfpmodem: hfpmodem.c make sure to use none_prefixKuba Pawlak1-5/+6
2015-02-20hfpmodem: Make sure to use none_prefixDenis Kenzior1-2/+2
ofonod[253]: > AT+CCWA=1\r ofonod[253]: < \r\n+BCS:2\r\n ofonod[253]: < \r\nOK\r\n
2015-02-20hfpmodem: Make sure to set the prefix properlyDenis Kenzior1-1/+2
ofonod[1239]: > AT+COPS=3,0\r ofonod[1239]: < \r\n+BCS:2\r\n ofonod[1239]: < \r\nOK\r\n
2015-02-02atmodem: fix retries reporting from AT+CPINRCedric Jehasse1-1/+1
The retries array was not correctly filled in.
2015-02-02atmodem: Sierra modems should be polled after CPINCedric Jehasse1-0/+1
Sierra modem will return "CME ERROR: 14" when polled right after pin has been entered. Use the existing vendor quirk to handle this.
2014-10-22telitmodem: Fix a few coding style violationsDenis Kenzior1-4/+5
2014-10-22telitmodem: location reporting driverKuba Pawlak3-0/+388
2014-10-20slc: Make sure to initialize variablesDenis Kenzior1-0/+3
2014-10-20hfp: Implement +BIND notificationsDenis Kenzior1-0/+22
2014-10-20hfp: Notify core of HF indicators supported by AGDenis Kenzior1-0/+9
This information was obtained from SLC negotiation
2014-10-20hfp: Track supported / active indicatorsDenis Kenzior2-3/+20
This information is obtained during SLC establishment
2014-10-20hfp: Add implementation of +BIEVDenis Kenzior1-0/+20
2014-10-20hfp: Add HF Indicators BRSF feature for 1.7Denis Kenzior1-0/+5
If HFP 1.7 client is used, enable the right BRSF feature
2014-10-20handsfree: Skeleton implementation of DDRDenis Kenzior1-2/+2
Distracted Driving Reduction or Enhanced Safety is implemented using HF indicator 0x0001
2014-10-20hfp: Add initial SLC negotiation for HFP 1.7Denis Kenzior1-1/+94
2014-07-08atmodem: set the auth method for u-blox modemsPhilip Paeps1-3/+28
2014-07-08sim: query u-blox PIN retries with AT+UPINCNTPhilip Paeps1-0/+45
2014-06-30gprs: add support for u-blox +UREG URCsPhilip Paeps1-0/+44
2014-06-30atmodem: add vendor u-bloxPhilip Paeps1-1/+2
2014-06-30atmodem: Minor style fixupsDenis Kenzior1-0/+2
2014-06-30sim: query Quectel UC15 PIN retries with AT+QPINC?Philip Paeps1-0/+49
2014-06-30atmodem: add vendor QuectelPhilip Paeps1-1/+2
2014-06-30hfpmodem: Fix crash with more than two callsSergio Checa Blanco1-1/+1
A periodic CLCC polling is started when there is an ongoing multiparty call and a new call appears in the system. A simple way to reproduce the crashing scenario is: 1. Place a call. 2. Place a second call. 3. Create a multiparty call with both calls. 4. Place a third call (incoming or outgoing does not matter). 5. Disconnect HFP from the modem. Within the function ciev_callheld_notify, the AT+CLCC command is also invoked, thus a new cyclic CLCC polling is started, and it overwrites the timer resource identifier stored in voicecall_data.clcc_source. This means that there are several timers doing the CLCC polling, but only one of those is under control, i.e. it can be removed through its source identifier, hence a timer source leak. This has a fatal consequence when the HFP modem is disconnected. The function hfp_voicecall_remove stops the timer that is under control before freeing the voicecall_data struct. However there are other timers that are still active and will execute its handler poll_clcc afterwards. Inside poll_clcc the driver_data is accessed, which is already NULL. A solution for this is to avoid starting a CLCC polling if there is already one active, i.e. clcc_source is not 0. By doing this the uncontrolled timers will not cycle forever.
2014-06-21atmodem: set the PPP authentication method to usePhilip Paeps1-0/+14
2014-06-21hfpmodem: Split AT+VTS command into multiple +VTSSergio Checa Blanco1-3/+8
According to the standard "3GPP 27.007 v6.8.0" Appendix C.2.11, when sending multiple DTMF characters, these must go in individual +VTS commands for each tone. This adopts the AT modem approach. Before: AT+VTS=1234\r After: AT+VTS=1;+VTS=2;+VTS=3;+VTS=4\r
2014-05-30hfp: Fix case where RING never arrivesDenis Kenzior1-1/+28
2014-04-10handsfree: Rename driver functionDenis Kenzior1-3/+3
To be more consistent with others in the same file
2014-04-10handsfree: Simplify logicDenis Kenzior1-18/+12
2014-04-10hfp: Add CNUM query to handsfree interface for subscriber numberAndrew Earl1-0/+88
2014-03-19hfp: Use enum from hfp.hDenis Kenzior3-23/+16
2014-03-19hfp: Fixup variable namesDenis Kenzior1-3/+3
2014-03-19hfp: Add CHLD features to drver dataKrzysztof Wilk1-0/+3
2013-12-21git: Fixup messed up permissionsDenis Kenzior3-0/+0
2013-12-18siri: Add atom driverKrzysztof Wilk3-0/+219
2013-12-05hfp: Add Voice Recognition flag to BRSFAndrew Earl1-0/+1
2013-11-26netreg: Turn off CIEV indications other than rssiDenis Kenzior1-0/+11
2013-09-12hfpmodem: Call ofono_voicecall_mpty_hint as neededDenis Kenzior1-2/+7
2013-09-12atmodem: Update parse_clcc utility functionDenis Kenzior3-4/+11
2013-08-25hfp: Set UDUB affected set to WAITING onlyDenis Kenzior1-2/+1
INCOMING calls are not affected by UDUB, only by +CHUP.
2013-08-25hfp: Fix up disconnect reason handling for +CHUPDenis Kenzior1-1/+6
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-07-22atmodem: Fix whitespace violationDenis Kenzior1-1/+1