Maximum QMI request size?

Dan Williams dcbw at redhat.com
Mon Aug 20 07:43:39 PDT 2012


On Mon, 2012-08-20 at 10:56 +0200, Aleksander Morgado wrote:
> >>> The weirdest TLV I've seen for now related to length is the "Preferred
> >>> Roaming List" (0x13) in the "DMS/Activate Manual" message. This TLV
> >>> allows a buffer of binary data of up to 16384 bytes, *but* the buffer
> >>> may be split into different segments of shorter sizes and sent over
> >>> multiple QMI messages. It doesn't answer any question I think :-)
> >>
> >> Very useful!  I believe the fact that this is documented as max 16384
> >> *and* have fragmentation support indicates that the maximum QMI message
> >> is smaller than 16384.
> >>
> >> Note that this fragmented TLV with sequence numbers is similar to the
> >> PDS XTRA database upload TLV, which does not have a documented maximum
> >> except that the total size must fit in an u16 field.  The current
> >> database is 60831 bytes, so the real life value is getting close to this.
> >>
> >> I will run a couple of tests on these requests with a large buffer, to
> >> see when I get "segment too long" errors with the devices I have. 
> > 
> > Oh, this is obviously for some other type of device?  I get
> >  eQMI_ERR_OP_DEVICE_UNSUPPORTED
> > in response to "DMS/Activate Manual".
> > 
> > Do you have a device supporting this command?  Could you try to find out
> > what the largest supported chunk is?  Unless the command is harful, of
> > course... I don't understand exactly what it is intended for.
> > 
> 
> The command is for CDMA devices; which need to get activated, either via
> OTA settings (Automatic Activation) or manually through the input of all
> required parameters (Manual Activation). I have a CDMA device around,
> but didn't hack the support for that specific TLV yet in libqmi. Do you
> have a tester program to use?

Yeah, CDMA activation preloads the device with stuff that's often on a
SIM for GSM/UMTS devices: things like the preferred roaming list (PRL)
(similar to the "allowed PLMN" SIM file), possibly the extended roaming
indicator (ERI) list, the actual phone # of the device, data call
settings (similar in function to the APN, MMS proxy address, etc), and
other stuff.  With handsets this is almost always done "over the air"
using the IOTA (Sprint) or OTASP (Verizon) protocols, depending on your
provider.

Typically this functionality is also built into the firmware of the CDMA
device, see for example the old procedure for the Sierra 595 [1].  Yes,
you are seeing HTTP/HTTPS in firmware.  Or "AT$NWACTIVATION" for older
Novatel cards.

These days though, with LTE in the mix, I'm not sure how much IOTA/OTASP
is really used for the 4G devices given that a lot of the info is
already on the SIM.

Dan

[1] http://www.evdoforums.com/thread7394.html



More information about the libqmi-devel mailing list