How other applications use the ports that occupied by MM

Bjørn Mork bjorn at mork.no
Thu Mar 21 18:16:16 UTC 2019


"Bowden, Brendan" <bbowden at presidio.com> writes:

> We're looking at using the AT port to get a few status values that
> don't appear to be readily available from QMI. One we need in
> particular is device temperature (there's a hardware failure condition
> that manifests as a very high temperature value). Of course any hints
> on how to pull this via QMI instead would be helpful also.

Temperature sensors etc are mostly system (modem) dependent, and such
commands will therefore usually be vendor specific whether they are AT
or QMI.

I don't know what modem you have, or remember if I've mentioned this
here before? But in case it is of interest to anyone: You can read the
temperature sensor (one of them) on the Sierra Wireless EM/MC74xx using
the vendor specifc 0x5556 QMI_NAS request. It returns TLVs 0x01, 0x02
and 0x10. Or mine does, at least.  The temperature is the first byte of
TLV 0x01.

The rest of that TLV is sort of documented here:
https://git.mork.no/wwan.git/tree/scripts/qmi.pl#n1302
if you can decipher my hackish perl code.

Note that that script is written mostly for my debugging any nothing
else...  I also use it as a place to keep notes of random stuff I
discover here and there.  The structure is therefore.... not there.

An example from the EM7455 in my laptop right now.  AT command returns:


at!gstatus?
!GSTATUS: 
Current Time:  4885             Temperature: 29
Reset Counter: 1                Mode:        ONLINE         
System mode:   LTE              PS state:    Attached     
LTE band:      B3               LTE bw:      20 MHz  
LTE Rx chan:   1450             LTE Tx chan: 19450
LTE CA state:  NOT ASSIGNED
EMM state:     Registered       Normal Service 
RRC state:     RRC Idle       
IMS reg state: No Srv  

PCC RxM RSSI:  -56              RSRP (dBm):  -82
PCC RxD RSSI:  -61              RSRP (dBm):  -88
Tx Power:      0                TAC:         79E1 (31201)
RSRQ (dB):     -6.8             Cell ID:     010CAA02 (17607170)
SINR (dB):     10.0


OK

and QMI returns:

>>>>>> QMUX:
>>>>>>   length  = 39
>>>>>>   flags   = 0x80
>>>>>>   service = "nas"
>>>>>>   client  = 4
>>>>>> QMI:
>>>>>>   flags       = "response"
>>>>>>   transaction = 1
>>>>>>   tlv_length  = 27
>>>>>>   message     = (0x5556)
>>>>>> TLV:
>>>>>>   type   = 0x02
>>>>>>   length = 4
>>>>>>   value  = 00:00:00:00
>>>>>> TLV:
>>>>>>   type   = 0x10
>>>>>>   length = 9
>>>>>>   value  = 03:05:AA:05:FA:4B:02:00:00
>>>>>> TLV:
>>>>>>   type   = 0x01
>>>>>>   length = 5
>>>>>>   value  = 1D:05:09:00:00


As you can see: I get 0x1D (29) from QMI, same as from the AT command.


Bjørn


More information about the ModemManager-devel mailing list