Skip to content

sim-qmi,libmm-glib: QMI implementation of get/set preferred networks

There are a couple of issues with the set operation in practice now, and I'd like to have some advice how to resolve them:

  1. When setting more networks than supported (usually 8), Sierra MC7455 returns OK and quietly discards the rest; Quectel EG25-G fails with "Internal error".
  2. Both aforementioned modems quietly filter out access technology bits they don't support.

For 1. there's no explicit way to find out the number of supported networks using QMI, AFAIK. An indirect way would be to use UIM Read Transparent operation for the SIM file(s) in question and calculate the capacity based on EF size.

For 2. the supported technologies might be guessed based on modem properties, as in set_preferred_networks() of mm-base-sim.c, and operation rejected if expectedly unsupported bits are present.

Or we need to reload the networks after the set operation in success case - and return error response if the reloaded data does not match the set data (though the SIM configuration has already changed by the operation).

What would be the best approach here?

Edited by Teijo Kinnunen

Merge request reports