Telit LE910C1 - GPS integration
Aleksander Morgado
aleksander at aleksander.es
Thu May 7 15:45:27 UTC 2020
Hey Daniele,
> > > > Then we need to debug why we were not able to get any LOC indication
> > > > with NMEA traces in David's setup.
> > >
> > > > David, could you retry to setup the location using the QMI protocol
> > > > (i.e. without your changes) but enabling both "nmea" and "raw"
> > > > locations?
> > > > Also, another test could be to enable MSB A-GPS or MSA A-GPS and see
> > > > what happens.
> > >
> > > Sure, here are the logs:
> > >
> > > mmcli -m 0
> > > ---------------------------------------------------------------------------------------
> > > General | dbus path: /org/freedesktop/ModemManager1/Modem/0
> > > | device id: 3722d156689e3dccd0080cdb2418e5159e13c738
> > > --------------------------------
> > > Hardware | manufacturer: QUALCOMM INCORPORATED
> > > | model: LE910C1-NA
> > > | firmware revision: 25.00.212 1 [Feb 03 2017 10:00:00]
> > > | carrier config: default
> > > | h/w revision: 10000
> > > | supported: gsm-umts, lte
> > > | current: gsm-umts, lte
> > > | equipment id: *
> > > --------------------------------
> > > System | device: /sys/devices/soc0/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb2/2-1
> > > | drivers: option1, qmi_wwan
> > > | plugin: Telit
> > > | primary port: cdc-wdm0
> > > | ports: ttyUSB0 (unknown), ttyUSB1 (gps), ttyUSB2 (at),
> > > | cdc-wdm0 (qmi), wwan0 (net), ttyUSB4 (unknown), ttyUSB3 (at)
> > > --------------------------------
> > > Status | lock: sim-pin2
> > > | unlock retries: sim-pin (5), sim-pin2 (5), sim-puk (10), sim-puk2 (10)
> > > | state: connected
> > > | power state: on
> > > | access tech: umts
> > > | signal quality: 57% (recent)
> > > --------------------------------
> > > Modes | supported: allowed: 2g; preferred: none
> > > | allowed: 3g; preferred: none
> > > | allowed: 4g; preferred: none
> > > | allowed: 2g, 3g; preferred: 3g
> > > | allowed: 2g, 3g; preferred: 2g
> > > | allowed: 2g, 4g; preferred: 4g
> > > | allowed: 2g, 4g; preferred: 2g
> > > | allowed: 3g, 4g; preferred: 3g
> > > | allowed: 3g, 4g; preferred: 4g
> > > | allowed: 2g, 3g, 4g; preferred: 4g
> > > | allowed: 2g, 3g, 4g; preferred: 3g
> > > | allowed: 2g, 3g, 4g; preferred: 2g
> > > | current: allowed: 2g, 3g, 4g; preferred: 3g
> > > --------------------------------
> > > Bands | supported: egsm, dcs, pcs, g850, utran-1, utran-4, utran-5, utran-8,
> > > | utran-2, eutran-2, eutran-4, eutran-12
> > > | current: egsm, dcs, pcs, g850, utran-1, utran-4, utran-5, utran-8,
> > > | utran-2, eutran-2, eutran-4, eutran-12
> > > --------------------------------
> > > IP | supported: ipv4, ipv6, ipv4v6
> > > --------------------------------
> > > 3GPP | imei: *
> > > | operator id: *
> > > | operator name: *
> > > | registration: home
> > > --------------------------------
> > > 3GPP EPS | ue mode of operation: csps-1
> > > --------------------------------
> > > SIM | dbus path: /org/freedesktop/ModemManager1/SIM/0
> > > --------------------------------
> > > Bearer | dbus path: /org/freedesktop/ModemManager1/Bearer/0
> > > -------------------------------------------------------
> > >
> > >
> > > mmcli -m 0 --location-enable-gps-raw
> > > -------------------------------------------------------
> > > <debug> [1588613175.107558] Setting up location sources: '3gpp-lac-ci, gps-raw'
> > > <debug> [1588613175.107665] Location '3gpp-lac-ci' gathering is already enabled...
> > > <debug> [1588613175.107700] Location 'gps-nmea' gathering is already disabled...
> > > <debug> [1588613175.107729] Location 'agps-msa' gathering is already disabled...
> > > <debug> [1588613175.107752] Location 'agps-msb' gathering is already disabled...
> > > <debug> [1588613175.107773] Need to enable the following location sources: 'gps-raw'
> > > [/dev/cdc-wdm0] sent message...
> > > <<<<<< RAW:
> > > <<<<<< length = 38
> > > <<<<<< data = 01:25:00:00:10:01:00:06:00:22:00:19:00:13:04:00:E8:03:00:00:12:04:00:02:00:00:00:10:04:00:01:00:00:00:01:01:00:10
> > > [/dev/cdc-wdm0] sent generic request (translated)...
> > > <<<<<< QMUX:
> > > <<<<<< length = 37
> > > <<<<<< flags = 0x00
> > > <<<<<< service = "loc"
> > > <<<<<< client = 1
> > > <<<<<< QMI:
> > > <<<<<< flags = "none"
> > > <<<<<< transaction = 6
> > > <<<<<< tlv_length = 25
> > > <<<<<< message = "Start" (0x0022)
> > > <<<<<< TLV:
> > > <<<<<< type = "Minimum Interval between Position Reports" (0x13)
> > > <<<<<< length = 4
> > > <<<<<< value = E8:03:00:00
> > > <<<<<< translated = 1000
> > > <<<<<< TLV:
> > > <<<<<< type = "Intermediate Report State" (0x12)
> > > <<<<<< length = 4
> > > <<<<<< value = 02:00:00:00
> > > <<<<<< translated = disable
> > > <<<<<< TLV:
> > > <<<<<< type = "Fix Recurrence Type" (0x10)
> > > <<<<<< length = 4
> > > <<<<<< value = 01:00:00:00
> > > <<<<<< translated = periodic-fixes
> > > <<<<<< TLV:
> > > <<<<<< type = "Session ID" (0x01)
> > > <<<<<< length = 1
> > > <<<<<< value = 10
> > > <<<<<< translated = 16
> > > [/dev/cdc-wdm0] received message...
> > > <<<<<< RAW:
> > > <<<<<< length = 20
> > > <<<<<< data = 01:13:00:80:10:01:02:06:00:22:00:07:00:02:04:00:00:00:00:00
> > > [/dev/cdc-wdm0] received generic response (translated)...
> > > <<<<<< QMUX:
> > > <<<<<< length = 19
> > > <<<<<< flags = 0x80
> > > <<<<<< service = "loc"
> > > <<<<<< client = 1
> > > <<<<<< QMI:
> > > <<<<<< flags = "response"
> > > <<<<<< transaction = 6
> > > <<<<<< tlv_length = 7
> > > <<<<<< message = "Start" (0x0022)
> > > <<<<<< TLV:
> > > <<<<<< type = "Result" (0x02)
> > > <<<<<< length = 4
> > > <<<<<< value = 00:00:00:00
> > > <<<<<< translated = SUCCESS
> > > [/dev/cdc-wdm0] sent message...
> > > <<<<<< RAW:
> > > <<<<<< length = 24
> > > <<<<<< data = 01:17:00:00:10:01:00:07:00:21:00:0B:00:01:08:00:04:00:00:00:00:00:00:00
> > > [/dev/cdc-wdm0] sent generic request (translated)...
> > > <<<<<< QMUX:
> > > <<<<<< length = 23
> > > <<<<<< flags = 0x00
> > > <<<<<< service = "loc"
> > > <<<<<< client = 1
> > > <<<<<< QMI:
> > > <<<<<< flags = "none"
> > > <<<<<< transaction = 7
> > > <<<<<< tlv_length = 11
> > > <<<<<< message = "Register Events" (0x0021)
> > > <<<<<< TLV:
> > > <<<<<< type = "Event Registration Mask" (0x01)
> > > <<<<<< length = 8
> > > <<<<<< value = 04:00:00:00:00:00:00:00
> > > <<<<<< translated = nmea
> > > [/dev/cdc-wdm0] received message...
> > > <<<<<< RAW:
> > > <<<<<< length = 20
> > > <<<<<< data = 01:13:00:80:10:01:02:07:00:21:00:07:00:02:04:00:00:00:00:00
> > > [/dev/cdc-wdm0] received generic response (translated)...
> > > <<<<<< QMUX:
> > > <<<<<< length = 19
> > > <<<<<< flags = 0x80
> > > <<<<<< service = "loc"
> > > <<<<<< client = 1
> > > <<<<<< QMI:
> > > <<<<<< flags = "response"
> > > <<<<<< transaction = 7
> > > <<<<<< tlv_length = 7
> > > <<<<<< message = "Register Events" (0x0021)
> > > <<<<<< TLV:
> > > <<<<<< type = "Result" (0x02)
> > > <<<<<< length = 4
> > > <<<<<< value = 00:00:00:00
> > > <<<<<< translated = SUCCESS
> > > -------------------------------------------------------
> > >
> > >
> > > mmcli -m 0 --location-enable-gps-nmea
> > > -------------------------------------------------------
> > > <debug> [1588613267.273298] Setting up location sources: '3gpp-lac-ci, gps-raw, gps-nmea'
> > > <debug> [1588613267.273400] Location '3gpp-lac-ci' gathering is already enabled...
> > > <debug> [1588613267.273431] Location 'gps-raw' gathering is already enabled...
> > > <debug> [1588613267.273459] Location 'agps-msa' gathering is already disabled...
> > > <debug> [1588613267.273486] Location 'agps-msb' gathering is already disabled...
> > > <debug> [1588613267.273510] Need to enable the following location sources: 'gps-nmea'
> > > <debug> [1588613270.616174] loading signal quality...
> > > [/dev/cdc-wdm0] sent message...
> > > <<<<<< RAW:
> > > <<<<<< length = 13
> > > <<<<<< data = 01:0C:00:00:03:04:00:20:00:20:00:00:00
> > > [/dev/cdc-wdm0] sent generic request (translated)...
> > > <<<<<< QMUX:
> > > <<<<<< length = 12
> > > <<<<<< flags = 0x00
> > > <<<<<< service = "nas"
> > > <<<<<< client = 4
> > > <<<<<< QMI:
> > > <<<<<< flags = "none"
> > > <<<<<< transaction = 32
> > > <<<<<< tlv_length = 0
> > > <<<<<< message = "Get Signal Strength" (0x0020)
> > > [/dev/cdc-wdm0] received message...
> > > <<<<<< RAW:
> > > <<<<<< length = 25
> > > <<<<<< data = 01:18:00:80:03:04:02:20:00:20:00:0C:00:02:04:00:00:00:00:00:01:02:00:BB:08
> > > [/dev/cdc-wdm0] received generic response (translated)...
> > > <<<<<< QMUX:
> > > <<<<<< length = 24
> > > <<<<<< flags = 0x80
> > > <<<<<< service = "nas"
> > > <<<<<< client = 4
> > > <<<<<< QMI:
> > > <<<<<< flags = "response"
> > > <<<<<< transaction = 32
> > > <<<<<< tlv_length = 12
> > > <<<<<< message = "Get Signal Strength" (0x0020)
> > > <<<<<< TLV:
> > > <<<<<< type = "Result" (0x02)
> > > <<<<<< length = 4
> > > <<<<<< value = 00:00:00:00
> > > <<<<<< translated = SUCCESS
> > > <<<<<< TLV:
> > > <<<<<< type = "Signal Strength" (0x01)
> > > <<<<<< length = 2
> > > <<<<<< value = BB:08
> > > <<<<<< translated = [ strength = '-69' radio_interface = 'lte' ]
> > > <debug> [1588613270.626584] Signal strength (lte): -69 dBm
> > > <debug> [1588613270.626645] Signal strength: -69 dBm --> 71%
> > > <debug> [1588613270.627074] Modem /org/freedesktop/ModemManager1/Modem/0: signal quality updated (71)
> > > <debug> [1588613270.627185] Periodic signal quality and access technology checks scheduled
> > > [/dev/cdc-wdm0] sent message...
> > > <<<<<< RAW:
> > > <<<<<< length = 20
> > > <<<<<< data = 01:13:00:00:01:14:00:17:00:24:00:07:00:01:04:00:C0:00:00:00
> > > [/dev/cdc-wdm0] sent generic request (translated)...
> > > <<<<<< QMUX:
> > > <<<<<< length = 19
> > > <<<<<< flags = 0x00
> > > <<<<<< service = "wds"
> > > <<<<<< client = 20
> > > <<<<<< QMI:
> > > <<<<<< flags = "none"
> > > <<<<<< transaction = 23
> > > <<<<<< tlv_length = 7
> > > <<<<<< message = "Get Packet Statistics" (0x0024)
> > > <<<<<< TLV:
> > > <<<<<< type = "Mask" (0x01)
> > > <<<<<< length = 4
> > > <<<<<< value = C0:00:00:00
> > > <<<<<< translated = tx-bytes-ok, rx-bytes-ok
> > > [/dev/cdc-wdm0] received message...
> > > <<<<<< RAW:
> > > <<<<<< length = 42
> > > <<<<<< data = 01:29:00:80:01:14:02:17:00:24:00:1D:00:02:04:00:00:00:00:00:19:08:00:A6:B9:00:00:00:00:00:00:1A:08:00:1A:24:02:00:00:00:00:00
> > > [/dev/cdc-wdm0] received generic response (translated)...
> > > <<<<<< QMUX:
> > > <<<<<< length = 41
> > > <<<<<< flags = 0x80
> > > <<<<<< service = "wds"
> > > <<<<<< client = 20
> > > <<<<<< QMI:
> > > <<<<<< flags = "response"
> > > <<<<<< transaction = 23
> > > <<<<<< tlv_length = 29
> > > <<<<<< message = "Get Packet Statistics" (0x0024)
> > > <<<<<< TLV:
> > > <<<<<< type = "Result" (0x02)
> > > <<<<<< length = 4
> > > <<<<<< value = 00:00:00:00
> > > <<<<<< translated = SUCCESS
> > > <<<<<< TLV:
> > > <<<<<< type = "Tx Bytes Ok" (0x19)
> > > <<<<<< length = 8
> > > <<<<<< value = A6:B9:00:00:00:00:00:00
> > > <<<<<< translated = 47526
> > > <<<<<< TLV:
> > > <<<<<< type = "Rx Bytes Ok" (0x1a)
> > > <<<<<< length = 8
> > > <<<<<< value = 1A:24:02:00:00:00:00:00
> > > <<<<<< translated = 140314
> > > -------------------------------------------------------
> > >
> > >
> > > mmcli -m 0 --location-enable-agps-msa
> > > -------------------------------------------------------
> > > <debug> [1588613513.330873] Setting up location sources: '3gpp-lac-ci, gps-raw, gps-nmea, agps-msa'
> > > <debug> [1588613513.330980] Location '3gpp-lac-ci' gathering is already enabled...
> > > <debug> [1588613513.331011] Location 'gps-raw' gathering is already enabled...
> > > <debug> [1588613513.331038] Location 'gps-nmea' gathering is already enabled...
> > > <debug> [1588613513.331065] Location 'agps-msb' gathering is already disabled...
> > > <debug> [1588613513.331112] Need to enable the following location sources: 'agps-msa'
> > > [/dev/cdc-wdm0] sent message...
> > > <<<<<< RAW:
> > > <<<<<< length = 13
> > > <<<<<< data = 01:0C:00:00:10:01:00:08:00:4B:00:00:00
> > > [/dev/cdc-wdm0] sent generic request (translated)...
> > > <<<<<< QMUX:
> > > <<<<<< length = 12
> > > <<<<<< flags = 0x00
> > > <<<<<< service = "loc"
> > > <<<<<< client = 1
> > > <<<<<< QMI:
> > > <<<<<< flags = "none"
> > > <<<<<< transaction = 8
> > > <<<<<< tlv_length = 0
> > > <<<<<< message = "Get Operation Mode" (0x004B)
> > > [/dev/cdc-wdm0] received message...
> > > <<<<<< RAW:
> > > <<<<<< length = 20
> > > <<<<<< data = 01:13:00:80:10:01:02:08:00:4B:00:07:00:02:04:00:00:00:00:00
> > > [/dev/cdc-wdm0] received generic response (translated)...
> > > <<<<<< QMUX:
> > > <<<<<< length = 19
> > > <<<<<< flags = 0x80
> > > <<<<<< service = "loc"
> > > <<<<<< client = 1
> > > <<<<<< QMI:
> > > <<<<<< flags = "response"
> > > <<<<<< transaction = 8
> > > <<<<<< tlv_length = 7
> > > <<<<<< message = "Get Operation Mode" (0x004B)
> > > <<<<<< TLV:
> > > <<<<<< type = "Result" (0x02)
> > > <<<<<< length = 4
> > > <<<<<< value = 00:00:00:00
> > > <<<<<< translated = SUCCESS
> > > [/dev/cdc-wdm0] received message...
> > > <<<<<< RAW:
> > > <<<<<< length = 27
> > > <<<<<< data = 01:1A:00:80:10:01:04:03:00:4B:00:0E:00:01:04:00:00:00:00:00:10:04:00:04:00:00:00
> > > [/dev/cdc-wdm0] received generic indication (translated)...
> > > <<<<<< QMUX:
> > > <<<<<< length = 26
> > > <<<<<< flags = 0x80
> > > <<<<<< service = "loc"
> > > <<<<<< client = 1
> > > <<<<<< QMI:
> > > <<<<<< flags = "indication"
> > > <<<<<< transaction = 3
> > > <<<<<< tlv_length = 14
> > > <<<<<< message = "Get Operation Mode" (0x004B)
> > > <<<<<< TLV:
> > > <<<<<< type = "Indication Status" (0x01)
> > > <<<<<< length = 4
> > > <<<<<< value = 00:00:00:00
> > > <<<<<< translated = success
> > > <<<<<< TLV:
> > > <<<<<< type = "Operation Mode" (0x10)
> > > <<<<<< length = 4
> > > <<<<<< value = 04:00:00:00
> > > <<<<<< translated = standalone
> > > <debug> [1588613513.380125] Need to enable MSA A-GPS
> > > [/dev/cdc-wdm0] sent message...
> > > <<<<<< RAW:
> > > <<<<<< length = 20
> > > <<<<<< data = 01:13:00:00:10:01:00:09:00:4A:00:07:00:01:04:00:03:00:00:00
> > > [/dev/cdc-wdm0] sent generic request (translated)...
> > > <<<<<< QMUX:
> > > <<<<<< length = 19
> > > <<<<<< flags = 0x00
> > > <<<<<< service = "loc"
> > > <<<<<< client = 1
> > > <<<<<< QMI:
> > > <<<<<< flags = "none"
> > > <<<<<< transaction = 9
> > > <<<<<< tlv_length = 7
> > > <<<<<< message = "Set Operation Mode" (0x004A)
> > > <<<<<< TLV:
> > > <<<<<< type = "Operation Mode" (0x01)
> > > <<<<<< length = 4
> > > <<<<<< value = 03:00:00:00
> > > <<<<<< translated = msa
> > > [/dev/cdc-wdm0] received message...
> > > <<<<<< RAW:
> > > <<<<<< length = 17
> > > <<<<<< data = 01:10:00:80:01:14:04:22:01:01:00:04:00:18:01:00:01
> > > [/dev/cdc-wdm0] received generic indication (translated)...
> > > <<<<<< QMUX:
> > > <<<<<< length = 16
> > > <<<<<< flags = 0x80
> > > <<<<<< service = "wds"
> > > <<<<<< client = 20
> > > <<<<<< QMI:
> > > <<<<<< flags = "indication"
> > > <<<<<< transaction = 290
> > > <<<<<< tlv_length = 4
> > > <<<<<< message = "Event Report" (0x0001)
> > > <<<<<< TLV:
> > > <<<<<< type = "Dormancy Status" (0x18)
> > > <<<<<< length = 1
> > > <<<<<< value = 01
> > > <<<<<< translated = traffic-channel-dormant
> > > <debug> [1588613513.412047] Got QMI WDS event report
> > > [/dev/cdc-wdm0] received message...
> > > <<<<<< RAW:
> > > <<<<<< length = 20
> > > <<<<<< data = 01:13:00:80:10:01:02:09:00:4A:00:07:00:02:04:00:00:00:00:00
> > > [/dev/cdc-wdm0] received generic response (translated)...
> > > <<<<<< QMUX:
> > > <<<<<< length = 19
> > > <<<<<< flags = 0x80
> > > <<<<<< service = "loc"
> > > <<<<<< client = 1
> > > <<<<<< QMI:
> > > <<<<<< flags = "response"
> > > <<<<<< transaction = 9
> > > <<<<<< tlv_length = 7
> > > <<<<<< message = "Set Operation Mode" (0x004A)
> > > <<<<<< TLV:
> > > <<<<<< type = "Result" (0x02)
> > > <<<<<< length = 4
> > > <<<<<< value = 00:00:00:00
> > > <<<<<< translated = SUCCESS
> > > [/dev/cdc-wdm0] received message...
> > > <<<<<< RAW:
> > > <<<<<< length = 20
> > > <<<<<< data = 01:13:00:80:10:01:04:04:00:4A:00:07:00:01:04:00:00:00:00:00
> > > [/dev/cdc-wdm0] received generic indication (translated)...
> > > <<<<<< QMUX:
> > > <<<<<< length = 19
> > > <<<<<< flags = 0x80
> > > <<<<<< service = "loc"
> > > <<<<<< client = 1
> > > <<<<<< QMI:
> > > <<<<<< flags = "indication"
> > > <<<<<< transaction = 4
> > > <<<<<< tlv_length = 7
> > > <<<<<< message = "Set Operation Mode" (0x004A)
> > > <<<<<< TLV:
> > > <<<<<< type = "Indication Status" (0x01)
> > > <<<<<< length = 4
> > > <<<<<< value = 00:00:00:00
> > > <<<<<< translated = success
> > > <debug> [1588613513.475473] MSA A-GPS operation mode enabled
> > > [/dev/cdc-wdm0] received message...
> > > <<<<<< RAW:
> > > <<<<<< length = 17
> > > <<<<<< data = 01:10:00:80:01:14:04:23:01:01:00:04:00:18:01:00:02
> > > [/dev/cdc-wdm0] received generic indication (translated)...
> > > <<<<<< QMUX:
> > > <<<<<< length = 16
> > > <<<<<< flags = 0x80
> > > <<<<<< service = "wds"
> > > <<<<<< client = 20
> > > <<<<<< QMI:
> > > <<<<<< flags = "indication"
> > > <<<<<< transaction = 291
> > > <<<<<< tlv_length = 4
> > > <<<<<< message = "Event Report" (0x0001)
> > > <<<<<< TLV:
> > > <<<<<< type = "Dormancy Status" (0x18)
> > > <<<<<< length = 1
> > > <<<<<< value = 02
> > > <<<<<< translated = traffic-channel-active
> > > <debug> [1588613513.699663] Got QMI WDS event report
> > > -------------------------------------------------------
> > >
> > > With all enable it only shows the 3GPP info with mmcli -m 0 --loction-get
> >
> > Daniele, any idea why we're not receiving NMEA traces via QMI
> > indications in this case? Do you see something wrong in the sequence
> > to enable the GNSS location gathering?
> >
>
> The sequence is missing request QMI_LOC_SET_NMEA_TYPES that is not in
> libqmi. The request is needed to indicate which NMEA sentences should
> be enabled.
>
Ah! good to know, thanks. I'll add that. Do you know since when is
this a requirement? I don't think any other modem I tested with
required this message explicitly.
--
Aleksander
https://aleksander.es
More information about the ModemManager-devel
mailing list