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

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


Hey,

>
> 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):
>
>   MM_FILTER_RULE_TTY_PLATFORM_DRIVER=0 MM_FILTER_RULE_NET=0 ModemManager --debug
>

You should not need to use 2MM_FILTER_RULE_TTY_PLATFORM_DRIVER=0
MM_FILTER_RULE_NET=0" at all.

> 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/atmel_usart_serial.1.auto
> 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/atmel_usart_serial.1.auto/tty/ttyAT2
> ModemManager[190]: <debug> [1612137732.915254] [base-manager] port ttyAT2 is first in device /sys/devices/platform/ahb/ahb:apb/f8024000.serial/atmel_usart_serial.1.auto
> ModemManager[190]: <debug> [1612137732.921653] [plugin-manager] task 1: new support task for device: /sys/devices/platform/ahb/ahb:apb/f8024000.serial/atmel_usart_serial.1.auto
> 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"
           DEVPATH=="/devices/platform/ahb/ahb:apb/f8024000.serial/atmel_usart_serial.1.auto/tty/ttyAT2",
ENV{ID_MM_DEVICE_PROCESS}="1"
            LABEL="mm_whitelist_platform_modem_end"
        $ sudo udevadm control --reload
        $ sudo udevadm trigger
        $ sudo /usr/sbin/ModemManager --debug

-- 
Aleksander
https://aleksander.es


More information about the ModemManager-devel mailing list