Reboot Modem on Pinephone in Mobian
#1
I've had my Pinephone for some weeks now, and I'm trying to solve one important nagging issue. 

The Broadband modem will just die and not come back up. I'm suspecting that it may be a weak or absent carrier signal but, I have very little to go on.

I'm not finding any  mmcli commands that would allow me to reboot the modem. 

When this happens, it's as if the device is gone, or has been completely unmounted and mmcli fails as there is no device and my only recourse is to reboot the system.

What would be the best approach to:
  • Discover and remount the device if necessary
  • Cycle the modem on if not active
I would like to script this either on a cron, or some subscribable event or signal. That may be tough as it seems like the modem goes down when Mobian suspends. Any help / advice would be much appreciated! 

Here is the modem when it is actually healthy

Code:
  -----------------------------------
  General  |               dbus path: /org/freedesktop/ModemManager1/Modem/2
           |               device id: 1234567
  -----------------------------------
  Hardware |            manufacturer: QUALCOMM INCORPORATED
           |                   model: QUECTEL Mobile Broadband Module
           |       firmware revision: EG25GGBR07A08M2G
           |          carrier config: Commercial-TMO_VoLTE
           | carrier config revision: xxxxxxx
           |            h/w revision: 10000
           |               supported: gsm-umts, lte
           |                 current: gsm-umts, lte
           |            equipment id: 867698047214237

The index seems to increase when waking up from suspend (Modem/0 -> Modem/1 -> Modem/2)

Thank your for looking into this, my first Pine64 post!
  Reply
#2
There's probably a better way, but you can monitor if /dev/ttyUSB0..3 exists. Those 4 serial ports disappear when the modem disconnects. Then restarting eg25-manager will bring the modem back up. It takes 30+ seconds to boot up before the serial ports will return. You can see what is happening in dmesg.

This is a simple bash script that I used. It has to run as root. It is an endless loop. You could take out the loop and the delays and run it with cron, as root. Or run it as a service.

Code:
#!/bin/bash
FILE=/dev/ttyUSB2

while :
do
if test -c "$FILE"; then
  sleep 5
else
  systemctl restart eg25-manager
  sleep 60
fi
done
  Reply
#3
(06-04-2021, 11:03 AM)8bit Wrote: There's probably a better way, but you can monitor if /dev/ttyUSB0..3 exists. Those 4 serial ports disappear when the modem disconnects. Then restarting eg25-manager will bring the modem back up. It takes 30+ seconds to boot up before the serial ports will return. You can see what is happening in dmesg.

This is a simple bash script that I used. It has to run as root. It is an endless loop. You could take out the loop and the delays and run it with cron, as root. Or run it as a service.

Code:
#!/bin/bash
FILE=/dev/ttyUSB2

while :
do
if test -c "$FILE"; then
  sleep 5
else
  systemctl restart eg25-manager
  sleep 60
fi
done

This looks promising. Thanks for the script! I'll give it a whirl and let you know how it turns out.
  Reply
#4
(06-04-2021, 11:03 AM)8bit Wrote: There's probably a better way, but you can monitor if /dev/ttyUSB0..3 exists. Those 4 serial ports disappear when the modem disconnects. Then restarting eg25-manager will bring the modem back up. It takes 30+ seconds to boot up before the serial ports will return. You can see what is happening in dmesg.

This is a simple bash script that I used. It has to run as root. It is an endless loop. You could take out the loop and the delays and run it with cron, as root. Or run it as a service.

Code:
#!/bin/bash
FILE=/dev/ttyUSB2

while :
do
if test -c "$FILE"; then
  sleep 5
else
  systemctl restart eg25-manager
  sleep 60
fi
done


I am having problems with the modem as well. Based on your suggestion I created the following script `/home/mobian/bin/test-and-connect-modem.sh`
that restarts the serial port if the devices are not present.

Code:
#!/bin/bash
FILE=/dev/ttyUSB2

if ! test -c "$FILE"; then
  systemctl restart eg25-manager
fi


Then in order to check this regularly I suggest using `cron` jobs as root:
Code:
sudo crontab -e

and set the following rule that executes every minute
Code:
* * * * * /home/mobian/bin/test-and-connect-modem.sh
  Reply
#5
Hello,

For your information, look at the thread "pinephone drops cellular network" in the 'Hardware' part : https://forum.pine64.org/showthread.php?tid=13885 .
  Reply
#6
The systemctl restart eg25-manager restart works like a charm. There was an update where it did seem to stabilize but, I still have to rely on this script. Works great. Meant to go and look at Gribouille's suggestion but my entire phone just bricked.

Mobian won't boot from flash, Manjaro boots but KDE locks the screen after 3 seconds and won't respond to user touch when unlocked. Good times.
  Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  bookworm vs trixie discussion for mobian in pinephone regular. zetabeta 44 11,333 02-13-2025, 01:47 PM
Last Post: anonymous
  mobian phosh on screen keyboard not popping up for Chromium/Electron apps grump_fiddle_reinstall 1 258 01-15-2025, 08:08 PM
Last Post: Kevin Kofler
  How to use QR codes on Mobian Sid(unstable) Pinephone Pro biketool 1 285 01-02-2025, 12:47 PM
Last Post: zetabeta
  Upgrade to Mobian (Trixie) Staging biketool 13 1,366 12-29-2024, 10:35 AM
Last Post: biketool
  Pinephone seems tobe using 4G data instead of Wifi data grump_fiddle_reinstall 6 1,406 12-29-2024, 10:17 AM
Last Post: puffchumpy
  Mobian Bulleyes aberrio 0 299 12-16-2024, 08:27 AM
Last Post: aberrio
  Mobian, Suspend, and Audio Playback biketool 0 347 12-11-2024, 12:56 AM
Last Post: biketool
  how to update mobian over tor vusra 14 10,202 12-04-2024, 07:01 PM
Last Post: vusra
  Modem wakes for incoming call, but too slow to answer the call dchang0 8 768 12-01-2024, 07:54 PM
Last Post: dchang0
  atinout binaries for mobian/debian? NeutralGrey 4 1,851 10-31-2024, 04:16 AM
Last Post: astylethargic

Forum Jump:


Users browsing this thread: 3 Guest(s)