Sierra Wireless AirPrime EM919X support

Thomas Perrot thomas.perrot at bootlin.com
Wed Aug 11 09:17:26 UTC 2021


Hello Loic,

On Tue, 2021-08-10 at 17:13 +0200, Thomas Perrot wrote:
> Hello Loic,
> 
> On Tue, 2021-08-10 at 11:23 +0200, Loic Poulain wrote:
> > 
> > 
> > On Mon, 9 Aug 2021 at 23:26, Aleksander Morgado <
> > aleksander at aleksander.es> wrote:
> > > Hey Thomas!
> > > 
> > > > I'm trying to use ModemManager with a Sierra Wireless AirPrime
> > > EM919X,
> > > > based on a Snapdragon X55 5G Modem, without success.
> > > > 
> > > > The EM919X is connected to an i.MX6QDL through a MHI bus on top
> > > > of
> > > a
> > > > PCIe gen2 bus.
> > > > 
> > > > I'm using the kernel 5.13.6, modemmanager 1.32.4, libqmi 1.30.0
> > > > and
> > > > libmbim 1.26.0.
> > > 
> > > Wow, that's a MM version from the future! It's 1.16.8 according
> > > to
> > > your logs though ;)
> > > 
> > > > 
> > > > Aug  9 15:32:54 target daemon.info dbus-daemon[435]: [system]
> > > > Activating service name='org.freedesktop.ModemManager1'
> > > > requested
> > > by
> > > > ':1.1' (uid=0 pid=507 comm="/usr/sbin/NetworkManager ") (using
> > > > servicehelper)
> > > > Aug  9 15:32:54 target daemon.info ModemManager[531]: <info>
> > > > ModemManager (version 1.16.8) starting in system bus...
> > > > Aug  9 15:32:55 target daemon.info dbus-daemon[435]: [system]
> > > > Successfully activated service 'org.freedesktop.ModemManager1'
> > > > Aug  9 15:32:55 target daemon.info NetworkManager[507]: <info>
> > > > [1628523175.0109] modem-manager: ModemManager not available
> > > > Aug  9 15:32:55 target daemon.info NetworkManager[507]: <info>
> > > > [1628523175.1141] modem-manager: ModemManager now available
> > > > Aug  9 15:32:56 target daemon.warn ModemManager[531]: <warn>
> > > > [wwan0p1QCDM/qcdm] failed to open serial device
> > > > Aug  9 15:32:56 target daemon.warn ModemManager[531]: <warn> 
> > > [plugin-
> > > > manager] task 0,wwan0p1QCDM: error when checking support with
> > > plugin
> > > > 'generic': (wwan/wwan0p1QCDM) Failed to open QCDM port: Failed
> > > > to
> > > open
> > > > QCDM port: -2
> > > 
> > > Humm, that should not happen, right @Loic Poulain ? It's true
> > > that
> > > it's not a serial device, and I recall some patch avoiding to run
> > > config_fd() on non-serial devices, so it may be related.
> > > 
> > 
> > 
> > Yes, but AFAIR, the patch was for AT (non-serial) ports, we should
> > apply the same kind of change here. I get the same issue on my
> > side,
> > but since qcdm is not really used,  MM just ignore it without
> > further
> > issue.
> > 
> > > 
> > > > Aug  9 15:32:56 target daemon.debug ModemManager[531]:
> > > > [/dev/wwan0p3QMI] Opening device with flags 'version-info,
> > > proxy'...
> > > > Aug  9 15:32:56 target daemon.debug ModemManager[531]:
> > > > [/dev/wwan0p3QMI] created endpoint
> > > > Aug  9 15:32:56 target daemon.debug ModemManager[531]: cannot
> > > connect
> > > > to proxy: Could not connect: Connection refused
> > > > Aug  9 15:32:56 target daemon.debug ModemManager[531]: spawning
> > > > new
> > > > qmi-proxy (try 1)...
> > > > Aug  9 15:32:56 target daemon.debug ModemManager[531]: opening
> > > > device...
> > > > Aug  9 15:32:56 target daemon.debug ModemManager[531]: cannot
> > > connect
> > > > to proxy: Could not connect: Connection refused
> > > 
> > > There is something very wrong in this setup I think; MM tries to
> > > spawn
> > > a new qmi-proxy as there is none, but that fails. It shouldn't
> > > fail!
> > > I
> > > would assume the proxy could be failing to open the wwan0p3QMI
> > > port
> > > in
> > > the same way as the QCDM one, but wouldn't know.
> > > 
> > > > Aug  9 15:32:56 target daemon.debug ModemManager[531]: spawning
> > > > new
> > > > mbim-proxy (try 1)...
> > > > Aug  9 15:32:56 target daemon.debug ModemManager[531]:
> > > > [/dev/wwan0p2MBIM] Couldn't find descriptors file, possibly not
> > > using
> > > > cdc_mbim
> > > > Aug  9 15:32:56 target daemon.debug ModemManager[531]:
> > > > [/dev/wwan0p2MBIM] Fallback to default max control message
> > > > size:
> > > 4096
> > > 
> > > Wait, and this modem exposes both QMI and MBIM ports? I think
> > > this is
> > > new, first time I've seen this I think. If I'm not mistaken this
> > > is a
> > > decision that the manufacturer takes, right? I think the generic
> > > plugin will try to create a QMI based modem if it finds any QMI
> > > capable port, and otherwise fallback to create a MBIM based modem
> > > if
> > > it finds any MBIM capable port. Anyway, we didn't reach that
> > > point
> > > yet, just a heads up.
> > > 
> > 
> > 
> > 'Generic' X55 devices expose both MBIM and  QMI control ports, I'm
> > going to submit a change in the kernel to avoid that if it causes
> > trouble. But last time I tried with such a device, MM was just
> > picking
> > the QMI one for control (generic plugin), as you said.
> > 
> > > 
> > > > Aug  9 15:32:56 target daemon.debug ModemManager[531]:
> > > > [/dev/wwan0p3QMI] Checking version info (45 retries)...
> > > > Aug  9 15:32:57 target daemon.info ModemManager[531]: <info> 
> > > [base-
> > > > manager] couldn't check support for device
> > > > 
> > > '/sys/devices/platform/soc/2100000.bus/2184200.usb/ci_hdrc.1/usb1
> > > /1-
> > > > 1/1-1.1': not supported by any plugin
> > > > Aug  9 15:32:57 target daemon.info ModemManager[531]: <info> 
> > > [base-
> > > > manager] couldn't check support for device
> > > > '/sys/devices/platform/soc/2100000.bus/2188000.ethernet': not
> > > supported
> > > > by any plugin
> > > > Aug  9 15:32:57 target daemon.debug ModemManager[531]:
> > > > transaction
> > > 0x2
> > > > aborted, but message is not abortable
> > > > <...>
> > > > Aug  9 15:33:25 target daemon.debug ModemManager[531]:
> > > > transaction
> > > 0x1e
> > > > aborted, but message is not abortable
> > > > Aug  9 15:33:26 target daemon.debug ModemManager[531]: proxy
> > > > configuration failed: closed
> > > > Aug  9 15:33:26 target daemon.debug ModemManager[531]:
> > > > [/dev/wwan0p2MBIM] channel destroyed
> > > > Aug  9 15:33:26 target daemon.debug ModemManager[531]:
> > > > transaction
> > > 0x1f
> > > > aborted, but message is not abortable
> > > > <...>
> > > > Aug  9 15:33:41 target daemon.debug ModemManager[531]:
> > > > transaction
> > > 0x2e
> > > > aborted, but message is not abortable
> > > > Aug  9 15:33:41 target daemon.info ModemManager[531]: <info> 
> > > [device
> > > > 
> > > /sys/devices/platform/soc/1ffc000.pcie/pci0000:00/0000:00:00.0/00
> > > 00:0
> > > 1:
> > > > 00.0] creating modem with plugin 'generic' and '3' ports
> > > > Aug  9 15:33:41 target daemon.warn ModemManager[531]: <warn>
> > > > [plugin/generic] could not grab port wwan0p3QMI: Cannot add
> > > > port
> > > > 'wwan/wwan0p3QMI', unhandled port type
> > > > Aug  9 15:33:41 target daemon.warn ModemManager[531]: <warn>
> > > > [plugin/generic] could not grab port wwan0p2MBIM: Cannot add
> > > > port
> > > > 'wwan/wwan0p2MBIM', unhandled port type
> > > 
> > > Neither the QMI nor the MBIM probing were successful.
> > > 
> > 
> > 
> > Maybe udev rules are not installed?
> > 
> 
> The mm udev rules have been installed, but none of the rules seems
> triggered when the device is probed.
> 

I performed few checking, with 1.18.0-rc1, and finally, the udev rules
is well triggered and the modem appear on mm and nm side, but it's very
very long. :)

Thank you again for your help.

Best regards,
Thomas

> Best regards,
> Thomas
> 
> > Regards,
> > Loic
> 

-- 
Thomas Perrot, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/modemmanager-devel/attachments/20210811/c7c91b25/attachment.sig>


More information about the ModemManager-devel mailing list