modemmanager compile problem

Bjørn Mork bjorn at mork.no
Fri Aug 24 01:02:08 PDT 2012


Bjørn Mork <bjorn at mork.no> writes:

> 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 forgot an important issue here:  You won't be able to do this using
the same WDS client ID.  You need to allocate one for IPv4 and one for
IPv6, complicating the dual stack case even more.


> 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.


More information about the libqmi-devel mailing list