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 41 8,354 Yesterday, 10:39 AM
Last Post: fernando_c_m
  Upgrade to Mobian (Trixie) Staging biketool 6 144 Yesterday, 07:36 AM
Last Post: biketool
  atinout binaries for mobian/debian? NeutralGrey 4 1,330 10-31-2024, 04:16 AM
Last Post: astylethargic
  Pinephone seems tobe using 4G data instead of Wifi data grump_fiddle_reinstall 1 807 06-25-2024, 10:38 AM
Last Post: mikehenson
  Mobian-Kicksecure? 3460p 0 817 05-26-2024, 02:09 PM
Last Post: 3460p
  Mobian repository status henrythemouse 16 12,071 04-10-2024, 10:02 AM
Last Post: diederik
  cant verify mobian image at website gnugpg penguins_rule 0 879 03-18-2024, 08:54 PM
Last Post: penguins_rule
  unofficial kali linux for pinephone help needed pinesmell 5 5,030 01-08-2024, 02:50 PM
Last Post: ERPlegend
  mobian installed to eMMC - how to install tow-boot grump_fiddle_reinstall 6 3,919 11-22-2023, 11:46 AM
Last Post: aLoop100o
  What actions needed to keep on mobian testing user641 3 2,580 09-05-2023, 06:44 AM
Last Post: Zebulon Walton

Forum Jump:


Users browsing this thread: 1 Guest(s)