Giacinto Cifelli
9198aee108
doc: fix typo in doc/emergency-call-handling.txt
2018-09-20 10:18:16 -05:00
Anirudh Gargi
f2ebcf35d7
udev:fix seg fault in case of vid and pid is NULL
...
In some case linux report 'driver' as valid yet vid and pid as NULL.
Adding NULL check to prevent seg fault.
Log:
ofonod[23829]: plugins/udevng.c:udev_start()
ofonod[23829]: plugins/udevng.c:enumerate_devices()
ofonod[23829]: plugins/udevng.c:check_usb_device() hub [1d6b:0002]
ofonod[23829]: plugins/udevng.c:check_usb_device() usb [1d6b:0002]
ofonod[23829]: plugins/udevng.c:check_usb_device() usbhid [03f0:034a]
ofonod[23829]: plugins/udevng.c:check_usb_device() usbhid [03f0:034a]
ofonod[23829]: plugins/udevng.c:check_usb_device() usb [1d6b:0002]
ofonod[23829]: plugins/udevng.c:check_usb_device() cdc_acm [(null):(null)]
ofonod[23829]: Aborting (signal 11) [./src/ofonod]
2018-09-10 11:04:11 -05:00
Christophe Ronco
157d188587
qmimodem: fix roaming status report
...
Problem seen with a MC7304 modem and a roaming SIM card.
Status in org.ofono.NetworkRegistration properties ends up in "registered"
instead of roaming. Both AT command and qmicli indicates we are roaming.
What's happening is the following:
1) first QMI_NAS_SS_INFO_IND indicating we are registered contains a
QMI_NAS_RESULT_ROAMING_STATUS parameter.
Parameter inside says we are roaming and qmimidem driver correctly reports
status NETWORK_REGISTRATION_STATUS_ROAMING.
2) other QMI_NAS_SS_INFO_IND arrive, saying we are registered without
QMI_NAS_RESULT_ROAMING_STATUS parameter.
Driver reports NETWORK_REGISTRATION_STATUS_REGISTERED.
Extract of traces with QMI binary debug interpreted (as far as I can...):
a) first "searching" indication
ofonod[855]: QMI: < 01 3b 00 80 03 01 04 00 00 24 00 2f 00
29 05 00 d0 00 14 00 00 MCC:208 MNC:20
22 05 00 01 02 00 01 00 Detailed Service Status:
QMI_NAS_SERVICE_STATUS_LIMITED,
QMI_NAS_NETWORK_SERVICE_DOMAIN_PS, ...
15 03 00 01 08 01 LTE, no roaming
12 05 00 d0 00 14 00 00 Current PLMN: MCC:208 MNC:20, no desc
11 01 00 00
10 01 00 01 No roaming
01 06 00 02 02 02 02 01 08 NAS_REGISTRATION_STATE_NOT_REGISTERED_SEARCHING,
CS detached, PS detached, NETWORK_TYPE_3GPP,
QMI_NAS_RADIO_INTERFACE_LTE
ofonod[855]: QMI: NAS_ind msg=36 len=47 [client=1,type=4,tid=0,len=59]
ofonod[855]: QMI: {type=41,len=5} {type=34,len=5} {type=21,len=3}
{type=18,len=5}
ofonod[855]: QMI: {type=17,len=1} {type=16,len=1} {type=1,len=6}
ofonod[855]: ofono_netreg_status_notify modem /sierra_0 status 2 lac -1
cellid -1 tech 7
b) second "searching" indication
ofonod[855]: QMI: < 01 21 00 80 03 01 04 00 00 24 00 15 00
22 05 00 03 03 00 01 00 Detailed Service Status:
QMI_NAS_SERVICE_STATUS_LIMITED_REGIONAL, CS_PS, ...
11 01 00 00
01 06 00 02 02 02 02 01 08 NAS_REGISTRATION_STATE_NOT_REGISTERED_SEARCHING,
CS detached, PS detached, NETWORK_TYPE_3GPP,
QMI_NAS_RADIO_INTERFACE_LTE
ofonod[855]: QMI: NAS_ind msg=36 len=21 [client=1,type=4,tid=0,len=33]
ofonod[855]: QMI: {type=34,len=5} {type=17,len=1} {type=1,len=6}
c) First indication while "registered"
ofonod[855]: QMI: < 01 5e 00 80 03 01 04 00 00 24 00 52 00
2a 01 00 00
29 05 00 d0 00 14 00 00 MCC:208 MNC:20
28 02 00 15 01 UMTS Primary Scrambling Code
26 08 00 03 00 00 00 03 00 00 00 CS: all calls allowed,
PS: all calls allowed
22 05 00 02 03 00 01 00 Detailed Service Status:
QMI_NAS_SERVICE_STATUS_AVAILABLE, CS_PS, ...
1e 04 00 f7 00 95 04 CID 3GPP
1d 02 00 fb 50 LAC 3GPP
15 03 00 01 05 00 UMTS: roaming
12 05 00 d0 00 14 00 00 Current PLMN: MCC:208 MNC:20, no desc
11 04 00 03 03 04 05
10 01 00 00 ROAMING ON
01 06 00 01 01 01 02 01 05 NAS_REGISTRATION_STATE_REGISTERED, CS attached,
PS attached, NETWORK_TYPE_3GPP,
QMI_NAS_RADIO_INTERFACE_UMTS
ofonod[855]: QMI: NAS_ind msg=36 len=82 [client=1,type=4,tid=0,len=94]
ofonod[855]: QMI: {type=42,len=1} {type=41,len=5} {type=40,len=2}
{type=38,len=8}
ofonod[855]: QMI: {type=34,len=5} {type=30,len=4} {type=29,len=2}
{type=21,len=3}
ofonod[855]: QMI: {type=18,len=5} {type=17,len=4} {type=16,len=1}
{type=1,len=6}
ofonod[855]: ofono_gprs_status_notify modem /sierra_0 status 1
==================> ROAMING status reported <==========================
ofonod[855]: ofono_netreg_status_notify modem /sierra_0 status 5 lac 20731
cellid 76873975 tech 2
d) second indication while "registered"
ofonod[855]: QMI: < 01 31 00 80 03 01 04 00 00 24 00 25 00
29 05 00 d0 00 14 00 00 MCC:208 MNC:20
28 02 00 15 01 UMTS Primary Scrambling Code
12 05 00 d0 00 14 00 00 Current PLMN: MCC:208 MNC:20, no desc
11 04 00 03 03 04 05
01 06 00 01 01 01 02 01 05 NAS_REGISTRATION_STATE_REGISTERED, CS attached,
PS attached, NETWORK_TYPE_3GPP,
QMI_NAS_RADIO_INTERFACE_UMTS
ofonod[855]: QMI: NAS_ind msg=36 len=37 [client=1,type=4,tid=0,len=49]
ofonod[855]: QMI: {type=41,len=5} {type=40,len=2} {type=18,len=5}
{type=17,len=4}
ofonod[855]: QMI: {type=1,len=6}
==================> ROAMING information lost <==========================
ofonod[855]: ofono_netreg_status_notify modem /sierra_0 status 1 lac -1
cellid -1 tech 2
I can't tell if not having the ROAMING_STATUS parameter in all indication
is something happening only on MC7304 or if it happens on all "QMI" modems.
I have also seen (on MC7430, with a roaming SIM card):
- first notification indicating status
QMI_NAS_REGISTRATION_STATE_SEARCHING and roaming ON
- following notifications indicating status
QMI_NAS_REGISTRATION_STATE_REGISTERED and no roaming notification
So we must handle roaming information even when not registered.
2018-09-07 11:33:56 -05:00
Denis Kenzior
ee6aac1cd3
AUTHORS: Mention Julien's contributions
2018-08-29 16:11:34 -05:00
Julien Tournier
925006f49d
atmodem: Handle cinterion modems compliant with 27.005
2018-08-29 16:10:29 -05:00
Martin Hundebøll
8b63185929
atmodem: add Quectel M95 special case for PIN query
...
The AT command reference for Quectel M95 specifies that remaining SIM
pin retires can be queried using AT+QTRPIN, which responds with one
count for each pin-type:
+QTRPIN: 3,3,10,10
After entering the PIN code, enable an extra AT+CPIN? for the M95
vendor.
2018-08-28 14:09:45 -05:00
Denis Kenzior
2c5209c82a
AUTHORS: Mention Martin's contributions
2018-08-24 11:27:25 -05:00
Martin Hundebøll
92a80db13f
udevng: fix removal of serial devices
...
Since the merge of udev.c into udevng.c all cleanup function must handle
both usb devices and serial devices. Add this distinction to
check_remove(), so that is doesn't try to iterate the .serial member as
if it were a .devices list.
2018-08-24 11:26:42 -05:00
Giacinto Cifelli
f9cde76095
ublox: Add voicecall support
2018-08-09 11:48:40 -05:00
Christophe Ronco
ef3ebe5840
huawei: use VENDOR_HUAWEI quirk on gprs context creation
2018-07-25 14:11:58 -05:00
Christophe Ronco
527e6b1f86
atmodem: Add gprs-context quirk for HUAWEI vendor
...
When ofono dies while connected using PPP, modem AT channel is not put
back to command mode (tested with HUAWEI modems E3372 and MS2372).
If ofono is restarted, it won't be able to connect as it gets no answer
to AT commands on this AT channel.
This patch adds a quirk to immediately send escape sequence on modem
channel when gprs-context atom is removed.
2018-07-25 14:11:45 -05:00
Slava Monich
376af6c85c
plugin: Don't unload external plugins too early
...
Plugins may reference data structures allocated by each other.
They all need to be deinitialized first, only then it should be
safe to unload the libraries.
2018-07-23 19:57:56 -05:00
Slava Monich
3c10ae7fb3
modem: Implement ofono_modem_get_voicecall
2018-07-02 10:34:25 -05:00
Slava Monich
94e3275d9c
include: Add ofono_modem_get_voicecall
2018-07-02 10:34:25 -05:00
Slava Monich
0caaf32117
dbus: Add D-Bus mapping for OFONO_ERROR_TYPE_ERRNO
2018-06-28 11:35:10 -05:00
Slava Monich
c87e6c20a4
emulator: Handle OFONO_ERROR_TYPE_ERRNO in switch
2018-06-28 11:35:10 -05:00
Slava Monich
7af423dbb7
include: Add OFONO_ERROR_TYPE_ERRNO
2018-06-28 11:35:10 -05:00
Slava Monich
c35fb6b1a3
dbus: Make cme_errors_mapping static const
2018-06-28 10:52:39 -05:00
Slava Monich
c292d771b7
voicecall: Implement ofono_voicecall_get_modem
2018-06-25 10:26:26 -05:00
Slava Monich
1cff977b67
include: Add ofono_voicecall_get_modem
2018-06-25 10:26:20 -05:00
Denis Kenzior
08796aa391
udevng: Fix SIM900 detection
2018-06-19 12:37:15 -05:00
Denis Kenzior
d0ab273615
mbim: Remove useless debug
2018-06-19 12:37:15 -05:00
Marcel Holtmann
2c3668f87d
Release 1.24
2018-06-14 23:20:40 +02:00
Marcel Holtmann
4cd1608320
gatchat: Use pragma to mask unknown pragma diagnostic options
...
gatchat/gatmux.c:33:32: error: unknown option after ‘#pragma GCC diagnostic’ kind [-Werror=pragmas]
#pragma GCC diagnostic ignored "-Wcast-function-type"
^~~~~~~~~~~~~~~~~~~~~~
2018-06-14 21:47:41 +02:00
Marcel Holtmann
77398ff772
rilmodem: Use pragma to mask restrict buffer warnings
...
In file included from drivers/rilmodem/network-registration.c:40:
drivers/rilmodem/network-registration.c: In function ‘ril_cops_list_cb’:
./gril/gril.h:98:11: error: passing argument 1 to restrict-qualified parameter aliases with argument 3 [-Werror=restrict]
sprintf(print_buf, x); \
^~~~~~~~~
drivers/rilmodem/network-registration.c:583:3: note: in expansion of macro ‘g_ril_append_print_buf’
g_ril_append_print_buf(nd->ril, "%s [lalpha=%s, salpha=%s, "
^~~~~~~~~~~~~~~~~~~~~~
./gril/gril.h:98:11: error: passing argument 1 to restrict-qualified parameter aliases with argument 3 [-Werror=restrict]
sprintf(print_buf, x); \
^~~~~~~~~
drivers/rilmodem/network-registration.c:593:2: note: in expansion of macro ‘g_ril_append_print_buf’
g_ril_append_print_buf(nd->ril, "%s}", print_buf);
^~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/rilmodem/call-forwarding.c:41:
drivers/rilmodem/call-forwarding.c: In function ‘ril_query_call_fwd_cb’:
./gril/gril.h:98:11: error: passing argument 1 to restrict-qualified parameter aliases with argument 3 [-Werror=restrict]
sprintf(print_buf, x); \
^~~~~~~~~
drivers/rilmodem/call-forwarding.c:114:3: note: in expansion of macro ‘g_ril_append_print_buf’
g_ril_append_print_buf(fd->ril, "%s [%d,%d,%d,%s,%d]",
^~~~~~~~~~~~~~~~~~~~~~
./gril/gril.h:98:11: error: passing argument 1 to restrict-qualified parameter aliases with argument 3 [-Werror=restrict]
sprintf(print_buf, x); \
^~~~~~~~~
drivers/rilmodem/call-forwarding.c:124:2: note: in expansion of macro ‘g_ril_append_print_buf’
g_ril_append_print_buf(fd->ril, "%s}", print_buf);
^~~~~~~~~~~~~~~~~~~~~~
2018-06-14 15:19:16 +02:00
Marcel Holtmann
07fc4a8506
gatchat: Use pragma to mask GFunc casting warning
...
gatchat/gatmux.c: In function ‘watch_dispatch’:
gatchat/gatmux.c:454:17: error: cast between incompatible function types from ‘GSourceFunc’ {aka ‘int (*)(void *)’} to ‘gboolean (*)(GIOChannel *, GIOCondition, void *)’ {aka ‘int (*)(struct _GIOChannel *, enum <anonymous>, void *)’} [-Werror=cast-function-type]
GIOFunc func = (GIOFunc) callback;
^
2018-06-14 15:19:16 +02:00
Antara Borwankar
1fe34da0af
atmodem: Support ETWS & CMAS on XMM series modems
2018-06-13 11:58:45 -05:00
Denis Kenzior
d715486525
sim: Fix not updating sim pin state
...
In case we try to enter the PIN/PUK and fail to enter a correct code,
the PIN/PUK retries are not rechecked as they should be.
Reported by: Florent Beillonnet <florent.beillonnet@gmail.com>
2018-06-05 12:56:05 -05:00
Slava Monich
ecc3f1bf73
ussd: Cancel pending requests when unregistering
...
And reset state to idle before unregistering the D-Bus interface.
This may occur e.g. when we receive REFRESH from STK.
2018-05-23 10:23:25 -05:00
Denis Kenzior
ff85d63149
AUTHORS: Mention Florent's contributions
2018-05-23 09:04:09 -05:00
Florent Beillonnet
46896014ee
atmodem: Fix at_pin_send_puk userdata use
...
It seems that the function at_pin_send_puk should have been changed
along with at_pin_send, because it's also refering to the
at_pin_send_cb callback
See this commit : ba9f126716
2018-05-23 09:02:16 -05:00
Denis Kenzior
b42bc11d85
gemalto: Whitespace fixes
2018-05-23 09:02:08 -05:00
Denis Kenzior
495ff1ff45
AUTHORS: Mention Varun's contributions
2018-05-23 08:56:17 -05:00
Varun Gargi
0ee376ccab
udevng: remove vendor ID to make it generic for intel modem
2018-05-23 08:55:39 -05:00
James Prestwood
34ff57e083
plugins: fixed crash in udevng
...
The return value from ofono_modem_register was not being checked. If this fails
the modem object is not setup and causes a crash. This was specifically seen
when using the mbim driver without having configured with mbim support.
Now the modem object gets destroyed properly if the modem registration fails.
2018-05-22 15:39:42 -05:00
Bob Ham
1a8960564e
sim7100: Specify vendor ID while creating voicecall driver
...
This enables the atmodem voicecall driver to handle SIMCom quirks like
not setting AT+COLP=1.
2018-05-14 11:11:18 -05:00
Bob Ham
1ebae47777
atmodem: Don't set AT+COLP=1 on SIMCom modems
...
On the SIMCom SIM7100E, setting AT+COLP=1 causes there to be no
response at all from "ATD...;" commands until the call is answered.
The results in oFono stalling rather than creating a new VoiceCall
object.
We fix this by adding SIMCOM to the list of vendors for whom we set
AT+COLP=0 rather than AT+COLP=1.
2018-05-14 11:11:14 -05:00
James Prestwood
19e8d21a7e
simutil: fix bug when parsing AID type
2018-05-03 17:43:31 -05:00
Denis Kenzior
37fd1a631d
AUTHORS: Mention Bob's contributions
2018-04-30 11:18:06 -05:00
Bob Ham
1d63b1d35f
plugins: Add support for SIM7100E by SIMCom
...
Add support for the SIM7100E modem. We add a new "sim7100" plugin
because there's no other AT-based modem that has support for both GPRS
and voice calls.
2018-04-30 11:17:47 -05:00
Slava Monich
3cb55b65cb
modem: Implement ofono_modem_get_gprs
2018-04-27 11:13:23 -05:00
Slava Monich
fa670ad295
include: Add ofono_modem_get_gprs
2018-04-27 11:13:19 -05:00
Denis Kenzior
3a1b47aafb
unit: Fix gcc warning
...
In file included from unit/test-mbim.c:28:0:
unit/test-mbim.c: In function ‘parse_device_caps’:
unit/test-mbim.c:332:9: error: suggest parentheses around assignment used as truth value [-Werror=parentheses]
assert(cellular_class = 1);
2018-04-24 11:51:51 -05:00
Slava Monich
0f171dac45
ussd: Don't ignore data from TERMINATED response
...
Typically responses to USSD requests are coming with status
zero (NOTIFY) but some are coming with status 2 (TERMINATED).
If those contain data, the data should be presented to the user.
2018-04-23 13:49:36 -05:00
Mark van der Putten
ac96c726f2
gemalto: signal sim initialized
...
Modem type PLS8-E, firmware 03.017
2018-04-23 13:46:44 -05:00
Christophe Ronco
beed2aee9e
qmi: report SIM not inserted when unable to get PIN type
2018-04-19 10:29:40 -05:00
Christophe Ronco
8af406a45d
qmi: report failure or retry in case of invalid pin type
...
QMI_UIM_GET_CARD_STATUS is retried in more error cases
when trying to get password type.
In case of failure, driver report an error instead of
OFONO_SIM_PASSWORD_INVALID. This avoids a crash.
2018-04-19 10:27:32 -05:00
Christophe Ronco
bfa0ac979e
qmi: use right slot and application during SIM detection
...
Use right slot and application to get card status, PIN status and PIN
retries. Without this patch, SIMs where selected application and slot
numbers are different are not detected.
2018-04-19 10:24:50 -05:00
Jonas Bonn
88d9b1a32d
qmi: make services always shared
2018-04-04 10:03:13 -05:00
Jonas Bonn
c0527a211c
gobi: Update to the new version_list changes
2018-04-04 09:59:53 -05:00