Dual stack with qmicli 1.16.2/1.20.0 and D-Link DWM-222

Marc Andre Selig ma913 at sedacon.com
Sat Jun 9 19:39:47 UTC 2018


Hi all!

Apologies if this is the wrong place to ask; I would appreciate
pointers in that case.

I am trying to get a D-Link DWM-222 USB LTE modem to work in dual
stack mode using qmicli; I tried versions 1.16.2 and 1.20.0.

With qmicli 1.16.2 (from Debian Stretch), I have these results:

An IPv4-only connection works using
  qmicli -d /dev/cdc-wdm0 \
    --wds-start-network=apn=internet.t-mobile,ip-type=4 \
    --client-no-release-cid
  dhclient -4 wwan0 &

Similarly, an IPv6-only connection works with ip-type=6, followed
by static configuration with ip a add and the prefix output by
--wds-get-current-settings.

However, when I try adding an IPv6 connection to an existing IPv4
connection or vice-versa, I get this:
  # qmicli -d /dev/cdc-wdm0 \
  > --wds-start-network=apn=internet.t-mobile,ip-type=6 \
  > --client-no-release-cid
  error: couldn't start network: QMI protocol error (79): 'PolicyMismatch'
  [/dev/cdc-wdm0] Client ID not released:
	  Service: 'wds'
	      CID: '27'
  #

After this, --wds-get-current-settings using either CID only shows
the configuration for the first connection.


Next, I got some hope from
<https://lists.freedesktop.org/archives/libqmi-devel/2017-May/002354.html>
and installed the latest version from
<https://www.freedesktop.org/software/libqmi/>, which is 1.20.0.

This results in:
  # QAR="-d /dev/cdc-wdm0 --device-open-qmi --client-no-release-cid"
  # CID=$(qmicli $QAR --wds-noop|awk -F\' '/CID/{print $2}')
  # QARG="$QAR --client-cid=$CID"
  # qmicli $QARG --wds-set-ip-family=4
  [/dev/cdc-wdm0] Client ID not released:
  	Service: 'wds'
  	    CID: '26'
  # qmicli $QARG --wds-start-network=apn=internet.t-mobile
  [/dev/cdc-wdm0] Network started
  	Packet data handle: '89831284'
  [/dev/cdc-wdm0] Client ID not released:
  	Service: 'wds'
  	    CID: '26'
  # qmicli $QARG --wds-set-ip-family=6
  error: couldn't set IP family: QMI protocol error (48): 'InvalidArgument'
  [/dev/cdc-wdm0] Client ID not released:
  	Service: 'wds'
  	    CID: '26'
  #

And similar to above, I can do the dance the other way round,
successfully initiating an IPv6 connection but then getting
"QMI protocol error (48): 'InvalidArgument' with the call to
--wds-set-ip-family=4

Any hints?

Marc


More information about the libqmi-devel mailing list