Using mikroe "LTE IoT Click" aka u-blox SARA-R410M-02B with native serial UART

Aleksander Morgado aleksander at
Wed Mar 24 13:08:36 UTC 2021


> However on the target platform, the modem module is not connected trough USB but trough an ordinary serial UART. And: that serial port is not provided by a serial-usb-adapter, but is a native embedded serial uart, the platform driver is 'atmel_usart_serial'.
> I can open a terminal (picocom) and send AT commands manually over that port (/dev/ttyAT2). That works.

Ok, that's good.

> Now, I started ModemManager (1.16.2) like this (after disabling and stopping it in systemd):

You should not need to use 2MM_FILTER_RULE_TTY_PLATFORM_DRIVER=0

> The log seems to indicate the port itself is recognized and not filtered, at least that's how I read it:
> ModemManager[190]: <debug> [1612137732.891979] [ttyAT2] port contents loaded:
> ModemManager[190]: <debug> [1612137732.896216] [ttyAT2]   bus: platform
> ModemManager[190]: <debug> [1612137732.900846] [ttyAT2]   device: /sys/devices/platform/ahb/ahb:apb/f8024000.serial/
> ModemManager[190]: <debug> [1612137732.905038] [ttyAT2]   driver: atmel_usart_serial
> ModemManager[190]: <debug> [1612137732.909287] [base-manager] adding port ttyAT2 at sysfs path: /sys/devices/platform/ahb/ahb:apb/f8024000.serial/
> ModemManager[190]: <debug> [1612137732.915254] [base-manager] port ttyAT2 is first in device /sys/devices/platform/ahb/ahb:apb/f8024000.serial/
> ModemManager[190]: <debug> [1612137732.921653] [plugin-manager] task 1: new support task for device: /sys/devices/platform/ahb/ahb:apb/f8024000.serial/
> ModemManager[190]: <debug> [1612137732.926594] [plugin-manager] task 1: port grabbed: ttyAT2
> ModemManager[190]: <debug> [1612137732.931223] [plugin-manager] task 1,ttyAT2: new support task for port
> ModemManager[190]: <debug> [1612137732.935370] [plugin-manager] task 1,ttyAT2: deferred until min wait time elapsed
> However later on:
> ModemManager[190]: <debug> [1612137734.427126] [plugin-manager] task 1: min wait time elapsed
> ModemManager[190]: <debug> [1612137734.427829] [filter] (tty/ttyAT2) port filtered: forbidden

Platform TTY ports are never probed automatically, unless they're
explicitly whitelisted with the ID_MM_DEVICE_PROCESS udev tag.

Try to do something like this:

        $ sudo vim /lib/udev/rules.d/78-mm-whitelist-platform-modem.rules
            ACTION!="add|change|move", GOTO="mm_whitelist_platform_modem_end"
        $ sudo udevadm control --reload
        $ sudo udevadm trigger
        $ sudo /usr/sbin/ModemManager --debug


More information about the ModemManager-devel mailing list