mirror of
https://gitlab.com/mobian1/eg25-manager.git
synced 2025-12-24 05:56:42 +01:00
SUPL (Secure User-Plane Location) is protocol for A-GPS to receive assistance data over Internet. EG25-G has integrated SUPL client, that uses mobile data to communicate with SUPL server and feed assisted data into GNSS receiver. SUPL drastically improves TTFF (time to first fix) and is much more effective than XTRA. To configure it user has to set SUPL version (latest supported version is 2.0), select whether or not use SSL, set address for SUPL server. There are more tuning options in Quectel's documentation, but default values are good to make SUPL work: - AT+QGPSCFG="agpsposmode" Configure AGPS Positioning Mode - AT+QGPSCFG="lbsapn" Configure AGNSS Positioning AP - AT+QGPSCFG="agnssprotocol" Configure AGNSS Positioning Protocols There are some usage aspects of SUPL to be aware of: * modem uses mobile data to get information from SUPL server * mobile data is used even if it's disabled in operating system * firmware seems to try TLS 1.1, that is deprecated and not used in production anymore. See [1]. * IMSI (International Mobile Subscriber Identity) of your SIM-card, current cell Id and public IP are leaked to SUPL server. It's recommended to setup proxy server to hide IMSI and IP from SUPL server [2]. * all this information is visible in trafic dumps for network nodes in between since there is no SSL * SUPL requests with this information are not sent constantly, when geolocation is enabled. They are sent, when information in GNSS receiver is outdated. SUPL servers that could be found on the Internet: - supl.google.com (widely used, supports SSL and non-SSL) - supl.grapheneos.org (supports only SSL, AFAIK just proxy to supl.google.com) - supl.vodafone.com (resolves to supl.google.com) - supl.qxwz.com (probably doesn't provide data outside of China, Chinese company) - supl.nokia.com (is shutdown down) The only working SUPL server is supl.google.com. Support in ModemManager and Geoclue is already in place. ModemManager shows agps-msb capability and Geoclue enables agps-msb, when it's available. When precise geolocation is requested and assisted information is missing in the modem (cold start), when modem requests SUPL server for new assisted data. SUPL was successfully tested with stock modem firmware 30.007.30.007 and community firmware v0.7.4. For testing it was often needed to delete assistance data and enforce cold start. Following script was used for this, it requires ModemManager run in debug mode (--debug). ``` sudo mmcli -m any --command="AT+QGPSEND" sleep 1 sudo mmcli -m any --command="AT+QGPSDEL=0" sleep 1 sudo mmcli -m any --command="AT+QGPSDEL=3" sleep 1 sudo mmcli -m any --command="AT+QGPSDEL=1" sleep 1 sudo mmcli -m any --command="AT+QGPSDEL=0" sleep 1 ``` 1. https://forums.quectel.com/t/a-gnss-msb-with-tls-on-eg25-g/39334 2. https://github.com/Eierkopp/supl-proxy