ModemManager protocol updates

I am working on upstreaming some new features to the ModemManager protocol handler; a preview is at this gist. Just posting here for comments, discussion and review.


  • SIM Slot switching logic (requires qmicli at the moment, but has potential to depend on mmcli only)
  • PIN/PUK unlock and entry support (depends on qmicli)
  • primitive automatic APN selection (this should be refactored to support reading from a user supplied key value store)
  • Checking that the SIM is inserted, otherwise the modem object will be in a failed state
  • working towards comprehensive status info and errors that make it all the way up to the GUI (used by luci-proto-modemmanager)