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