EM7455 Can not enable, reason unknown, need help.

Hello. I’m having problems with getting EM7455 to work. Using Linux Mint, kernel 4.10, Lenovo.
I’ve seen people having similar problems, but I did not have any luck matching my problem with others, and I need help finding the problem.

Got some info below, but that does not say much. Where else should I look for more detailed failure logs?

Info about modem

$ mmcli -m 0
-------------------------
  Hardware |   manufacturer: 'Sierra'
           |          model: 'MBIM [1199:9079]'
           |       revision: 'SWI9X30C_02.20.03.00'
           |      supported: 'gsm-umts, lte'
           |        current: 'gsm-umts, lte'
           |   equipment id: '014582006024898'
  -------------------------
  System   |         device: '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-6'
           |        drivers: 'cdc_mbim'
           |         plugin: 'Sierra'
           |   primary port: 'cdc-wdm0'
           |          ports: 'wwp0s20f0u6i12 (net), cdc-wdm0 (mbim)'
  -------------------------
  Numbers  |           own : 'unknown'
  -------------------------
  Status   |           lock: 'none'
           | unlock retries: 'sim-pin2 (3)'
           |          state: 'disabled'
           |    power state: 'low'
           |    access tech: 'unknown'
           | signal quality: '0' (cached)
  -------------------------
  Modes    |      supported: 'allowed: 3g, 4g; preferred: none'
           |        current: 'allowed: 3g, 4g; preferred: none'
  -------------------------
  Bands    |      supported: 'unknown'
           |        current: 'unknown'
  -------------------------
  IP       |      supported: 'ipv4, ipv6, ipv4v6'
  -------------------------
  3GPP     |           imei: '***************'
           |  enabled locks: 'fixed-dialing'
           |    operator id: 'unknown'
           |  operator name: 'unknown'
           |   subscription: 'unknown'
           |   registration: 'unknown'
  -------------------------
  SIM      |           path: '/org/freedesktop/ModemManager1/SIM/0'

  -------------------------
  Bearers  |          paths: 'none'

When trying to enable modem

$ mmcli -m 0 -e -v
[Debug] ModemManager process found at ':1.5'
[Debug] Assuming '0' is the modem index
[Debug] Modem found at '/org/freedesktop/ModemManager1/Modem/0'
[Debug] Synchronously enabling modem...
error: couldn't enable the modem: 'GDBus.Error:org.freedesktop.libmbim.Error.Status.Failure: Failure'
$ journalctl -xf
ModemManager[1103]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (disabled -> enabling)
NetworkManager[1169]: <info>  [1517475818.7474] (cdc-wdm0): modem state changed, 'disabled' --> 'enabling' (reason: user-requested)
ModemManager[1103]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (enabling -> disabled)
NetworkManager[1169]: <info>  [1517475818.8210] (cdc-wdm0): modem state changed, 'enabling' --> 'disabled' (reason: unknown)

Thought of the FCC authentication problem, got timeout, when allocating CID.

$ qmicli -v -p -d /dev/cdc-wdm0 --dms-set-fcc-authentication
[Debug] [/dev/cdc-wdm0] Opening device with flags 'proxy'...
[Debug] cannot connect to proxy: Could not connect: Connection refused
[Debug] spawning new qmi-proxy (try 1)...
[Debug] [/dev/cdc-wdm0] Sent message...
<<<<<< RAW:
<<<<<<   length = 28
<<<<<<   data   = 01:1B:00:00:00:00:00:01:00:FF:10:00:01:0D:00:2F:64:65:76:2F:63:64:63:2D:77:64:6D:30

[01 Feb 2018, 11:45:50] [Debug] [/dev/cdc-wdm0] Sent message (translated)...
<<<<<< QMUX:
<<<<<<   length  = 27
<<<<<<   flags   = 0x00
<<<<<<   service = "ctl"
<<<<<<   client  = 0
<<<<<< QMI:
<<<<<<   flags       = "none"
<<<<<<   transaction = 1
<<<<<<   tlv_length  = 16
<<<<<<   message     = "Internal Proxy Open" (0xFF00)
<<<<<< TLV:
<<<<<<   type       = "Device Path" (0x01)
<<<<<<   length     = 13
<<<<<<   value      = 2F:64:65:76:2F:63:64:63:2D:77:64:6D:30
<<<<<<   translated = /dev/cdc-wdm0

[01 Feb 2018, 11:45:50] [Debug] [/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>>   length = 19
>>>>>>   data   = 01:12:00:00:00:00:01:01:00:FF:07:00:02:04:00:00:00:00:00

[01 Feb 2018, 11:45:50] [Debug] [/dev/cdc-wdm0] Received message (translated)...
>>>>>> QMUX:
>>>>>>   length  = 18
>>>>>>   flags   = 0x00
>>>>>>   service = "ctl"
>>>>>>   client  = 0
>>>>>> QMI:
>>>>>>   flags       = "response"
>>>>>>   transaction = 1
>>>>>>   tlv_length  = 7
>>>>>>   message     = "Internal Proxy Open" (0xFF00)
>>>>>> TLV:
>>>>>>   type       = "Result" (0x02)
>>>>>>   length     = 4
>>>>>>   value      = 00:00:00:00
>>>>>>   translated = SUCCESS

[01 Feb 2018, 11:45:50] [Debug] QMI Device at '/dev/cdc-wdm0' ready
[01 Feb 2018, 11:45:50] [Debug] [/dev/cdc-wdm0] Assuming service 'dms' is supported...
[01 Feb 2018, 11:45:50] [Debug] [/dev/cdc-wdm0] Allocating new client ID...
[01 Feb 2018, 11:45:50] [Debug] [/dev/cdc-wdm0] Sent message...
<<<<<< RAW:
<<<<<<   length = 16
<<<<<<   data   = 01:0F:00:00:00:00:00:02:22:00:04:00:01:01:00:02

[01 Feb 2018, 11:45:50] [Debug] [/dev/cdc-wdm0] Sent message (translated)...
<<<<<< QMUX:
<<<<<<   length  = 15
<<<<<<   flags   = 0x00
<<<<<<   service = "ctl"
<<<<<<   client  = 0
<<<<<< QMI:
<<<<<<   flags       = "none"
<<<<<<   transaction = 2
<<<<<<   tlv_length  = 4
<<<<<<   message     = "Allocate CID" (0x0022)
<<<<<< TLV:
<<<<<<   type       = "Service" (0x01)
<<<<<<   length     = 1
<<<<<<   value      = 02
<<<<<<   translated = dms

error: couldn't create client for the 'dms' service: CID allocation failed in the CTL client: Transaction timed out

Solved after few days of work by performing firmware update and updating modemmanager.