HightowerDV
Posts: 3
Joined: Fri Apr 03, 2020 1:51 am

ModemManager shuts down when trying to recognize a UART connected cell modem

Fri Apr 03, 2020 3:53 pm

Hi,

I'm new to the forum so I'm not sure where exactly to post this.

Like the title suggests I'm trying to get ModemManager to recognize a UART connected 4G modem (Nimblelink S7648). My modem works with ppp and I can make a call and bring up and down the interface. I want to use mmcli because I would eventually like to make a 4G hotspot and want to programatically manage this.

I'm stuck right now because ModemManager runs into an error (i.e. Could not acquire the 'org.freedesktop.ModemManager1' service name) and shuts down the service.

Below is the log output when Modemmanager is run with --debug flag

Code: Select all

<info>  ModemManager (version 1.6.4) starting in system bus...
<debug> create MMSleepMonitor singleton (0x1990dc0)
<debug> Bus acquired, creating manager...
<debug> [plugin manager] looking for plugins in '/usr/lib/arm-linux-gnueabihf/ModemManager'
<debug> [plugin manager] loaded plugin 'Nokia'
<debug> [plugin manager] loaded plugin 'Altair LTE'
<debug> [plugin manager] loaded plugin 'AnyDATA'
<debug> [plugin manager] loaded plugin 'X22X'
<debug> [plugin manager] loaded plugin 'Pantech'
<debug> [plugin manager] loaded plugin 'Novatel'
<debug> [plugin manager] loaded plugin 'Option'
<debug> [plugin manager] loaded plugin 'Longcheer'
<debug> [plugin manager] loaded plugin 'ZTE'
<debug> [plugin manager] loaded plugin 'Sierra'
<debug> [plugin manager] loaded plugin 'Nokia (Icera)'
<debug> [plugin manager] loaded plugin 'Iridium'
<debug> [plugin manager] loaded plugin 'Dell'
<debug> [plugin manager] loaded plugin 'MTK'
<debug> [plugin manager] loaded plugin 'Samsung'
<debug> [plugin manager] loaded plugin 'SimTech'
<debug> [plugin manager] loaded plugin 'Thuraya'
<debug> [plugin manager] loaded plugin 'Huawei'
<debug> [plugin manager] loaded plugin 'Cinterion'
<debug> [plugin manager] loaded plugin 'Linktop'
<debug> [plugin manager] loaded plugin 'Motorola'
<debug> [plugin manager] loaded plugin 'Ericsson MBM'
<debug> [plugin manager] loaded plugin 'Sierra (legacy)'
<debug> [plugin manager] loaded plugin 'Novatel LTE'
<debug> [plugin manager] loaded plugin 'Via CBP7'
<debug> [plugin manager] loaded plugin 'Generic'
<debug> [plugin manager] loaded plugin 'Haier'
<debug> [plugin manager] loaded plugin 'Telit'
<debug> [plugin manager] loaded plugin 'Option High-Speed'
<debug> [plugin manager] loaded plugin 'Wavecom'
<debug> [plugin manager] successfully loaded 30 plugins
<warn>  Could not acquire the 'org.freedesktop.ModemManager1' service name
<debug> Stopping connection in object manager server
<info>  ModemManager is shut down

System Details:

Using a RPI Zero W
I'm on Raspbian Stretch i.e. 9

Code: Select all

uname -a
Linux valensRpiZero 4.19.66+ #1253 Thu Aug 15 11:37:30 BST 2019 armv6l GNU/Linux

cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
VERSION_CODENAME=stretch
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
I have confirmed ModemManger is running in systemd

Code: Select all

