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 14 1,344 03-14-2024, 10:12 AM
Last Post: Faded
  unofficial kali linux for pinephone help needed pinesmell 5 3,422 01-08-2024, 02:50 PM
Last Post: ERPlegend
  mobian installed to eMMC - how to install tow-boot grump_fiddle_reinstall 6 1,609 11-22-2023, 11:46 AM
Last Post: aLoop100o
  What actions needed to keep on mobian testing user641 3 1,633 09-05-2023, 06:44 AM
Last Post: Zebulon Walton
  Mobian boot failed with zstd message after upgrade. Mahgue 0 569 09-01-2023, 11:29 AM
Last Post: Mahgue
  how to update mobian over tor vusra 13 6,471 07-09-2023, 08:57 PM
Last Post: vusra
  opensnitch outbound firewall now works on mobian vusra 2 1,788 07-09-2023, 01:37 AM
Last Post: vusra
  Using Nativefier on PP64 with Mobian paulcarton 0 568 07-05-2023, 03:57 AM
Last Post: paulcarton
  Has anyone got briar-desktop running on mobian? vusra 5 2,825 06-19-2023, 03:02 PM
Last Post: vusra
  MODEM - Usb problem & couldn't query SIM slots: QMI protocol freelectro 5 2,565 06-06-2023, 06:36 AM
Last Post: freelectro

Forum Jump:


Users browsing this thread: 1 Guest(s)