just a short note about how to workaround a small issue I had with this umts-modem after suspend / resume with debian jessie which is already using systemd.
The main problem is the ModemManager which should automatically detect your modem and forward this information to NetworkManager.
It looks like the kernel-module cdc_acm is creating new device-files during resume (f.e. ttyACM3/4 instead of ttyACM1/2) because ModemManager is still keeping the old file-handles active/open.
To workaround this you may:
* stop ModemManger => close file-handles
* unload cdc_acm => disable kernel-module
* load cdc_acm => enable kernel-module creating ttyACM0-3
* start ModemManager => detects modem and everything is fine.
There is also a small bug in the umts-modem. It will now respond for a while after loading the kernel module, so just add a small „sleep 10“ prior to starting ModemManager.
[ https://bugzilla.suse.com/show_bug.cgi?id=901122 ]
Here my files to automate this with systemd
* /usr/local/sbin/reset-modem.sh
#!/bin/bash
PATH=/sbin:/usr/sbin:/bin:/usr/bin
case $1 in
resume)
modprobe cdc_acm
sleep 10
systemctl start ModemManager
;;
suspend)
systemctl stop ModemManager
modprobe -r cdc_acm
;;
esac
* Add execute-bit
chmod +x /usr/local/sbin/reset-modem.sh
* /etc/systemd/system/mm-sleep.service
[Unit]
Description=ModemManager sleep hook
Before=sleep.target
StopWhenUnneeded=yes
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=-/usr/local/sbin/modem-reset.sh suspend
ExecStop=-/usr/local/sbin/modem-reset.sh resume
[Install]
WantedBy=sleep.target
* Execute
systemctl enable mm-sleep
* Done