Previously, a few operations (like disable) could trigger a modem
flash in parallel with another flash. That's wrong, don't allow
that. At the same time, add in finer-grained error checking on
serial port speed operations, and fix a GSM generic bug that would
send the POWER_UP string on disable.
So many modems just don't implement carrier detect that it makes
the previous 'connected' logic useless, so base it off connect/disconnect
and fix up a few places that didn't check connect status before
trying to send commands. Also ensure the serial port is unlocked
for PPP to use when connected.
ZTE modems need to use udev rules to assign port type hints,
so generalize that and port all the plugins over to suggested
port types in the MMModem interface's grab_port() function.
Implement registration using unsolicited messages for generic GSM class (which
is disabled by default, HSO and Huawei plugins enable it).
Modify all GSM modem subclasses that used unsolicited messages to use the new
method.
* Add IpMethod property with known values ppp (default), static, DHCP.
* Rename DataDevice property to Device.
* Add GetIP4Config method. It should be implemented only when IpMethod==static.
* Update org.freedesktop.ModemManager.Modem.Gsm.Sms interface based on
Pablo Martí Gamboa's suggestions.
* Adjust MBM and HSO interfaces to take advantage of the generic Modem
interface.
Rework the MMCallbackInfo callback invocation.
Always use g_error_literal() where it makes sense.
Replace sleep() calls, with timeouts to not block the whole MM.