Telit LE910C1 - GPS integration
Daniele Palmas
dnlplm at gmail.com
Thu May 7 11:46:00 UTC 2020
Hi Aleksander and David,
Il giorno mar 5 mag 2020 alle ore 17:14 Aleksander Morgado
<aleksander at aleksander.es> ha scritto:
>
> 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?
>
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.
Regards,
Daniele
> >
> > 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