Sierra EM7455 / Dell dw5811e doesn't awake after hibernations

After reboot it work again.

Some technical info

# uname -a
Linux linux-ebde 4.4.126-48-default #1 SMP Sat Apr 7 05:22:50 UTC 2018 (f24992c) x86_64 x86_64 x86_64 GNU/Linux
# ifconfig
eth0      Link encap:Ethernet  HWaddr 28:F1:0E:45:C6:EF  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:16 Memory:e1200000-e1220000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:72 errors:0 dropped:0 overruns:0 frame:0
          TX packets:72 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:4080 (3.9 Kb)  TX bytes:4080 (3.9 Kb)

ppp0      Link encap:Point-to-Point Protocol  
          inet addr:10.92.79.124  P-t-P:10.64.64.64  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:13069 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12350 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:6720381 (6.4 Mb)  TX bytes:1466194 (1.3 Mb)

wlan0     Link encap:Ethernet  HWaddr E4:A7:A0:6D:62:7B  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

Before hibernation:

# lsmod | grep usb
btusb                  53248  0 
btrtl                  16384  1 btusb
btbcm                  16384  1 btusb
btintel                20480  1 btusb
bluetooth             606208  11 btrtl,btintel,bnep,btbcm,btusb
usbnet                 49152  2 cdc_mbim,cdc_ncm
usb_wwan               20480  1 qcserial
mii                    16384  1 usbnet
usbserial              53248  7 qcserial,usb_wwan
usbhid                 57344  0 
usbcore               286720  12 usbnet,uvcvideo,usbhid,cdc_mbim,qcserial,cdc_ncm,cdc_wdm,usbserial,xhci_pci,btusb,usb_wwan,xhci_hcd

After hibernation:

lsmod | grep usb
btusb                  49152  0 
btrtl                  16384  1 btusb
usbnet                 49152  2 cdc_mbim,cdc_ncm
btbcm                  16384  1 btusb
btintel                16384  1 btusb
mii                    16384  1 usbnet
usb_wwan               20480  1 qcserial
usbserial              53248  2 qcserial,usb_wwan
bluetooth             528384  9 bnep,btbcm,btrtl,btusb,btintel
usbhid                 53248  0 
usbcore               270336  12 btusb,uvcvideo,qcserial,usbserial,usbhid,usbnet,cdc_mbim,usb_wwan,cdc_ncm,cdc_wdm,xhci_hcd,xhci_pci
usb_common             16384  1 usbcore

# lsusb
Bus 002 Device 002: ID 413c:81b6 Dell Computer Corp. 
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 0a5c:5832 Broadcom Corp. 
Bus 001 Device 004: ID 1a2c:2124 China Resource Semico Co., Ltd 
Bus 001 Device 003: ID 0bda:5686 Realtek Semiconductor Corp. 
Bus 001 Device 010: ID 1c4f:0034 SiGma Micro 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

After hibernation device can be 004

Bus 002 Device 004: ID 413c:81b6 Dell Computer Corp.
lsusb -s 002:002 -v 

http://paste.opensuse.org/95948312

Before hibernation:

# dmesg
...
    4.046304] usb 2-5: new SuperSpeed USB device number 2 using xhci_hcd
    4.067476] usb 2-5: config 1 has an invalid interface number: 12 but max is 4
    4.067477] usb 2-5: config 1 has an invalid interface number: 13 but max is 4
    4.067479] usb 2-5: config 1 has an invalid interface number: 13 but max is 4
    4.067480] usb 2-5: config 1 has no interface number 1
    4.067481] usb 2-5: config 1 has no interface number 4
    4.068297] usb 2-5: New USB device found, idVendor=413c, idProduct=81b6
    4.068299] usb 2-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    4.068300] usb 2-5: Product: DW5811e Snapdragon™ X7 LTE
    4.068302] usb 2-5: Manufacturer: Sierra Wireless, Incorporated
    4.068303] usb 2-5: SerialNumber: LF65041885031018
    4.069763] usb 2-5: Enable of device-initiated U1 failed.
    4.070142] usb 2-5: Enable of device-initiated U2 failed.
