get software version

Tim Harvey tharvey at gateworks.com
Fri Mar 3 23:19:23 UTC 2017


On Fri, Jan 20, 2017 at 7:10 AM, Bjørn Mork <bjorn at mork.no> wrote:
> Hello,
>
> I noticed that you have implemented Get Software Version in qmicli and
> tried it out. Looks like it has been extended since the version we have
> documented in data/qmi-service-dms.json.  Running it on my EM7455 gives:
>
>
> [20 Jan 2017, 15:13:44] [Debug] [/dev/cdc-wdm0] Received message (translated)...
>>>>>>> QMUX:
>>>>>>>   length  = 294
>>>>>>>   flags   = 0x80
>>>>>>>   service = "dms"
>>>>>>>   client  = 3
>>>>>>> QMI:
>>>>>>>   flags       = "response"
>>>>>>>   transaction = 1
>>>>>>>   tlv_length  = 282
>>>>>>>   message     = "Get Software Version" (0x0051)
>>>>>>> TLV:
>>>>>>>   type       = "Result" (0x02)
>>>>>>>   length     = 4
>>>>>>>   value      = 00:00:00:00
>>>>>>>   translated = SUCCESS
>>>>>>> TLV:
>>>>>>>   type       = "Version" (0x01)
>>>>>>>   length     = 32
>>>>>>>   value      = 2E:32:2E:35:2E:31:2E:63:31:2D:30:30:31:31:30:2D:4D:39:36:33:35:54:41:41:41:41:4E:41:5A:4D:2D:31
>>>>>>>   translated = .2.5.1.c1-00110-M9635TAAAANAZM-1
>>>>>>> TLV:
>>>>>>>   type   = 0x10
>>>>>>>   length = 237
>>>>>>>   value  = 05:01:00:00:00:2F:42:4F:4F:54:2E:42:46:2E:32:2E:32:2D:32:2E:32:2E:30:36:30:30:35:3A:41:41:41:54:41:4E:41:5A:41:3A:43:41:52:4D:44:2D:45:56:2D:46:52:4D:57:52:32:02:00:00:00:29:54:5A:2E:42:46:2E:32:2E:33:2D:30:30:31:33:37:3A:4A:41:46:41:41:4E:42:41:41:3A:43:41:52:4D:44:2D:45:56:2D:46:52:4D:57:52:32:04:00:00:00:2A:52:50:4D:2E:42:46:2E:31:2E:33:2D:30:30:31:35:37:3A:41:41:41:41:41:4E:41:41:52:3A:43:41:52:4D:44:2D:45:56:2D:46:52:4D:57:52:32:09:00:00:00:30:4D:50:53:53:2E:42:4F:2E:32:2E:35:2E:31:2E:43:31:2D:30:30:31:31:30:3A:54:41:41:41:41:4E:41:5A:51:3A:43:41:52:4D:44:2D:45:56:2D:46:52:4D:57:52:32:0A:00:00:00:21:41:44:53:50:2E:42:46:2E:32:2E:34:2E:35:2D:30:30:30:37:33:3A:41:41:41:41:41:41:41:41:51:3A:43:52:4D
>
> [/dev/cdc-wdm0] Software version: .2.5.1.c1-00110-M9635TAAAANAZM-1
>
>
> TLV 0x10 looks like an array of type(?) and version string for different
> parts of the system, where "type" is a 32bit number with the values 1,
> 2, 4, 9 and 10 in my case. Do these match any known enums?
>
> The array starts with a one-byte number of elements, and each string
> value is prefixed with a one-byte length.  Trying to decode the above
> gives:
>
>  5 elements (05)
>
>   type   = 1 (01:00:00:00)
>   strlen = 47 (2F)
>   string = BOOT.BF.2.2-2.2.06005:AAATANAZA:CARMD-EV-FRMWR2 (42:4F:4F:54:2E:42:46:2E:32:2E:32:2D:32:2E:32:2E:30:36:30:30:35:3A:41:41:41:54:41:4E:41:5A:41:3A:43:41:52:4D:44:2D:45:56:2D:46:52:4D:57:52:32)
>
>   type   = 2 (02:00:00:00)
>   strlen = 41 (29)
>   string = TZ.BF.2.3-00137:JAFAANBAA:CARMD-EV-FRMWR2 (54:5A:2E:42:46:2E:32:2E:33:2D:30:30:31:33:37:3A:4A:41:46:41:41:4E:42:41:41:3A:43:41:52:4D:44:2D:45:56:2D:46:52:4D:57:52:32)
>
>   type   = 4 (04:00:00:00)
>   strlen = 42 (2A)
>   tring  = RPM.BF.1.3-00157:AAAAANAAR:CARMD-EV-FRMWR2 (52:50:4D:2E:42:46:2E:31:2E:33:2D:30:30:31:35:37:3A:41:41:41:41:41:4E:41:41:52:3A:43:41:52:4D:44:2D:45:56:2D:46:52:4D:57:52:32)
>
>   type   = 9 (09:00:00:00)
>   strlen = 48 (30)
>   string =  MPSS.BO.2.5.1.C1-00110:TAAAANAZQ:CARMD-EV-FRMWR2 (4D:50:53:53:2E:42:4F:2E:32:2E:35:2E:31:2E:43:31:2D:30:30:31:31:30:3A:54:41:41:41:41:4E:41:5A:51:3A:43:41:52:4D:44:2D:45:56:2D:46:52:4D:57:52:32)
>
>   type   = 10 (0A:00:00:00)
>   strlen = 33 (21)
>   string = ADSP.BF.2.4.5-00073:AAAAAAAAQ:CRM (41:44:53:50:2E:42:46:2E:32:2E:34:2E:35:2D:30:30:30:37:33:3A:41:41:41:41:41:41:41:41:51:3A:43:52:4D)
>

Hi Bjørn,

Can you tell me more about how you got this modem working? I'm trying
to understand:
- what Linux drivers are required and do you have to inject new_id's
vis sysfs to get them to probe (none of the drivers seem to recognize
the 0x1199:0x9079 by default)
- what managment and communication dev nodes should be created
- what libqmi version is required
- what the difference is between mbim and qmi
- what the firmware dependencies are, how to tell what firmware I have
on them, and how to update if required

I've got an MC7455 as well as an EM7455 on hand to test with but
haven't gotten either to be recognized by any of the Linux drivers (at
least in 4.4).

Thanks,

Tim


More information about the libqmi-devel mailing list