firmware update

Bjørn Mork bjorn at mork.no
Tue Dec 15 00:41:01 PST 2015


David McCullough <david.mccullough at accelerated.com> writes:

> Hi dailijin,
>
> While the discussion about implementing the firmware update is great and
> there is nothing I would like more than an OSS solution I thought I would
> let you know how we tackled it.
>
> basically we load qmi_wwan and qserial as modules,  when we want to do a
> firmware update we unload those and load the Sierra GobiNet and GobiSerial
> drivers to do the update.

FWIW, this is what I've done so far as well.  I am happy to say that the
quality of the GobiNet and GobiSerial drivers now is so good that
building them against the newest kernels is trouble free.  Just type
"make" and off you go.  Or "make RAWIP=1" if you want to build the
GobiNet driver with MC74xx support (even if you only intend it for
firmware updatng - probing will fail without it).

I have more problems with the Gobi userspace part (i.e. the SDK).
Mostly because important parts of it is binary only, and only built for
a few specific platforms.  But then again, if you've built one of the
firmware upload applications and are happy with it, there are rarely any
reason to rebuild it.

> To ensure during the numerous resets etc that happen the correct drivers
> are loaded we just prevent auto loading on those 4 modules and manage it
> as needed.

I usually manage this with module blacklisting, temporarily changing
the blacklist when I prepare for a firmware update.

But one warning wrt managing multiple modems this way: The SDK now has
support for multiple modems, but I suspect it might make false
assumptions about stable probing order.  In any case, the last time I
played with this, I managed to update the "wrong" modem.  I had two
identical modems with different firmware versions plugged in, and
intended to update one specific of them.  To my surprise the other modem
was updated instead of the one I thought I was looking at.

Assuming PEBKAC, but still...

Probably a weird usecase.  Most people likely want to update all
identical hardware to the same firmware version.  But I'd still prefer
an update application which would verify matching modem serial number in
application and boot modes.  Or at least matching USB port.


Bjørn


More information about the libqmi-devel mailing list