modemmanager compile problem

Bjørn Mork bjorn at mork.no
Fri Aug 24 00:58:28 PDT 2012


Aleksander Morgado <aleksander at lanedo.com> writes:

> Oops; strange that I didn't get that. Different gcc versions I guess.
> Should be fixed now.

Yup, just successfully tested "mmcli --simple-connect", and it worked
fine.

One note though:  I see that you set TLV 0x19 in the "Start Network"
message: 


ModemManager[15003]: [/dev/cdc-wdm0] Sending message...
<<<<<< QMUX:
<<<<<<   length  = 26
<<<<<<   flags   = 0x00
<<<<<<   service = "wds"
<<<<<<   client  = 3
<<<<<< QMI:
<<<<<<   flags       = "none"
<<<<<<   transaction = 3
<<<<<<   tlv_length  = 14
<<<<<<   message     = "Start Network" (0x0020)
<<<<<< TLV:
<<<<<<   type       = "IP Family Preference" (0x19)
<<<<<<   length     = 1
<<<<<<   value      = 04
<<<<<<   translated = 4
<<<<<< TLV:
<<<<<<   type       = "APN" (0x14)
<<<<<<   length     = 7
<<<<<<   value      = 74:65:6C:65:6E:6F:72
<<<<<<   translated = telenor
ModemManager[15003]: KEY: 03:00:03:01:00:00:00:00
ModemManager[15003]:   Service: 01
ModemManager[15003]:   Client ID: 03
ModemManager[15003]:   Transaction ID: 03:00



We've had mixed results with that earlier.  It seems that the preferred
method (as snooped by Dan in Windows with the Pantech UML290, and
verified to work in Linux) is to leave TLV 0x19 unset, and instead set a
new default family prior to each connect.  This is the only way we've
been able to establish dual stack connections.  Using TLV 0x19 did not
work.  Might be a firmware bug, but we need to handle it anyway I
believe...

And dual stack connections complicates things somewhat more, as you have
to do at least 4 successful QMI requests to get a single dual stack
session connected:

 1) WDS "Set the client IP family preference" (0x004D): IPv6
 2) WDS "Start Network": dual stack APN
 3) WDS "Set the client IP family preference" (0x004D): IPv4
 4) WDS "Start Network": dual stack APN

I don't know how ModemManager normally would deal with dual stack
connections?  I have never had a modem supporting it on PPP, but I
assume a modem with dual stack PPP support would allow IPCP and IPV6CP
in a single PPP session?

Anyway, back to QMI... I don't think the IPv6 <=> IPv4 order matters to
the modem.  But the modem will respond to router solicitations only
after the IPv6 session is up and the kernel will send them immediately
after the interface is up.  By enabling IPv6 first, we ensure that the
router solicitations succeed when dhclient brings up the interface for
IPv4 address configuration.


Bjørn


More information about the libqmi-devel mailing list