...
    5.270941] usbcore: registered new interface driver usbserial_generic
    5.270951] usbserial: USB Serial support registered for generic
    5.272828] usbcore: registered new interface driver qcserial
    5.272840] usbserial: USB Serial support registered for Qualcomm USB modem
    5.275136] usb 2-5: Disable of device-initiated U1 failed.
    5.275321] usb 2-5: Disable of device-initiated U2 failed.
    5.276630] usb 2-5: Enable of device-initiated U1 failed.
    5.277035] usb 2-5: Enable of device-initiated U2 failed.
    5.277040] qcserial 2-5:1.0: Qualcomm USB modem converter detected
    5.277128] usb 2-5: Qualcomm USB modem converter now attached to ttyUSB0
    5.277332] usb 2-5: Disable of device-initiated U1 failed.
    5.277502] usb 2-5: Disable of device-initiated U2 failed.
    5.284094] usb 2-5: Enable of device-initiated U1 failed.
    5.285733] input: PC Speaker as /devices/platform/pcspkr/input/input13
    5.285868] usb 2-5: Enable of device-initiated U2 failed.
    5.285873] qcserial 2-5:1.2: Qualcomm USB modem converter detected
    5.286780] usb 2-5: Qualcomm USB modem converter now attached to ttyUSB1
    5.287040] usb 2-5: Disable of device-initiated U1 failed.
    5.287650] usb 2-5: Disable of device-initiated U2 failed.
    5.288691] usb 2-5: Enable of device-initiated U1 failed.
    5.289126] usb 2-5: Enable of device-initiated U2 failed.
    5.289130] qcserial 2-5:1.3: Qualcomm USB modem converter detected
    5.289408] usb 2-5: Qualcomm USB modem converter now attached to ttyUSB2
    5.290594] cfg80211: Loading compiled-in X.509 certificates for regulatory database
    5.291338] usbcore: registered new interface driver cdc_ncm
    5.293203] ACPI: Battery Slot [BAT0] (battery present)
    5.294058] usbcore: registered new interface driver cdc_wdm
    5.295354] usb 2-5: Disable of device-initiated U1 failed.
    5.295524] usb 2-5: Disable of device-initiated U2 failed.
    5.305141] audit: type=1400 audit(1527010077.863:12): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/dovecot/auth" pid=589 comm="apparmor_parser"
    5.305704] i801_smbus 0000:00:1f.4: SPD Write Disable is set
    5.305742] i801_smbus 0000:00:1f.4: SMBus using PCI interrupt
    5.313517] AVX2 version of gcm_enc/dec engaged.
    5.313519] AES CTR mode by8 optimization enabled
    5.316128] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
    5.317054] cdc_mbim 2-5:1.12: cdc-wdm0: USB WDM device
    5.317242] cdc_mbim 2-5:1.12 wwan0: register 'cdc_mbim' at usb-0000:00:14.0-5, CDC MBIM, 72:d4:50:22:50:d8
    5.318080] usb 2-5: Enable of device-initiated U1 failed.
    5.318490] e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
    5.321925] usb 2-5: Enable of device-initiated U2 failed.
    5.321966] usbcore: registered new interface driver cdc_mbim
...
  127.544538] NET: Registered protocol family 17
  128.754193] PPP generic driver version 2.4.2
  128.775904] PPP BSD Compression module registered
  128.777740] PPP Deflate Compression module registered

After hibernation
http://paste.opensuse.org/24361183

Before

# ls /dev/ttyUSB*
/dev/ttyUSB0  /dev/ttyUSB1  /dev/ttyUSB2

After

# ls /dev/ttyUSB*
/dev/ttyUSB1  /dev/ttyUSB3  /dev/ttyUSB4

This may be a reason.

# mmcli -L

Found 1 modems:
        /org/freedesktop/ModemManager1/Modem/0 [Sierra Wireless, Incorporated] EM7455

NetworkManager dies after some time.


linux-ebde:/home/gruz # systemctl status NetworkManager
● NetworkManager.service - Network Manager
   Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: disabled)
   Active: active (running) since ср 2018-05-23 01:11:36 EEST; 2s ago
 Main PID: 16076 (NetworkManager)
    Tasks: 5 (limit: 512)
   CGroup: /system.slice/NetworkManager.service
           ├─ 7871 /sbin/dhclient -d -q -sf /usr/lib/nm-dhcp-helper -pf /var/run/dhclient-wlan0.pid -lf /var/lib/NetworkManager/dhclient-0e7ddddb-b88d-476a-bedc-c7f4e5ebc2b4-wlan0.lease -cf /var/lib/NetworkManage...
           └─16076 /usr/sbin/NetworkManager --no-daemon

