MC7455 'Call Failed'

Tim Harvey tharvey at gateworks.com
Thu Jun 22 20:11:21 UTC 2017


On Thu, Jun 22, 2017 at 8:35 AM, Aleksander Morgado
<aleksander at aleksander.es> wrote:
> Hey,
>
>>
>> The MC7455 presents two QMI+WWAN pairs which I think is quite common
>> for the Sierra Wireless modems. The first appears to be raw-ip and the
>> 2nd 802.3. Most of the qmicli commands won't work on cdc-wdm0 (raw-ip)
>> and I believe this is expected but I'm not clear exactly why (could
>> you explain this?).
>>
>
> Oh, are you really getting a wwan set as 802.3 in the MC7455? That's
> interesting; the raw-ip support in qmi_wwan was partially developed
> because we couldn't switch the wwan from raw-ip to 802.3 in the
> MC7455.
>
> I'm not sure how the qmicli commands fail with cdc-wdm0, though. Are
> you by any chance running qmicli commands at the same time as
> ModemManager is running? And if so, are you maybe not using the "-p"
> option in qmicli? Remember that if MM is running, all qmicli commands
> should be run with "-p", so that they are routed through the qmi-proxy
> process shared by all programs that want to talk to a given QMI port.
> These assumptions may be a long shot, but could very well be your
> issue.
>
>> I can connect using libqmi directly on cdc-wdm1 (802.3) using 'echo
>> "APN=h2g2" > /etc/qmi-network.conf; qmi-network /dev/cdc-wdm1 start'
>> then use 'qmicli -d /dev/cdc-wdm1 --wds-get-current-settings' to get
>> the IPv4 configuration and set it manually (as dhcp won't work over
>> the raw-ip mode which qmi-network configures /dev/cdc-wdm1 as).
>>
>
> What? so qmi-network configures raw-ip over the cdc-wdm1/wwan1 pair
> and it really was 802.3 originally? I'm not sure that makes sense. Are
> we sure the wwan1 is setup as 802.3 initially?
>

My mistake - I wasn't disabling ModemManager and it was reconfiguring
and utilizing cdc-wdm0 as you expected. Once I've done that and
rebooted both cdc-wdm interfaces are using 802.3 and I can connect via
libqmi using cdc-wdm0/wwan0 or cdc-wdm1/wwan1

What is the purpose of the two QMI+WWAN interface pairs in these modems?

> Note: you also need to instruct the qmi-network to use the qmi-proxy;
> you would do that adding "PROXY=yes" in /etc/qmi-network.conf.
>

Thanks - I hadn't realized the importance of the proxy before.

>> So now that I understand how to use these QMI modems directly using
>> libqmi I'm wanting to make sure I understand how to use modem-manager
>> and network-manager to connect. I'm finding that 'mmcli --modem 0
>> --simple-connect="apn=h2g2"'' doesn't appear to work:
>> root at ventana:~# mmcli --modem 0 --simple-connect="apn=h2g2"
>> successfully connected the modem
>
> Well that worked.
>
>> root at ventana:~# qmicli -d /dev/cdc-wdm1 --wds-get-current-settings
>> error: couldn't get current settings: QMI protocol error (15): 'OutOfCall'
>>
>
> I would bet that ModemManager is using /dev/cdc-wdm0. If so, you need
> to understand that both cdc-wdm0 and cdc-wdm1 should be treated as
> completely different call stacks. If you get cdc-wdm0 connected,
> cdc-wdm1 may still be out of call as you said. If you want to run
> qmicli --wds-get-current-settings on the cdc-wdm0 you can just add the
> "-p" additional option as said before.
>

yes, I assume ModemManager uses cdc-wdm0 as it shows it as the primary
interface:
root at ventana:~# mmcli --modem 0 | grep 'primary port'
           |   primary port: 'cdc-wdm0'

and yes, now using proxy I can communicate with cdc-wdm0 that
ModemManager is using 'qmicli -d /dev/cdc-wdm0
--wds-get-current-settings -p'

> Although, when using ModemManager you wouldn't
> --wds-get-current-settings. Instead you would show the connected
> bearer information: run "mmcli -m 0", and once you get the list of
> bearers (at the end of the output) you can "mmcli -b X" being X the
> index of the bearer that was shown. This will give you information on
> how the modem should be connected: in your case it will be either
> static IP addressing (for raw-ip interfaces) or dhcp (for 802.3
> interfaces).

makes sense to use what modemmanager provides and works great!

>
>> Also, I'm unclear how to NetworkManager on the QMI devices:
>> root at ventana:~# nmcli connection add type gsm ifname cdc-wdm1 con-name
>> mc7455 apn h2g2
>> Connection 'mc7455' (5dc4516e-e857-4917-9542-0dee211b692a) successfully added.
>> root at ventana:~# nmcli connection up id mc7455
>> Error: Connection activation failed: No suitable device found for this
>> connection.
>>
>> What is the appropriate interface to use for QMI devices (wwan1 gives
>> the same error)? This is supposed to be the 'control interface' not
>> the 'network interface' correct?
>>
>
> Retry without the "ifname cdc-wdm1" part; just add a gsm connection
> type with the APN settings, without binding to an explicit modem, and
> try to get that connected.

I tried that originally but it requires ifname:

root at ventana:~# nmcli connection add type gsm con-name mc7455 apn h2g2
Error: mandatory 'ifname' not seen before 'apn'.
root at ventana:~# [  100.069371] systemd-journald[168]: Sent WATCHDOG=1
notification.
nmcli --version
nmcli tool, version 1.2.6

Thanks,

Tim


More information about the ModemManager-devel mailing list