Commit graph

87 commits

Author SHA1 Message Date
Paul Keith
7240949c54 libril: Fix freeing of strings for roaming protocol flag
Change-Id: Id6150885203a64733bffeb7ce6dc4e91fab305df
2018-07-01 16:08:04 +02:00
Paul Keith
63d0da85d7 ril: service: Fix RIL_UNSOL_NITZ_TIME_RECEIVED Parcel
* Sometimes, the modem is sending 1-2 extra fields with
  the country mcc, which confuses ServiceStateTracker
* Drop the extra data here, instead of in our RIL class

[haggertk]: Forward port to ril-caf on lineage-15.

Change-Id: Ifbec67bb0dac271226bd8b5471deaf6a2ef33f2b
2018-06-23 11:55:58 +02:00
Paul Keith
8cc0417cf2 ril: service: Add workaround for "ring of death" bug
[javelinanddart]: Forward port to ril-caf on lineage-15.1

Change-Id: Ifeeee11ee83deddb8eff565847641c45a105378f
2018-06-23 11:55:50 +02:00
Paul Keith
96ff312382 ril: service: Get off my back
* Checking numInts and numStrings for strict equality when
  we're not looping is dumb, because Samsung is notorious
  for sending extra information in their RIL
* Check if there's *enough* data rather than the *exact amount*
  to fix a bunch of invalid response errors

