Hi,

With qmi modems I am using (quectel EG25, sierra MC7304), sometimes I
don't have CellId and LocationAreaCode properties in netreg properties
while I am registered. Example:

root@klk-wiis-020001:~ # dbus-send --system --type=method_call
--print-reply --dest=org.ofono /quectelqmi_0
org.ofono.NetworkRegistration.GetProperties
method return time=1561022820.781396 sender=:1.8 -> destination=:1.25
serial=96 reply_serial=2
   array [
      dict entry(
         string "Status"
         variant             string "registered"
      )
      dict entry(
         string "Mode"
         variant             string "auto"
      )
      dict entry(
         string "Technology"
         variant             string "lte"
      )
      dict entry(
         string "MobileCountryCode"
         variant             string "208"
      )
      dict entry(
         string "MobileNetworkCode"
         variant             string "10"
      )
      dict entry(
         string "Name"
         variant             string "SFR"
      )
      dict entry(
         string "Strength"
         variant             byte 40
      )
   ]


CellId and LocationAreaCode come from Current serving system info
indication in QMI protocol. These indications contains many parameters
and most of them are optional. What's happening here is:

 - first serving system info indication indicates modem is registered,
gives CellId and LAC

 - another serving system info indication indicates modem is
registered,and give no information on CellId and LAC


When the second indication is processed, ofono_netreg_status_notify is
called with lac and cellid equal to -1. As a consequence, corresponding
NetworkRegistration properties are removed.


Here are traces from ofono when problem occurs:

2019-06-20T09:22:43.709727+00:00 klk-wiis-020001 ofonod[736]: oFono
version 1.24
2019-06-20T09:22:45.683101+00:00 klk-wiis-020001 ofonod[736]:
ofono_sim_register /quectelqmi_0 isPresent:0
2019-06-20T09:22:45.684212+00:00 klk-wiis-020001 ofonod[736]:
sim_inserted_update modem /quectelqmi_0 isPresent:1
2019-06-20T09:22:45.685682+00:00 klk-wiis-020001 ofonod[736]: Interface
org.ofono.AllowedAccessPoints not found on the interface_list
2019-06-20T09:22:45.778324+00:00 klk-wiis-020001 ofonod[736]: Requested
file structure differs from SIM: 6fb7
2019-06-20T09:22:46.258948+00:00 klk-wiis-020001 ofonod[736]:
sim_inserted_update modem /quectelqmi_0 isPresent:0
2019-06-20T09:22:46.260482+00:00 klk-wiis-020001 ofonod[736]: Interface
org.ofono.AllowedAccessPoints not found on the interface_list
2019-06-20T09:22:46.898106+00:00 klk-wiis-020001 ofonod[736]:
sim_inserted_update modem /quectelqmi_0 isPresent:1
2019-06-20T09:22:46.899788+00:00 klk-wiis-020001 ofonod[736]: Interface
org.ofono.AllowedAccessPoints not found on the interface_list
2019-06-20T09:22:47.155130+00:00 klk-wiis-020001 ofonod[736]: Requested
file structure differs from SIM: 6fb7
2019-06-20T09:22:48.626979+00:00 klk-wiis-020001 ofonod[736]: Unable to
read waiting messages numbers from SIM
2019-06-20T09:22:48.818950+00:00 klk-wiis-020001 ofonod[736]: Unable to
read mailbox identifies from SIM
2019-06-20T09:22:48.915000+00:00 klk-wiis-020001 ofonod[736]:
ofono_netreg_status_notify modem /quectelqmi_0 status 2 lac -1 cellid -1
tech -1
2019-06-20T09:22:48.947207+00:00 klk-wiis-020001 ofonod[736]:
ofono_gprs_status_notify modem /quectelqmi_0 status 0
2019-06-20T09:22:49.010982+00:00 klk-wiis-020001 ofonod[736]:
ofono_netreg_status_notify modem /quectelqmi_0 status 2 lac -1 cellid -1
tech 7
2019-06-20T09:22:49.714986+00:00 klk-wiis-020001 ofonod[736]:
ofono_netreg_status_notify modem /quectelqmi_0 status 1 lac 65534 cellid
1076227 tech 7
2019-06-20T09:22:49.717442+00:00 klk-wiis-020001 ofonod[736]: CRO
set_registration_cellid netreg->cellid: -1 ci: 1076227
2019-06-20T09:22:49.721963+00:00 klk-wiis-020001 ofonod[736]:
ofono_gprs_status_notify modem /quectelqmi_0 status 1
2019-06-20T09:22:49.724312+00:00 klk-wiis-020001 ofonod[736]: CRO
network_get_properties netreg->cellid: 1076227
2019-06-20T09:22:49.779005+00:00 klk-wiis-020001 ofonod[736]:
ofono_netreg_status_notify modem /quectelqmi_0 status 1 lac -1 cellid -1
tech 7
2019-06-20T09:22:49.779508+00:00 klk-wiis-020001 ofonod[736]: CRO
set_registration_cellid netreg->cellid: 1076227 ci: -1
2019-06-20T09:26:46.610671+00:00 klk-wiis-020001 ofonod[736]: CRO
network_get_properties netreg->cellid: -1


I see two ways to fix this problem:

1) modify QMI modem driver to remember LAC and CellId inside the driver.
When a notification arrives without CellId or LAC information, use
remembered information. The drawback of this solution is that these
information are remembered twice: in driver and in core.

2) modify core to add a way for drivers to say that these parameters are
not modified. The drawback of this solution is that it is a change in
core (even a change in core interface with drivers)


I assume that solution 1 is better of this problem is for QMI modems
only. I assume that solution 2 is better if some other drivers can have
the same kind of problems.

What do you think? How should I fix this problem? Will a change in
driver/core interface be helpful?


Best Regards,


Christophe Ronco



_______________________________________________
ofono mailing list
ofono@ofono.org
https://lists.ofono.org/mailman/listinfo/ofono

Reply via email to