Sierra Wireless 340u - NotInitialized

Bjørn Mork bjorn at mork.no
Thu May 30 05:44:05 PDT 2013


Aleksander Morgado <aleksander at lanedo.com> writes:

> Hey,
>
>> 
>>>
>>> error: operation failed: NotInitialized
>>>
>>>
>>> Testing with my primitive perl script support this assumption.  If I
>>> send OPEN after initializing and attaching, then the next attach will
>>> fail with MBIM_STATUS_NOT_INITIALIZED.
>>>
>>> I believe the --no-close isn't enough.  We also need a way to tell
>>> mbimcli that the device is already open, just like qmicli has both
>>> --client-cid=<x> and --client-no-release-cid.
>>>
>> 
>> Gah, I really thought we wouldn't need it :)
>> 
>> Opened a new bugreport for that:
>>   https://bugs.freedesktop.org/show_bug.cgi?id=65165
>> 
>> 
>
> Can you guys take a look at the 'aleksander/session-support' branch? The
> changes in the branch allow to have MBIM 'sessions', using --no-close
> and --no-open, while keeping the transaction ID between mbimcli
> commands. I updated the mbim-network script accordingly as well.

Great!  Not sure the consistent transaction IDs are required, but it
can't hurt.

BTW, did you notice the "errata" published by USB-IF?
http://www.usb.org/developers/devclass_docs/MBIM10Errata1.zip

The most surprising changes I've found so far is the new functional
descriptor (section 6.5 MBIM EXTENDED FUNCTIONAL DESCRIPTOR) with a
bMaxOutstandingCommand and a wMTU field.  The wMTU seems useless, but
the bMaxOutstandingCommand field might be of interest for libmbim:

  Max number of outstanding Command Messages the device can handle
  simultaneously.  Shall be greater than 0.

But I don't know of any device using this yet, and I really hate the way
they added it.  This should have been made part of the management
protocol instead of a descriptor.  And I cannot see how they can go add
a thing like that as an "errata".

And the fact that they just published this new version instead of the
old one, with absolutely no indication that it really is a new version,
is just appalling.  But I did get a promise they would fix that.  Let's
hope they do.  For now, I'm really glad I have a local copy of the
original MBIM 1.0 spec to compare this against...



> E.g.:
>
>     Open device:
>       $> sudo mbimcli -d /dev/cdc-wdm0 --noop --no-close
>       [/dev/cdc-wdm1] Session not closed:
>             TRID: '2'
>
>     Run a command:
>       $> sudo mbimcli -d /dev/cdc-wdm1 \
>                       --query-radio-state \
>                       --no-open=2 \
>                       --no-close
>       [/dev/cdc-wdm1] Radio state retrieved:
>              Hardware Radio State: 'on'
>              Software Radio State: 'on'
>       [/dev/cdc-wdm1] Session not closed:
>             TRID: '3'
>
>     Close device:
>       $> sudo mbimcli -d /dev/cdc-wdm0 --noop --no-open=3

works for me on the MC7710:

bjorn at nemi:/usr/local/src/git/libmbim$ mbimcli -d /dev/cdc-wdm0 --no-close --enter-pin=xxxx
[/dev/cdc-wdm0] PIN operation successful

[/dev/cdc-wdm0] Pin Info:
                 Pin State: 'locked'
                   PinType: 'pin2'
        Remaining attempts: '3'
[/dev/cdc-wdm0] Session not closed:
            TRID: '3'
bjorn at nemi:/usr/local/src/git/libmbim$ mbimcli -d /dev/cdc-wdm0 --no-close --no-open=3  --attach-packet-service
[/dev/cdc-wdm0] Successfully attached to packet service

[/dev/cdc-wdm0] Packet service status:
                 Network error: 'unknown'
          Packet service state: 'attached'
        Available data classes: 'lte'
                  Uplink speed: '50000000 bps'
                Downlink speed: '100000000 bps'
[/dev/cdc-wdm0] Session not closed:
            TRID: '4'




Bjørn


More information about the libmbim-devel mailing list