Change-Id: I14bc37240e5760b4629fcb74b64f25ad95d4fdfc
2018-03-06 19:25:04 +00:00
Christopher N. Hesse
d26f4c920f ril: service: Fix breakage introduced by f7c75aa4e0
Before:
    if (response == NULL || numStrings != 3) {
After:
    if (response == NULL || numStrings != mqanelements - 2) {

This patch fixes the logic so we don't change the value check.

"mqanelements" is not related to getOperatorResponse, so get get rid of
the affected code.

Change-Id: I86c6ae7b7492a5d04fbc8dc415c4f615e7d05bab
2018-03-06 19:20:50 +00:00
Christopher N. Hesse
7f2c1bf988 ril: Add support for imsType parcel member
This is needed for Samsung devices like the Galaxy A5 2017.

Change-Id: I3b89cf8ac232fef5629b439dbf5d2f21bdb264a2
2018-02-22 21:02:29 +00:00
Christopher N. Hesse
ffe632e356 ril: Add support for roamingProtocol parcel member
This is needed for Samsung devices like the Galaxy A5 2017.

Change-Id: I549130b838377d8a8668ac59b51c314fe9e7f5ab
2018-02-22 21:02:04 +00:00
Martin Bouchet
f7c75aa4e0 libril: fix network operator search
The number of mQANElements should be defined in the system
prop ro.ril.telephony.mqanelements

Change-Id: Ie5bb8ba80c5ac93b7502da3b1bb3d2b4404ecd5e
2018-01-21 13:29:20 +01:00
Martin Bouchet
d912396454 libril: fix in call presentation
Change-Id: Ifd4a20c0bcd34f380716cc96cdd4c99b4b909266
2018-01-21 13:29:07 +01:00
Martin Bouchet
d53206c5bd libril: handle Samsung proprietary commands
Change-Id: Ief8402c8e75c677c7f2e32794f13867b924b209f
2018-01-21 13:28:25 +01:00
Martin Bouchet
0063444a40 libril: port Samsung responseDataCallList to O libril
Change-Id: I1a1980e25b2ae1c496420fe3bfb0e8999e62f864
2018-01-21 13:28:18 +01:00
Martin Bouchet
db968d4efd libril: port samsung changes to signalStrength
Change-Id: I39c1f5dcb44bcd0cf265243276d7649a9c2fdc8c
2018-01-21 13:27:52 +01:00
Martin Bouchet
c3c6ceeaad libril: add Samsung flags to makefile
Change-Id: I5deb1f7582b207acf908691a7ac69a9ebbc62505
2018-01-21 13:27:48 +01:00
Martin Bouchet
6e9a4971ec libril: bring back signalStrength v5 and v6
Change-Id: Ie0513986e9cabe9b363198e0192b18a0a8fe97de
2018-01-21 13:26:45 +01:00
Martin Bouchet
0d4bbaf7f1 ril: import Oreo AOSP libril
Change-Id: I00750bad812dc263e9c74a504b48512a892376c8
2018-01-21 13:26:31 +01:00
Christopher N. Hesse
8f9268e598 libril: Fix multisim flags
Change-Id: Idb2ea518c115c1dbfbbbbb79094938ce006f40d8
(cherry picked from commit c98cc605c67e950bf14aa9f0d14966382ec45a0c)
2018-01-20 22:29:43 +00:00
Simon Shields
a9d8bf6af4 libril: use responseInts for LAST_CALL_FAIL_CAUSE on Exynos4
Exynos4 devices send two ints as a response to this request,
causing responseFailCause to think the result is a LastCallFailCause struct,
which it then tries to treat as a Java UTF-8 encoded string, causing a
crash.

Work around this by forcing responseInts (the original behaviour)
on Exynos4 devices.

Change-Id: Ied14948db3049066ffc760b6d3df09b4cefa2df0
2017-02-19 13:39:36 +00:00
Simon Shields
5b75c5763c libril: fix parceling of DataCallListV6 on xmm626x
Change-Id: I32fee851e65f8f5af3d57fc4fc588139ff6ded35
2017-02-13 10:26:17 +11:00
Christopher N. Hesse
caece2d972 ril: Fix unsol response array mapping
* Instead of messing around with indices, look up
   the requestNumber in the array.
 * This has a cost of O(N) instead of O(1) with the
   previous implementation, but we don't receive unsol
   response codes frequently enough to be worried about
   this.
 * This was needed because a few vendor reponses, aka
   RIL_UNSOL_SNDMGR_WB_AMR_REPORT at index 33 and
   RIL_UNSOL_SNDMGR_CLOCK_CTRL at index 34
   could not be addressed by their array indices anymore
   because we cannot calculate their index by the unsol
   response code we receive from the modem.

Change-Id: I27319e621c777fe19ae8908d7e0c4a46d6dd6d3b
2017-02-12 12:12:17 +00:00
Christopher N. Hesse
650848675d ril: Align to AOSP libril
* Adjusted whitespace to minimize diffs
 * Plugged memory leaks
 * Fix use-after-free
 * Use calloc instead of alloca
 * Reworked the Samsung request/response code to be
   more readable

Change-Id: Ifd07b525fc84e8a3fca584d4d412785974ca3482
2017-02-09 11:12:02 +00:00
Andreas Schneider
0130b88891 libril: Use RLOG
Change-Id: I6b7ed9fc11b03669c3cb4405c25509c6b00401e3
2017-02-06 18:18:49 +01:00
Kyle Repinski
5a2cc4eed5 Fix RIL_CardStatus_v5 Parceling.
The difference between a v5 and v6 CardStatus response is the addition
of ims_subscription_app_index. In previous releases libril added a -1
to the Parcel in its place for transparent handling of GET_SIM_STATUS
everywhere else regardless of v5 or v6 responses, but it was erroneously
removed in change I4e53c6125995064b8ac0cdfc9376ef2cefe69ec8

Change-Id: I078b61d2f6dc28f738e8eb87f51193fa0bd94c7d
2016-10-24 01:44:16 -07:00
Sukanya Rajkhowa
70ecc09feb Add support for cdma dynamic address length.
Get the address,sub address,Bearer with dynamic length in the data parcel,
to avoid the OutOfBoundsException with the MAX macro.

BUG=26856156

Change-Id: I1d7437143c1369d77791136b68e06088acd72937
2016-10-24 01:43:13 -07:00
Sanket Padawe
6daeeef766 Fix build failure which occurs after setting macro RILC_LOG.
Bug: 29214796
Change-Id: I5f74981a59344078f900ecf769cc962b1416d5fd
2016-10-12 13:01:23 -07:00
Sooraj Sasindran
cfef9bd422 RIL: release unsol wakelock
Make sure to release unsol wakelock

BUG=28635279
Change-Id: I4bdf0e7b35df4e6aa077b062ab359c6938ce8292
2016-10-12 13:01:10 -07:00
Ajay Nambi
0af7d1c98c Ril Error codes: Voice related messages
This change adds new error codes for messages
related to voice

Bug: 27038563
Change-Id: I61bcc853f8046e6baf6c8000029f7af0f3f894f0
2016-10-12 13:00:58 -07:00
Ajay Nambi
6965975b2a New error codes for SMS/other messages
This gerrit adds error codes for messages related
to SMS and set_mute, get_mute requests

Bug: 27038563
Change-Id: I4991e4a38c81501c39e91cfd5df90d8288f542ad
2016-10-12 13:00:43 -07:00
twen.chang
7dd377ce80 Add RIL Error code list
BUG: 27589497

Change-Id: I9cc8c12364676c3c56dbee57fdc01cf055460816
2016-10-12 13:00:31 -07:00
Sanket Padawe
487784599d Enable integer sanitization in libril.
Bug: 27486276
Change-Id: I5d440099120567f1ecedb898039b5627346c7089
2016-10-12 13:00:17 -07:00
Sanket Padawe
df3dabe4f6 Fixing security vulnerabilities in ril.cpp
Bug: 26522805
Change-Id: I8fa19a202b3ebe13dc617b417218b4f40fa8a702
2016-10-12 13:00:04 -07:00
Sanket Padawe
db5d1e07ad Add OEM specific error code space which can by used to
replace Generic errors.

Bug: 27038563
Change-Id: I4052505ed684067cb9145d165f0e335ad52ed404
2016-10-12 12:59:53 -07:00
Sanket Padawe
6049dec1db Convert newly added error code to string values in ril.cpp.
Bug: 23216719
Change-Id: Ie2202124cb460872a9f5c406e8f1ae94465d9d0b
2016-10-12 12:59:39 -07:00
Sanket Padawe
9f97208a88 Use different response type for unsolicited mesg requiring
wakelock.

+ New type is added as ack from RIL java should be sent only for unsolicited mesgs
which hold wakelock in ril.cpp.

Bug: 22127517

Change-Id: Ib7e920d168ab92665283f80476bad3f5ede033e4
2016-10-12 12:59:28 -07:00
Sanket Padawe
a7c043d6f0 Improve wakelock symantics in RIL.
Bug: 22127517
Change-Id: I13fce25c8c6b27987e576b29a2ca5cd813f5b06f
2016-10-12 12:56:50 -07:00
Sanket Padawe
a79128ab25 Added fields to CELL_INFO_LIST.
Gsm: ta, arfcn, bsic
Wcdma: uarfcn
Lte: earfcn

Bug: 23528586
Change-Id: Iaf7bfaac96bda92d980c566878b9fe481a6d2c21
2016-10-12 12:56:38 -07:00
Sanket Padawe
201aca3682 Use SimRefreshResponse struct in RIL Versions greater than 7
Modify condition to use SimRefreshResponse struct in
all RIL Versions greater than 7.

BUG=21075857

Change-Id: Ifde00434bfcaecf3b4c32392fc4964fe3b43f6b5
2016-10-12 12:56:19 -07:00
Ajay Nambi
e63b4f6986 Add WRITE_SMS_TO_SIM and UNSOL_SUPP_SVC_NOTIFICATION
Add WRITE_SMS_TO_SIM and UNSOL_SUPP_SVC_NOTIFICATION in
requestToString method.

Change-Id: I323f276d4048b168b27669a0aebb58cd9decf9bd
2016-10-12 12:56:03 -07:00
Sanket Padawe
9343e87d59 Improve RIL versioning.
+ Added documentation for new RIL versioning format.
+ Changes associated to new RIl versioning format.

Bug: 25779475
Change-Id: I4e53c6125995064b8ac0cdfc9376ef2cefe69ec8
2016-10-12 12:54:36 -07:00
Dheeraj CVR
48d3f723a5 libril: revert network operator string handling
* These workarounds were introduced before http://review.cyanogenmod.org/#/c/159520/
  and are no longer needed because the framework now has dynamic QAN element support.
  Setting the ro.ril.telephony.mqanelements to a proper value should fix the operator
  search on all the devices and these workarounds are no longer required.

* http://review.cyanogenmod.org/#/c/100398/ discards every 5th QAN element which breaks
  devices with libsec-ril that returns more than 5 QAN elements. zeroflte and noblelte
  return 6 QAN elements and the 5th element was being discarded instead of 6th.

* The code assumes 5 QAN elements per operator which doesn't hold true for all devices.

* In case of devices with 6 QAN elements, the size of the string array was a multiple
  of 6, but since we are discarding the 5th element, the contents of the string pertaining
  to each operator is a multiple of 5 following by trailing null strings in the array,
  which caused issues in the framework while trying to read the strings, since we are
  expecting 6 strings per operator and with a discarded string, we only receive 5.

Thanks to Javi Ferrer for diagnosing the issue on zeroflte

Change-Id: I2e99291f3438998a253755a19a063d15a19d63e0
2016-10-12 12:54:15 -07:00
Colin Cross
b9e88c8b54 Properly export ril_ex.h
Copying headers makes fixing compile errors hard, and breaks dependency
restrictions.  Move ril_ex.h to an exported include directory instead of
copying it.

Bug: 18903857
Change-Id: I4b59a01e442db0d3198def69a5a5ff17b2a41c66
2016-09-12 13:49:06 -07:00
Hyejin
e942c33156 Fix build error with RILC_LOG on
Change-Id: Ib724e6db3c7fb4e46e7d62706cf53cc944faf797
2016-09-12 13:47:25 -07:00
Ajay Nambi
323c882404 Fix for rild crash becasue of buffer overflow
There is a buffer overflow which causing rild crash. For
appendPrintBuf, "sprintf" is replaced with "snprintf" for
the safe copy operation.

Bug:23289936
Change-Id: I25430a5c6f2a8b19a3271235323499b6ee802746
2016-09-11 01:59:53 +02:00
Christopher N. Hesse
022eadd458 libril: Export headers
Change-Id: Ie61d8eb47f19fd825713357a538754f05b89d11a
2016-09-11 01:57:52 +02:00
Christopher N. Hesse
f9e2a71f89 libril: Remove unused include
If someone needs this, it has to be fixed to read
TARGET_OUT_HEADERS (notice the extra 's').
We are only getting away with it right now because M ignores empty
include paths, but N will barf on this.

Change-Id: I7f010398a40ebaf6811a58a121590944445fbcba
2016-07-30 22:07:11 +02:00
Christopher N. Hesse
fb599edb50 ril: Restore alphabetical order for modem barrier
Change-Id: Iae8f7cb6500c16d5b88d8e60d4e7e97ee6539a19
2016-04-15 18:54:31 +02:00
messi2050
06ba105272 libril: add initial support for tss310 modem
- j7elte use tss310

Change-Id: I9bea333de037d4d1c8a9bc2111a3455f56b61c9a
Signed-off-by: messi2050 <mino_forever@yahoo.com>
2016-04-14 22:22:53 +05:30
Andreas Schneider
6d6daf94bc libril: Use a board flag for video call field
xmm7260 on SLTE doesn't have this flag anymore. Devices which need it
should specify the flag.

Change-Id: I166f579274667919756d3bb90e0b182165525975
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
2016-04-11 20:50:51 +02:00
Christopher N. Hesse
5608dcba4c libril: Remove RIL_REQUEST_DIAL_EMERGENCY
This is not part of the standard API, so remove it.
Samsung devices almost always use the RIL_REQUEST_DIAL_EMERGENCY_CALL
hook, so devices should implement that in their specific RIL subclass.

Change-Id: I2cf9eee00a4b5b02e998d8efcbefa87a9ca7b7b4
2016-03-29 09:49:50 -07:00
Andreas Blaesius
d82d1d66d0 ril: fix libril if we don't overwrite the header in our device tree
Change-Id: Ic580b80b28c738828f4c19aeb54421d9f98c7d40
2016-03-29 00:53:08 +02:00
Christopher N. Hesse
c694ff0dac libril: Move vendor commands header
Devices can now override this header in the device tree.

Change-Id: I6e3814342ee22513e556ba92264b0c2651722af3
2016-03-28 13:40:00 -07:00