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