Re: ModemManager randomly uses AT instead of QMI interface on Quectel EG25G

2022-11-07 Thread Aleksander Morgado
Hey

>
> I have a problem where rarely, but randomly ModemManager choosest to make
> the the connection over the AT rather than the QMI interface. A failed one
> looks on the log like:
>
> -snip-
>   ModemManager (version 1.16.10) starting in system bus...
> systemd[1]: Started Modem Manager.
> [/dev/cdc-wdm0] Opening device with flags 'version-info, proxy'...
> [/dev/cdc-wdm0] created endpoint
> cannot connect to proxy: Could not connect: Connection refused
> spawning new qmi-proxy (try 1)...
> cannot connect to proxy: Could not connect: Connection refused
> spawning new qmi-proxy (try 2)...
> [/dev/cdc-wdm0] Checking version info (45 retries)...
> [/dev/cdc-wdm0] QMI Device supports 27 services:
> [/dev/cdc-wdm0]ctl (1.5)
> [/dev/cdc-wdm0]wds (1.67)
> [/dev/cdc-wdm0]dms (1.0)
> [/dev/cdc-wdm0]nas (1.25)
> [/dev/cdc-wdm0]qos (1.12)
> [/dev/cdc-wdm0]wms (1.10)
> [/dev/cdc-wdm0]auth (1.3)
> [/dev/cdc-wdm0]at (1.2)
> [/dev/cdc-wdm0]voice (2.1)
> [/dev/cdc-wdm0]cat2 (2.24)
> [/dev/cdc-wdm0]uim (1.46)
> [/dev/cdc-wdm0]pbm (1.4)
> [/dev/cdc-wdm0]test (1.0)
> [/dev/cdc-wdm0]loc (2.0)
> [/dev/cdc-wdm0]sar (1.0)
> [/dev/cdc-wdm0]csd (1.0)
> [/dev/cdc-wdm0]ts (1.0)
> [/dev/cdc-wdm0]tmd (1.0)
> [/dev/cdc-wdm0]wda (1.16)
> [/dev/cdc-wdm0]csvt (1.1)
> [/dev/cdc-wdm0]coex (1.0)
> [/dev/cdc-wdm0]pdc (1.0)
> [/dev/cdc-wdm0]rfrpe (1.0)
> [/dev/cdc-wdm0]dsd (1.0)
> [/dev/cdc-wdm0]unknown [0x2d] (1.0)
> [/dev/cdc-wdm0]unknown [0x30] (1.0)
> [/dev/cdc-wdm0]unknown [0x36] (1.0)
>   [device HomeModem] creating modem with plugin 'quectel' and '1' ports
>   [base-manager] couldn't create modem for device 'HomeModem': Failed 
> to find a net port in the QMI modem
>   [device HomeModem] creating modem with plugin 'quectel' and '5' ports
> -snip-
>

This happened because the kernel was slow exposing the ports of the
same device. We have some logic to "wait" for new port additions to
happen since the last one we process. In this case we ended up
splitting the ports in two blocks, one with only the QMI port (so no
net port) and the other one with the AT ports and the net port.

> The successful connections instead look like:
>
> -snip-
>   [device HomeModem] creating modem with plugin 'quectel' and '6' ports
>   [base-manager] modem for device 'HomeModem' successfully created
> -snip-
>
> Any hints why this happens and howto prevent it? Due to random nature
> it's hard to catch with debug on.
>

There have been several fixes and updates in that regard recently, I
would suggest upgrading to a newer version like hte latest 1.18.x or
1.20.0

-- 
Aleksander


ModemManager randomly uses AT instead of QMI interface on Quectel EG25G

2022-11-07 Thread Riku Voipio
Hi,

I have a problem where rarely, but randomly ModemManager choosest to make
the the connection over the AT rather than the QMI interface. A failed one
looks on the log like:

-snip-
  ModemManager (version 1.16.10) starting in system bus...
systemd[1]: Started Modem Manager.
[/dev/cdc-wdm0] Opening device with flags 'version-info, proxy'...
[/dev/cdc-wdm0] created endpoint
cannot connect to proxy: Could not connect: Connection refused
spawning new qmi-proxy (try 1)...
cannot connect to proxy: Could not connect: Connection refused
spawning new qmi-proxy (try 2)...
[/dev/cdc-wdm0] Checking version info (45 retries)...
[/dev/cdc-wdm0] QMI Device supports 27 services:
[/dev/cdc-wdm0]ctl (1.5)
[/dev/cdc-wdm0]wds (1.67)
[/dev/cdc-wdm0]dms (1.0)
[/dev/cdc-wdm0]nas (1.25)
[/dev/cdc-wdm0]qos (1.12)
[/dev/cdc-wdm0]wms (1.10)
[/dev/cdc-wdm0]auth (1.3)
[/dev/cdc-wdm0]at (1.2)
[/dev/cdc-wdm0]voice (2.1)
[/dev/cdc-wdm0]cat2 (2.24)
[/dev/cdc-wdm0]uim (1.46)
[/dev/cdc-wdm0]pbm (1.4)
[/dev/cdc-wdm0]test (1.0)
[/dev/cdc-wdm0]loc (2.0)
[/dev/cdc-wdm0]sar (1.0)
[/dev/cdc-wdm0]csd (1.0)
[/dev/cdc-wdm0]ts (1.0)
[/dev/cdc-wdm0]tmd (1.0)
[/dev/cdc-wdm0]wda (1.16)
[/dev/cdc-wdm0]csvt (1.1)
[/dev/cdc-wdm0]coex (1.0)
[/dev/cdc-wdm0]pdc (1.0)
[/dev/cdc-wdm0]rfrpe (1.0)
[/dev/cdc-wdm0]dsd (1.0)
[/dev/cdc-wdm0]unknown [0x2d] (1.0)
[/dev/cdc-wdm0]unknown [0x30] (1.0)
[/dev/cdc-wdm0]unknown [0x36] (1.0)
  [device HomeModem] creating modem with plugin 'quectel' and '1' ports
  [base-manager] couldn't create modem for device 'HomeModem': Failed to 
find a net port in the QMI modem
  [device HomeModem] creating modem with plugin 'quectel' and '5' ports
-snip-

The successful connections instead look like:

-snip-
  [device HomeModem] creating modem with plugin 'quectel' and '6' ports
  [base-manager] modem for device 'HomeModem' successfully created
-snip-

Any hints why this happens and howto prevent it? Due to random nature
it's hard to catch with debug on.

Cheers,
Riku