MC7455: inconsistent QMI protocol error (14): 'CallFailed' - ipv4-only-allowed

Tim Harvey tharvey at gateworks.com
Tue Sep 5 20:24:58 UTC 2017


On Fri, Sep 1, 2017 at 4:42 PM, Tim Harvey <tharvey at gateworks.com> wrote:
> Greetings,
>
> I've got an MC7455 with the latest ATT firmware and an ATT SIM I'm
> using with an Ubuntu 4.11 kernel and libqmi-1.18.0.
>
> A typical successful connection on a clean power-up looks like:
> root at ventana:~# qmi-network /dev/cdc-wdm0 start
> Loading profile at /etc/qmi-network.conf...
>     APN: m2m.com.attz
>     APN user: unset
>     APN password: unset
>     qmi-proxy: yes
> Checking data format with 'qmicli -d /dev/cdc-wdm0
> --wda-get-data-format --device-open-proxy'...
> Device link layer protocol retrieved: raw-ip
> Getting expected data format with 'qmicli -d /dev/cdc-wdm0
> --get-expected-data-format'...
> Expected link layer protocol retrieved: 802-3
> Updating kernel link layer protocol with 'qmicli -d /dev/cdc-wdm0
> --set-expected-data-format=raw-ip'...
> Kernel link layer protocol updated
> Starting network with 'qmicli -d /dev/cdc-wdm0
> --wds-start-network=apn='m2m.com.attz'  --client-no-release-cid
> --device-open-proxy'...
> Saving state at /tmp/qmi-network-state-cdc-wdm0... (CID: 35)
> Saving state at /tmp/qmi-network-state-cdc-wdm0... (PDH: 63335264)
> Network started successfully
>
> But sometimes I am unable to connect on a clean power-up with:
> root at ventana:~# qmi-network /dev/cdc-wdm0 start
> Loading profile at /etc/qmi-network.conf...
>     APN: m2m.com.attz
>     APN user: unset
>     APN password: unset
>     qmi-proxy: yes
> Checking data format with 'qmicli -d /dev/cdc-wdm0
> --wda-get-data-format --device-open-proxy'...
> Device link layer protocol retrieved: raw-ip
> Getting expected data format with 'qmicli -d /dev/cdc-wdm0
> --get-expected-data-format'...
> Expected link layer protocol retrieved: raw-ip
> Device and kernel link layer protocol match: raw-ip
> Starting network with 'qmicli -d /dev/cdc-wdm0
> --wds-start-network=apn='m2m.com.attz'  --client-no-release-cid
> --device-open-proxy'...
> error: couldn't start network: QMI protocol error (14): 'CallFailed'
> call end reason (1): generic-unspecified
> verbose call end reason (6,50): [3gpp] ipv4-only-allowed
> Saving state at /tmp/qmi-network-state-cdc-wdm0... (CID: 35)
> error: network start failed, no packet data handle
> Clearing state at /tmp/qmi-network-state-cdc-wdm0...
>
> I'm not clear what the 'ipv4-only-allowed' means but I would guess
> something is erroneously setting the ip-family? I'm under the
> impression that setting the ip family via libqmi is not yet supported
> so I'm not sure how to check to see if that's the reason for the
> failure.
>
> It looks like the PDP allows for both ipv4 and ipv6:
> root at ventana:~# qmicli -d /dev/cdc-wdm0 --wds-get-profile-list=3gpp
> Profile list retrieved:
>         [1] 3gpp -
>                 APN: 'm2m.com.attz'
>                 PDP type: 'ipv4-or-ipv6'
>                 Auth: 'pap, chap'
>
> I can fairly easily reproduce the issue if I issue a specific set of
> qmicli commands prior to the qmi-network start:
> qmicli -d /dev/cdc-wdm0 --dms-swi-get-current-firmware
> qmicli -d /dev/cdc-wdm0 --nas-get-signal-info
> qmicli -d /dev/cdc-wdm0 --nas-get-system-selection-preference
> qmicli -d /dev/cdc-wdm0 --nas-network-scan
> qmicli -d /dev/cdc-wdm0 --nas-get-home-network
> qmicli -d /dev/cdc-wdm0 --nas-get-system-info
> qmicli -d /dev/cdc-wdm0 --nas-get-operator-name
> qmicli -d /dev/cdc-wdm0 --nas-get-serving-system
> qmicli -d /dev/cdc-wdm0 --wds-get-current-settings
>
> I can't pin down a specific one though that causes it to get into this state.
>

Thanks for the responses!

It seems like there are three ways to deal with this
modem/firmware/SIM requiring ipv4 family reliably:
1. use modem manager as it always opens the device always in ipv4
2. or, use qmicli --wds-start-network manually (instead of
qmi-network) and be sure to specify ip-type=4 (also make sure to
set-expected-data-format=raw-ip for this modem)
3. use AT commands and AT+CGDCONT to set your PDP type to ipv4 only
(non-volatile setting but not sure if it is across firmware updates)

I guess I prefer option 1 or 2 as I hate to have to use AT commands
with a QMI mode.

Regards,

Tim


More information about the libqmi-devel mailing list