ME910G1 Integration

Jack Broderick jbroderick at
Mon Jul 26 13:05:20 UTC 2021


On Mon, Jul 26, 2021 at 5:50 AM Aleksander Morgado <aleksander at>

> Hey,
> > I've been working on integrating the Telit ME910G1 into our platform and
> have found some interesting behavior that I wanted to share and ask for
> some feedback:
> >
> > USB Composition
> > The USB composition for the device is:
> >
> >       0x110a: 3 reduced ACM devices. The composition also 1 rmnet
> adapter, but it can’t be used for data calls, just for controlling the
> device
> >
> > The kernel I am running does not have support for the qmi_wwan driver
> for this ID, so by default I only got the ttyUSBX devices. As a result,
> ModemManager defaulted to using PPP for setting up the connection. This
> worked perfectly fine. I haven't used PPP much since our other modems
> support qmi. We are using OpenWRT and I did find that the pppd setup
> scripts create a default route with no metric when the interface comes up.
> Since the ModemManager Luci page supports metrics, I wanted to have this
> functionality. I created a custom ppp-up script to get called by pppd that
> gets the metric via uci get and adds that via json_add_int. It's not the
> cleanest approach, so I would be curious if anyone else has faced an issue
> like this?
> >
> > I then wanted to have the cdc-wdm interface available for getting signal
> info while the interface is up. Adding support in runtime with:
> >
> >  echo "1bc7 110a" > /sys/bus/usb/drivers/qmi_wwan/new_id
> >
> > worked, and I was able to use qmicli to query the modem. The issue is,
> however, that ModemManager then wanted to use the qmi interface for setting
> up the interface. I think I would like to force ModemManager to use PPP in
> this specific instance (maybe I can change the primary port to ttyUSB?). I
> haven't experienced a modem with this "partial" rmnet adapter, I'm assuming
> it's not very common, so I'm not exactly sure what an ideal ModemManager
> behavior would be but it seems like an interesting problem to solve.
> >
> If you want ModemManager to use the TTY ports exclusively, and ignore
> the QMI port, you can flag the QMI ports with the ID_MM_PORT_IGNORE
> udev tag (in OpenWRT ModemManager ships with a minimal udev rules
> parser).

That's cool, I just assumed there was no udev rules parsing at all in

> Something like this (untested):
> # vim /lib/udev/rules.d/78-mm-custom.rules
> ACTION!="add|change|move|bind", GOTO="mm_custom_rules_end"
> ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="110a",
> LABEL="mm_custom_rules_end"

I'll give it a go.


> --
> Aleksander
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the ModemManager-devel mailing list