QMI service versions in different devices

Bjørn Mork bjorn at mork.no
Wed Sep 18 05:32:17 PDT 2013


Bjørn Mork <bjorn at mork.no> writes:

> As you can see, TLV 0x11 has changed from 2 to 1 so I assume this is the
> Link Protocol changing from IP in MBIM mode to Ethernet in QMI mode.
>
> TLVs 0x12 and 0x13 have both changed from 3 to 0.  I assume this is
> ingress/egress MBIM frame aggregation vs no frame aggregation.
>
> I have no idea what TLVs 0x15 and 0x16 are, but it could be the QoS
> header setting we know from the eQMI_CTL_SET_DATA_FORMAT command?
>
> TLV 0x14 is interesting if you have read a bit of MBIM spec: 49:50:53:00
> is the 16bit NCM datagram signature for IP session #0 (decode it as
> ascii and get "IPS\0").  I wonder if it's possible to change it to
> e.g. 49:50:53:01 to test multiple IP sessions, or will the firmware will
> go bananas then?

No need to guess these of course.  They are all documented in
GobiConnectionMgmt/GobiConnectionMgmtAPIStructs.h.  I just didn't find
it at first...

So TLV 0x10 was the QoS header and 0x15 and 0x16 are aggregation
limits:



// Structure to describe response TLV 0x10 for WDAGetDataFormat()
struct sWDAGetDataFormatResponse_QoSDataFormat
{
   INT8 mQoSFlowHeaderPresent;
};

// Structure to describe response TLV 0x11 for WDAGetDataFormat()
struct sWDAGetDataFormatResponse_LinkLayerProtocol
{
   eQMIWDALinkProtocols mLinkProtocol;
};

// Structure to describe response TLV 0x12 for WDAGetDataFormat()
struct sWDAGetDataFormatResponse_ULDataAggregationProtocol
{
   eQMIWDADataAggregationProtocols mDataAggregationProtocol;
};

// Structure to describe response TLV 0x13 for WDAGetDataFormat()
struct sWDAGetDataFormatResponse_DLDataAggregationProtocol
{
   eQMIWDADataAggregationProtocols mDataAggregationProtocol;
};

// Structure to describe response TLV 0x14 for WDAGetDataFormat()
struct sWDAGetDataFormatResponse_NDPSignature
{
   UINT32 mNDPSignature;
};

// Structure to describe response TLV 0x15 for WDAGetDataFormat()
struct sWDAGetDataFormatResponse_DLMaxAggregateDatagrams
{
   UINT32 mMaxAggregateDatagrams;
};

// Structure to describe response TLV 0x16 for WDAGetDataFormat()
struct sWDAGetDataFormatResponse_DLMaxAggregateSize
{
   UINT32 mMaxAggregateSizeInBytes;
};





Bjørn


More information about the libqmi-devel mailing list