Reply to my own question.
Enabling A-GPS mode through QMI is working, but when qmicli is used, that all commands has to share the same client-cid and not allocated and released in every command.
#!/bin/sh
VERBOSE=$1
# VERBOSE=-v
COMMON_BASE="$VERBOSE -p -d /dev/cdc-wdm0 "
# register cid
CID=$(qmicli $COMMON_BASE --client-no-release-cid --loc-noop | grep CID | awk '{ print $2}' | sed 's/^.//;s/.$//')
echo client-id $CID
COMMON="$COMMON_BASE --client-no-release-cid --client-cid=$CID"
qmicli $COMMON --loc-get-operation-mode
qmicli $COMMON --loc-get-engine-lock
qmicli $COMMON --loc-get-nmea-types
qmicli $COMMON --loc-set-operation-mode=msb
qmicli $COMMON --loc-get-operation-mode
qmicli $COMMON --loc-start
qmicli $COMMON --loc-follow-nmea
qmicli $COMMON --loc-stop
# release cid
qmicli $COMMON_BASE --client-cid=$CID --loc-noop
work log
client-id 2
Successfully retrieved operation mode: standalone
[/dev/cdc-wdm0] Client ID not released:
Service: 'loc'
CID: '2'
Successfully retrieved engine lock: none
[/dev/cdc-wdm0] Client ID not released:
Service: 'loc'
CID: '2'
Successfully retrieved NMEA types: gga, rmc, gsv, gsa, vtg
[/dev/cdc-wdm0] Client ID not released:
Service: 'loc'
CID: '2'
Successfully set operation mode
[/dev/cdc-wdm0] Client ID not released:
Service: 'loc'
CID: '2'
Successfully retrieved operation mode: msb
[/dev/cdc-wdm0] Client ID not released:
Service: 'loc'
CID: '2'
[/dev/cdc-wdm0] Successfully started location tracking (session id 0)
[/dev/cdc-wdm0] Client ID not released:
Service: 'loc'
CID: '2'
$GPGGA,090315.00,,,,,0,,,,,,,,*46
$GNGNS,090315.00,,,,,NNN,,,,,,*3D
$GPVTG,,T,,M,,N,,K,N*2C
$GPRMC,,V,,,,,,,,,,N*53
$GPGSA,A,1,,,,,,,,,,,,,,,,*32
$GNGSA,A,1,,,,,,,,,,,,,,,,*2C
$GPGGA,090316.00,,,,,0,,,,,,,,*45
$GNGNS,090316.00,,,,,NNN,,,,,,*3E
$GPVTG,,T,,M,,N,,K,N*2C
$GPRMC,,V,,,,,,,,,,N*53
$GPGSA,A,1,,,,,,,,,,,,,,,,*32
$GNGSA,A,1,,,,,,,,,,,,,,,,*2C
$GLGSV,1,1,01,84,18,317,,1*49
$GPGSV,1,1,01,03,28,253,,1*58
$GPGGA,090317.00,,,,,0,,,,,,,,*44
$GNGNS,090317.00,,,,,NNN,,,,,,*3F
$GPVTG,,T,,M,,N,,K,N*2C
$GPRMC,,V,,,,,,,,,,N*53
$GPGSA,A,1,,,,,,,,,,,,,,,,*32
$GNGSA,A,1,,,,,,,,,,,,,,,,*2C
$GLGSV,3,1,10,74,04,307,,66,23,045,,82,44,157,,76,11,052,,1*77
$GLGSV,3,2,10,75,20,355,,84,18,317,,83,71,281,,81,,,,1*44
$GLGSV,3,3,10,67,78,087,,68,42,212,,1*71
$GPGSV,3,1,12,01,59,274,,02,68,189,,03,28,253,,08,14,199,,1*64
$GPGSV,3,2,12,10,22,080,,14,06,292,,17,24,316,,19,04,333,,1*6E
$GPGSV,3,3,12,22,12,307,,24,04,012,,28,14,119,,32,51,078,,1*6D
$GPGGA,090318.00,,,,,0,,,,,,,,*4B
$GNGNS,090318.00,,,,,NNN,,,,,,*30
$GPVTG,,T,,M,,N,,K,N*2C
$GPRMC,,V,,,,,,,,,,N*53
$GPGSA,A,1,,,,,,,,,,,,,,,,*32
$GNGSA,A,1,,,,,,,,,,,,,,,,*2C
mode changed from standalone to msb and after couple seconds GSV messages contain full sky view.