M7354 IPv6 Problem

Dan Williams dcbw at redhat.com
Thu Sep 24 13:19:39 PDT 2015


On Thu, 2015-09-24 at 11:42 -0500, Dan Williams wrote:
> On Thu, 2015-09-24 at 18:01 +0200, Aleksander Morgado wrote:
> > Hey,
> > 
> > Have you checked this libqmi thread?
> > http://lists.freedesktop.org/archives/libqmi-devel/2014-December/001036.html
> > 
> > There are some good comments there from Bjørn regarding default
> > profiles and the ipv4-or-ipv6 context.
> 
> To summarize what Bjorn says, most WWAN modem firmware does *not*
> support DHCPv6.  They typically support either static IP configuration
> (via values reported from firmware) or IPv6 SLAAC (eg, router
> advertisements).  Unfortunately some devices don't pass DNS information
> in the RAs, so your only recourse here is to use the static information
> or hardcode the DNS servers.
> 
> You must also ensure that the context/profile is IPv6 capable, which
> ModemManager currently doesn't do (but really, really should).
> Otherwise the modem may crash (observed with MC7750 and UML290 at least,
> maybe others).

To follow up on this, I used a Huawei E397 to bring up dual-stack IPV4V6
context successfully with ModemManager and NetworkManager.  First, make
sure the APN you're using is known-good (otherwise you'll get CallFailed
errors) and that the profile in the modem that matches the APN is a V4V6
context.  If it's not, for now you can set that context via AT commands
by:

AT+CGDCONT?
AT+CGDCONT=<profile number>,"<apn>","IPV4V6"

and the modem should update.  Then you can connect with either mmcli or
NetworkManager.  If you get the bearer's IP details it'll look like
this:

Bearer '/org/freedesktop/ModemManager1/Bearer/5'
  -------------------------
  Status             |   connected: 'yes'
                     |   suspended: 'no'
                     |   interface: 'wwp0s20u1i3'
                     |  IP timeout: '20'
  -------------------------
  Properties         |         apn: 'epc.tmobile.com'
                     |     roaming: 'allowed'
                     |     IP type: 'ipv4v6'
                     |        user: 'none'
                     |    password: 'none'
                     |      number: '*99#'
                     | Rm protocol: 'unknown'
  -------------------------
  IPv4 configuration |   method: 'dhcp'
                     |  address: '30.178.21.152'
                     |   prefix: '30'
                     |  gateway: '30.178.21.153'
                     |      DNS: '10.177.0.34', '10.165.228.68'
                     |      MTU: '1500'
  -------------------------
  IPv6 configuration |   method: 'dhcp'
                     |  address: '2607:fb90:1900:c650:f87f:85a7:cacb:ee86'
                     |   prefix: '64'
                     |  gateway: '2607:fb90:1900:c650:6018:a203:242d:42fd'
                     |      DNS: 'fd00:976a::9'
                     |      MTU: '1500'

You can either use something like NetworkManager to do the IP
configuration, or do it yourself.  "DHCP" here really just means
"automatic", which for IPv4 would be DHCP and for IPv6 means SLAAC +
DHCP (if the modem requests you to run DHCP via the "O" or "M" flags in
the RA).

Dan

