Telit LE910C1 - GPS integration

Aleksander Morgado aleksander at aleksander.es
Tue May 5 15:14:24 UTC 2020


Hey Daniele & David

> > 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?

>
> Note this was added to the udev rule for gps port with clean MM 1.12.8
> # LE910C1 with default usb cfg
> ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1201", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_PORT_IGNORE}="1"
> ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1201", ENV{.MM_USBIFNUM}=="03", ENV{ID_MM_PORT_TYPE_GPS}="1"
> ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1201", ENV{.MM_USBIFNUM}=="04", ENV{ID_MM_PORT_TYPE_AT_PRIMARY}="1"
> ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1201", ENV{.MM_USBIFNUM}=="05", ENV{ID_MM_PORT_TYPE_AT_SECONDARY}="1"
> ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1201", ENV{.MM_USBIFNUM}=="06", ENV{ID_MM_PORT_IGNORE}="1"
>

Not truly needed for the QMI case, as all NMEA traces should be
received via QMI LOC indications.

-- 
Aleksander
https://aleksander.es


More information about the ModemManager-devel mailing list