Sierra MC7710 on embedded debian

Aleksander Morgado aleksander at aleksander.es
Wed Jun 4 00:42:37 PDT 2014


On Wed, Jun 4, 2014 at 7:52 AM, Petri Kiiskinen <petri at kiiskinen.fi> wrote:
> Our error complains about transaction timeout.
>
> We are using qmi-network for starting and stopping and querying the status.
> We poll the script once a minute to check the status and if not connected we
> call stop + start.
>
> In addition we make just one qmicli query to ask the uicc id from the sim.
>
> Maybe the qmicli command without --device-open-sync is causing the client
> ids to be exhausted and after some time this is causing also qmi-network
> script to fail?
>

qmi-network should release the client ID when stop is called; if it is
not doing that then that's an error.

If you're calling stop+start, it may also be a good idea to implement
a 'restart' which will re-use the same WDS service Client ID, instead
of releasing it with stop and allocating a new one with start.

> When the issue occurs soft reboot does not help as immediately after reboot
> we get the same transaction timeout error from qmi-network start:
>
> error: operation failed: Transaction timed out
> error: network start failed, no packet data handle
>

The "Transaction timeout" error is usually, very usually, because you
end up running 2 qmicli commands at the same time, but only 1 of them
is able to read replies. Could that be the case? If so, you can modify
the qmi-network script and your own scripts to use "--proxy" option
when calling qmicli, which ends up launching the qmi-proxy binary, and
that one will allow multiple processes to read/write QMI commands at
the same time.

> We are going to change our scripts so that getting uicc id is done only once
> after reboot and we use --device-open-sync there and start the network with
> qmi-network only after that.
>

That's likely a good thing, assuming --device-open-sync is supported
in your device (Gobi2k and older don't support it).

> The problem is that we are not able to reproduce this in a controlled manner
> and it takes about a week to be reproduced in one of the 20 units.

If it is the "Transaction timed out" error, I'd suggest to either use
--proxy as I said, or make sure you don't issue multiple qmicli
commands at the same time; i.e. move the uicc reading to be just once
during start, as you said.

I'm assuming you don't want to use ModemManager, right? :)

-- 
Aleksander
https://aleksander.es


More information about the libqmi-devel mailing list