sudo systemctl status ModemManager
● ModemManager.service - Modem Manager
   Loaded: loaded (/lib/systemd/system/ModemManager.service; enabled; vendor pre
   Active: active (running) since Thu 2020-04-02 18:43:04 MDT; 15h ago
 Main PID: 265 (ModemManager)
   CGroup: /system.slice/ModemManager.service
           └─265 /usr/sbin/ModemManager

Apr 02 18:43:01 valensRpiZero systemd[1]: Starting Modem Manager...
Apr 02 18:43:01 valensRpiZero ModemManager[265]: <info>  ModemManager (version 1
Apr 02 18:43:04 valensRpiZero systemd[1]: Started Modem Manager.
I have googled the error and previously the files for /etc/dbus-1/system.d were not copied over in Raspbian but I have confirmed this also.

Code: Select all

pi@valensRpiZero:/etc/dbus-1/system.d$ ls -l
total 112
-rw-r--r-- 1 root root  1144 Jan 23  2017 avahi-dbus.conf
-rw-r--r-- 1 root root  1630 Oct 20  2017 bluetooth.conf
-rw-r--r-- 1 root root   652 Oct  2  2017 dnsmasq.conf
-rw-r--r-- 1 root root  1375 May 20  2014 Mountall.Server.conf
-rw-r--r-- 1 root root   465 Nov  2  2018 nm-dispatcher.conf
-rw-r--r-- 1 root root  1180 Dec 19  2016 org.freedesktop.DisplayManager.conf
-rw-r--r-- 1 root root   947 Feb 17  2019 org.freedesktop.hostname1.conf
-rw-r--r-- 1 root root   937 Feb 17  2019 org.freedesktop.locale1.conf
-rw-r--r-- 1 root root 12499 Feb 17  2019 org.freedesktop.login1.conf
-rw-r--r-- 1 root root  9662 Nov 16  2016 org.freedesktop.ModemManager1.conf
-rw-r--r-- 1 root root  1604 Feb 17  2019 org.freedesktop.network1.conf
-rw-r--r-- 1 root root  9166 Nov  2  2018 org.freedesktop.NetworkManager.conf
-rw-r--r-- 1 root root  1331 May  4  2018 org.freedesktop.PackageKit.conf
-rw-r--r-- 1 root root   632 Dec  6  2018 org.freedesktop.PolicyKit1.conf
-rw-r--r-- 1 root root   953 Feb 17  2019 org.freedesktop.resolve1.conf
-rw-r--r-- 1 root root 11898 Feb 17  2019 org.freedesktop.systemd1.conf
-rw-r--r-- 1 root root   947 Feb 17  2019 org.freedesktop.timedate1.conf
-rw-r--r-- 1 root root   525 Nov 25  2016 org.freedesktop.UDisks2.conf
-rw-r--r-- 1 root root  1513 Feb 28  2019 wpa_supplicant.conf
Any help is greatly appreciated. I know people have gotten ModemManager working on the Pi and I would like to stick with Stretch as we have some development in progress. I'm not ruling out going to buster if necessary but as a last resort.

Thanks!

HightowerDV
Posts: 3
Joined: Fri Apr 03, 2020 1:51 am

Re: ModemManager shuts down when trying to recognize a UART connected cell modem

Fri Apr 03, 2020 11:18 pm

One of the devs of ModemManager pointed me to https://www.freedesktop.org/wiki/Softwa ... Debugging/
You have to stop the service before you can run it in Debug.

Now however I am stuck with this blocking my path to continuing. Anyone know how to identify and whitelist the port's parent platform driver

Code: Select all

ModemManager[1481]: <debug> [1585955815.860033] [mm-base-manager.c:388] device_added(): (tty/ttyAMA0): port's parent platform driver is not whitelisted

HightowerDV
Posts: 3
Joined: Fri Apr 03, 2020 1:51 am

Re: ModemManager shuts down when trying to recognize a UART connected cell modem

Wed May 20, 2020 9:32 pm

For those interested I had to go to Buster to use updated versions of NetworkManager and ModemManager than what was in Stretch. My next steps involving setting up udev rules for the serial peripheral and the tty port.

First you must locate the realpath for your tty port

$ realpath /sys/class/tty/ttyAMA0
Mine was at /sys/devices/platform/soc/20201000.serial/tty/ttyAMA0

sudo vim /lib/udev/rules.d/78-mm-user.rules
ACTION!="add|change|move", GOTO="mm_user_rules_end"
DEVPATH=="/devices/platform/soc/20201000.serial",ENV{ID_MM_PLATFORM_DRIVER_PROBE}="1"
LABEL="mm_user_rules_end"

sudo vim /lib/udev/rules.d/78-mm-user1.rules
ACTION=="add|change|move", KERNEL=="ttyAMA0", ENV{ID_MM_TTY_FLOW_CONTROL}="none", ENV{ID_MM_TTY_BAUDRATE}="115200", ENV{ID_MM_CANDIDATE}="1", ENV{ID_MM_PLATFORM_DRIVER_PROBE}="1"

Once the rules are created you have to reload the rules
$ sudo udevadm control --reload
$ sudo udevadm trigger

After that I think you can use mmcli -S to scan for modems.

I have left out information but if you google ModemManager 1.6.4 on Raspbian Stretch cannot acquire the 'org.freedesktop.ModemManager1' service name you will find an email on the modem-manager devs mailing list from April 5 2020 outlining more information.

Return to “Advanced users”