This plugin creates modems that use the rilmodem driver by looking at
environment variables: when OFONO_RIL_DEVICE exists it creates a ril
modem of the sub-type specified by the variable. OFONO_RIL_NUM_SIM_SLOTS
specifies the number of SIM slots for multi-SIM modems.
To let others (PulseAudio) be notified when a handsfree device is
connected with us and can be used for audio routing we need to
expose this by registering a audio card with the correct type.
When registering audio cards for the handsfree and gateway roles we
need a way for our users to differentiate between both to decide which
of them they start using for their purpose.
Make sure that maximum number of simultaneous calls is not zero
Some RILs provide NULL string instead of this parameter.
Reported by the community.
See merge request !85
Don't update SPN while slot is being enabled or disabled
To avoid bothering clients with inconsistent states that make
little sense.
See merge request !82
Remove bluez build requirement
There doesn't seem to be any reason for requiring bluez at build time.
Besides since bluez (5) is renamed as bluez5 this won't be compatible
with it.
See merge request !81
SIM write support
If it's done right, quite a few things (those that have to do with
writing stuff to SIM card) should start working.
See merge request !76
The very first call that that every org.ofono.CallForwarding
client makes is GetProperties. With multiple clients, only the
first one was waiting for the completion of the initial query,
all other calls were rejected with org.ofono.Error.InProgress.
In theory, the clients could retry the call later, but in
reality very few clients actually do that.
Query number of retries left with empty pin
This works with some Qualcomm RILs. Those RILs that don't support
it will fail this request with no harm done. In case if it turns
out to be harmful with some RILs, it can be turned off with
emptyPinQuery=false in ril_subscription.conf
See merge request !75
Query available band modes at startup
With some RIL implementations, RIL_REQUEST_QUERY_AVAILABLE_BAND_MODE
causes some magic Android properties to appear. Otherwise it's
harmless and fairly useless.
See merge request !72
This works with some Qualcomm RILs. Those RILs that don't support it
will fail this request with no harm done.
In case if turns out to be harmful with some RILs, it can be turned off
with emptyPinQuery=false in ril_subscription.conf
Implement SC facility lock query
Otherwise `org.ofono.SimManager` `LockedPins` state gets lost after
ofono is restarted. A few cherry-picks from upstream were required.
See merge request !73
Free phonebook state if export hasn't finished
Fixes memory leaks like these:
==21616== 56 (8 direct, 48 indirect) bytes in 1 blocks are definitely lost in loss record 437 of 520
==21616== at 0x483F380: malloc (vg_replace_malloc.c:296)
==21616== by 0x4AEB26F: g_malloc (gmem.c:94)
==21616== by 0x4B010D9: g_slice_alloc (gslice.c:1025)
==21616== by 0x4B01FC7: g_slist_append (gslist.c:213)
==21616== by 0x32553: start_sim_app_read (ril_phonebook.c:860)
==21616== by 0x3276B: pb_reference_data_cb (ril_phonebook.c:903)
==21616== by 0x153EB3: sim_fs_op_error (simfs.c:271)
==21616== by 0x1552BB: sim_fs_op_info_cb (simfs.c:682)
==21616== by 0x3BBA3: ril_sim_file_info_cb (ril_sim.c:358)
==21616== by 0x489F679: grilio_channel_handle_packet (grilio_channel.c:711)
==21616== by 0x489F679: grilio_channel_read (grilio_channel.c:811)
==21616== by 0x489F679: grilio_channel_read_callback (grilio_channel.c:824)
==21616== by 0x4AE621B: g_main_dispatch (gmain.c:3154)
==21616== by 0x4AE621B: g_main_context_dispatch (gmain.c:3769)
==21616== by 0x4AE64C9: g_main_context_iterate.isra.4 (gmain.c:3840)
==21616==
==21616== 366 (28 direct, 338 indirect) bytes in 1 blocks are definitely lost in loss record 503 of 520
==21616== at 0x483F380: malloc (vg_replace_malloc.c:296)
==21616== by 0x4AEB26F: g_malloc (gmem.c:94)
==21616== by 0x4B010D9: g_slice_alloc (gslice.c:1025)
==21616== by 0x4B1076B: g_tree_new_full (gtree.c:217)
==21616== by 0x324CF: start_sim_app_read (ril_phonebook.c:846)
==21616== by 0x3276B: pb_reference_data_cb (ril_phonebook.c:903)
==21616== by 0x153EB3: sim_fs_op_error (simfs.c:271)
==21616== by 0x1552BB: sim_fs_op_info_cb (simfs.c:682)
==21616== by 0x3BBA3: ril_sim_file_info_cb (ril_sim.c:358)
==21616== by 0x489F679: grilio_channel_handle_packet (grilio_channel.c:711)
==21616== by 0x489F679: grilio_channel_read (grilio_channel.c:811)
==21616== by 0x489F679: grilio_channel_read_callback (grilio_channel.c:824)
==21616== by 0x4AE621B: g_main_dispatch (gmain.c:3154)
==21616== by 0x4AE621B: g_main_context_dispatch (gmain.c:3769)
==21616== by 0x4AE64C9: g_main_context_iterate.isra.4 (gmain.c:3840)
Those occur if SIM card is removed before phonebook export is finished
See merge request !74