> Dan
> 
> > Also, see some clarifications below about how to use qmicli along with
> > ModemManager, unrelated to your issue.
> > 
> > >
> > > root at router:/home# mmcli -L
> > >
> > > Found 1 modems:
> > >     /org/freedesktop/ModemManager1/Modem/0 [Sierra Wireless, Incorporated]
> > > MC7354
> > >
> > > root at router:/home# mmcli -m 0
> > >
> > > /org/freedesktop/ModemManager1/Modem/0 (device id
> > > '08fd8263ec2eb5f680a533bdcded55eef628d7bb')
> > >   -------------------------
> > >   Hardware |   manufacturer: 'Sierra Wireless, Incorporated'
> > >            |          model: 'MC7354'
> > >            |       revision: 'SWI9X15C_05.05.16.03 r22385 carmd-fwbuild1
> > > 2014/06/04 15:01:26'
> > >            |      supported: 'gsm-umts
> > >            |                  cdma-evdo
> > >            |                  lte
> > >            |                  cdma-evdo, gsm-umts
> > >            |                  gsm-umts, lte
> > >            |                  cdma-evdo, lte
> > >            |                  cdma-evdo, gsm-umts, lte'
> > >            |        current: 'lte'
> > >            |   equipment id: '359225052167129'
> > >   -------------------------
> > >   System   |         device: '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-1'
> > >            |        drivers: 'qmi_wwan, option1'
> > >            |         plugin: 'Generic'
> > >            |   primary port: 'cdc-wdm2'
> > >            |          ports: 'ttyUSB0 (qcdm), ttyUSB2 (at), wwan0 (net),
> > > wwan1 (net), cdc-wdm2 (qmi), cdc-wdm1 (qmi)'
> > >   -------------------------
> > >   Numbers  |           own : '2019196694'
> > >   -------------------------
> > >   Status   |           lock: 'sim-pin2'
> > >            | unlock retries: 'sim-pin (3), sim-pin2 (3), sim-puk (10),
> > > sim-puk2 (10)'
> > >            |          state: 'disabled'
> > >            |    power state: 'on'
> > >            |    access tech: 'unknown'
> > >            | signal quality: '0' (cached)
> > >   -------------------------
> > >   Modes    |      supported: 'allowed: 4g; preferred: none'
> > >            |        current: 'allowed: 4g; preferred: none'
> > >   -------------------------
> > >   Bands    |      supported: 'cdma-bc0-cellular-800, cdma-bc1-pcs-1900,
> > > cdma-bc10-secondary-800, cdma-bc15-aws, dcs, egsm, pcs, g850, u2100, u1900,
> > > u17iv, u850, u900, eutran-ii, eutran-iv, eutran-v, eutran-xiii, eutran-xvii,
> > > eutran-xxv'
> > >            |        current: 'cdma-bc0-cellular-800, cdma-bc1-pcs-1900,
> > > cdma-bc15-aws, dcs, egsm, pcs, g850, u2100, u1900, u850, u900, eutran-iv,
> > > eutran-xiii'
> > >   -------------------------
> > >   IP       |      supported: 'ipv4, ipv6, ipv4v6'
> > >   -------------------------
> > >   3GPP     |           imei: '359225052167129'
> > >            |  enabled locks: 'none'
> > >            |    operator id: 'unknown'
> > >            |  operator name: 'unknown'
> > >            |   registration: 'unknown'
> > >   -------------------------
> > >   SIM      |           path: '/org/freedesktop/ModemManager1/SIM/0'
> > >
> > >
> > > root at router:/home# qmicli -d /dev/cdc-wdm2 --wds-get-profile-list=3gpp
> > > [24 Sep 2015, 11:09:46] -Warning ** Error reading from istream: Resource
> > > temporarily unavailable
> > > ^Ccancelling the operation...
> > >
> > > error: couldn't create client for the 'wds' service: CID allocation failed
> > > in the CTL client: Transaction aborted
> > 
> > You shouldn't try to run any QMI command directly in the same
> > /dev/cdc-wdm port which is using ModemManager (see "primary port"
> > reported above). If you do want to do that, you'll need to add the
> > extra "--device-open-proxy" option to your qmicli command (or shorter,
> > "-p"). See https://sigquit.wordpress.com/2013/09/13/sharing-a-qmi-port-between-processes/
> > 
> > > root at router:/home/m2m# qmicli -d /dev/cdc-wdm1 --wds-get-profile-list=3gpp
> > > Profile list retrieved:
> > >     [1] 3gpp - profile1
> > >         APN: 'INTERNET'
> > >         PDP type: 'ipv4-or-ipv6'
> > >         Auth: 'none'
> > >     [2] 3gpp - profile2
> > >         APN: 'admin'
> > >         PDP type: 'ipv4-or-ipv6'
> > >         Auth: 'none'
> > >     [3] 3gpp - profile3
> > >         APN: 'INTERNET'
> > >         PDP type: 'ipv4-or-ipv6'
> > >         Auth: 'none'
> > >     [4] 3gpp - profile4
> > >         APN: 'app'
> > >         PDP type: 'ipv4-or-ipv6'
> > >         Auth: 'none'
> > >     [5] 3gpp - profile5
> > >         APN: '800'
> > >         PDP type: 'ipv4-or-ipv6'
> > >         Auth: 'none'
> > >     [9] 3gpp - profile9
> > >         APN: 'ims'
> > >         PDP type: 'ipv6'
> > >         Auth: 'none'
> > >     [10] 3gpp - profile10
> > >         APN: 'admin'
> > >         PDP type: 'ipv4'
> > >         Auth: 'none'
> > >     [11] 3gpp - profile11
> > >         APN: 'INTERNET'
> > >         PDP type: 'ipv4'
> > >         Auth: 'none'
> > >     [12] 3gpp - profile12
> > >         APN: 'app'
> > >         PDP type: 'ipv4-or-ipv6'
> > >         Auth: 'none'
> > >     [13] 3gpp - profile13
> > >         PDP type: 'ipv4'
> > >         Auth: 'none'
> > 
> > In this case it worked without the "--device-open-proxy" option
> > because /dev/cdc-wdm1 wasn't being used by ModemManager.
> > 
> 
> 
> _______________________________________________
> ModemManager-devel mailing list
> ModemManager-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/modemmanager-devel




More information about the ModemManager-devel mailing list