тра 23 01:11:36 linux-ebde systemd[1]: Starting Network Manager...
тра 23 01:11:36 linux-ebde systemd[1]: Started Network Manager.
тра 23 01:11:36 linux-ebde NetworkManager[16076]: <warn>  Connection disconnected (reason -3)
тра 23 01:11:36 linux-ebde NetworkManager[16076]: <warn>  (ttyUSB2) failed to enable modem: GDBus.Error:org.freedesktop.ModemManager1.Error.Serial.OpenFailed: Couldn't open ports during modem ena...n forced close
тра 23 01:11:37 linux-ebde dhclient[7871]: send_packet: Network is unreachable
тра 23 01:11:37 linux-ebde dhclient[7871]: send_packet: please consult README file regarding broadcast address.
тра 23 01:11:37 linux-ebde dhclient[7871]: dhclient.c:2432: Failed to send 300 byte long packet over fallback interface.
Hint: Some lines were ellipsized, use -l to show in full.
linux-ebde:/home/gruz # systemctl status NetworkManager
● NetworkManager.service - Network Manager
   Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: disabled)
   Active: failed (Result: start-limit) since ср 2018-05-23 01:11:44 EEST; 6s ago
  Process: 16361 ExecStart=/usr/sbin/NetworkManager --no-daemon (code=dumped, signal=SEGV)
 Main PID: 16361 (code=dumped, signal=SEGV)
    Tasks: 1 (limit: 512)
   CGroup: /system.slice/NetworkManager.service
           └─7871 /sbin/dhclient -d -q -sf /usr/lib/nm-dhcp-helper -pf /var/run/dhclient-wlan0.pid -lf /var/lib/NetworkManager/dhclient-0e7ddddb-b88d-476a-bedc-c7f4e5ebc2b4-wlan0.lease -cf /var/lib/NetworkManager...

тра 23 01:11:44 linux-ebde systemd[1]: NetworkManager.service: Unit entered failed state.
тра 23 01:11:44 linux-ebde systemd[1]: NetworkManager.service: Failed with result 'core-dump'.
тра 23 01:11:44 linux-ebde systemd[1]: NetworkManager.service: Service hold-off time over, scheduling restart.
тра 23 01:11:44 linux-ebde systemd[1]: Stopped Network Manager.
тра 23 01:11:44 linux-ebde systemd[1]: NetworkManager.service: Start request repeated too quickly.
тра 23 01:11:44 linux-ebde systemd[1]: Failed to start Network Manager.
тра 23 01:11:44 linux-ebde systemd[1]: NetworkManager.service: Unit entered failed state.
тра 23 01:11:44 linux-ebde systemd[1]: NetworkManager.service: Failed with result 'start-limit'.
тра 23 01:11:44 linux-ebde systemd-coredump[16358]: Process 16248 (NetworkManager) of user 0 dumped core.
тра 23 01:11:46 linux-ebde systemd-coredump[16521]: Process 16361 (NetworkManager) of user 0 dumped core.


# usb-devices
...
T:  Bus=02 Lev=01 Prnt=01 Port=04 Cnt=01 Dev#=  2 Spd=5000 MxCh= 0
D:  Ver= 3.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs=  1
P:  Vendor=413c ProdID=81b6 Rev=00.06
S:  Manufacturer=Sierra Wireless, Incorporated
S:  Product=DW5811e Snapdragon™ X7 LTE
S:  SerialNumber=LF65041885031018
C:  #Ifs= 5 Cfg#= 1 Atr=a0 MxPwr=504mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=qcserial
/usr/bin/usb-devices: рядок 79: printf: c: неправильне число
I:  If#= 0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim
/usr/bin/usb-devices: рядок 79: printf: d: неправильне число
I:  If#= 0 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
I:  If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=qcserial
I:  If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=qcserial

Any ideas how to wakeup the modem?

A bug report may be warranted here. Is a restart of NetworkManager.service sufficient to get it working again?

How much swap and how much RAM do you have?

I am certainly not a hibernation expert, but it appears you need 2/5th of RAM as a swap size according to the link below to insure a clean hibernation to disk:

https://www.kernel.org/doc/Documentation/power/interface.txt