Audi A5 Forum & Audi S5 Forum banner
1 - 3 of 3 Posts

2014 A4q 6MT MMI 3G+
191 Posts
Discussion Starter · #1 ·
As many of you know, the Google Earth (GE) image overlay for vector maps was officially "turned off" for Audi vehicles with GE client software in December 2020. Then, in late March 2021, various users reported that the GE image overlay started working again, without warning, though the official word from Audi was that the Google Earth service was no longer supported.

Fast forward to late December 2021 and we find that the GE image overlay service continues to work (mostly) in some MMI3G+ systems (like ours with 3G data from AT&T) but not in others.

In the hopes of teasing out why GE hangs on some (many?) MMI 3G+ systems, I put together a set of MMI SD card scripts to (1) capture message output from the QNX gemmi_final process to plain-text log files, (2) retrieve these log files from the MMI HDD to the SD card, and (3) restore the original GEMMI startup script and archive & delete the gemmi_final log files from the MMI HDD.

Inspection of the QNX process listing from pidin shows that the gemmi_final process is launched by shell script /mnt/nav/gemmi/, which is itself a background process called by shell script /usr/bin/; this latter shell script is always executed by system process srv-starter-QNX when the MMI system is started. To capture output from the gemmi_final process, I added output redirection to the gemmi_final command line in new shell script /mnt/nav/gemmi/ I also enabled (1) output of ROME events (?) and (2) the connection status overlay from the gemmi_final command line arguments in this script.

More on gemmi_final command line arguments here:

Output of gemmi_final messages from startup to shutdown for our A4q looks like this:

CURL VERSION: libcurl/7.26.0 zlib/1.2.3 c-ares/1.7.3
|Information| PID:462926-TID:1 File:; Function: main; Line: 624;
MSG: --------< Starting GEMMI Google Earth >--------
|Information| PID:462926-TID:1 File:; Function: main; Line: 626;
MSG: g_gemmiVersion:0x08001900  8.0.25
|Information| PID:462926-TID:1 File:; Function: main; Line: 627;
MSG: ===============================================

Running /mnt/nav/gemmi//mnt/nav/gemmi/gemmi_final, built on Feb 17 2015 at 19:14:43

[AROMA]: No socket on port 4711 start using resmgr ...
** Communication library for GEMMI   **
** Version: REL_2.1.4 (trunk)        **
** Comment: Tested and verified with **
**          MMI3GPlus_DSI_2011_10_10 **
**          (using resmgr)           **
GEMMI: Waiting for ROME client to start up...
GEMMI: ROME client ready.
GEMMI: Sending startup sequence...
GEMMI: Startup sequence sent.

***                                 ***
*** Google Earth on the MMI - GEMMI ***
***        With Street View         ***
***          release build          ***
***                                 ***
***             8.0.25              ***
***                                 ***

gemmi_final: Setting road width scale factor to 0.011600.
gemmi_final: Setting initial prefetch to 1.
gemmi_final: enabling ROME event printouts.
gemmi_final: Setting poi threshold speed to 50 km/h.
gemmi_final: Setting LOD mode to 12.
gemmi_final: Setting roadnamescale to 0.850000
gemmi_final: Setting roadnamecolor to ffd0ffff
gemmi_final: Disabling frame stats console printout.
gemmi_final: Setting min sleep time to 10.0000ms.
gemmi_final: Setting max frame rate to 12.0Hz.
gemmi_final: Setting max GE memory usage to 55MB.
gemmi_final: Setting target GE memory usage to 40MB.
gemmi_final: Setting max ping RTT to 2000.0 milliseconds.
gemmi_final: Successfully set traffic region to 0.
gemmi_final: Setting Street View Texel Density: 2.000000
gemmi_final: Connection status overlay enabled.
GEMMI: Get Hydra Client Instance
Starting thread CPAttributeupdateThread
ConnectAttach = 1073741831
Starting thread CPTimeoutThread
CPTimeoutThread::run --- wait
Starting thread HydraGoogleProxyImplThread
GEMMI: Setting All HYDRA Notifications: car, container, layer, RGA, ON/OFF
delte oMsgList.Data 101868ac size 0 8
INFO: Using OpenGL Context.
Created Google Earth Module version, API version 0.9.0
INFO: EGL already initialized -- using pbuffer mode
INFO: EGL Version String: 1.3
INFO: EGL Vendor String: NVIDIA
INFO: EGL Extensions String:  EGL_create_pbuffer_from_client_buffer EGL_KHR_bind_client_buffer EGL_KHR_config_attribs EGL_KHR_image EGL_KHR_gl_texture_2D_image
EGL_KHR_gl_texture_cubemap_image EGL_KHR_vg_parent_image EGL_NV_nvma_image EGL_NV_client_api_nvma EGL_NV_system_time EGL_NV_nullwindow
/mnt/img-cache/gemmi/temp/svtn*: No such file or directory
Setting lookat to absolute
Max video mem set to 13 MB
frame 0: OnBeginLogin()
Starting to log in
On logged In online = 0
We are offline. NOT_LOGGED_ IN set
frame 28: OnEndLogin()
Max video mem set to 13 MB
Finished attempted (failed) log in, took 3.055644s
Earth is ready to draw on frame 21
frame 33: OnLayersReady()
onEvent::MsgSetLayerVisibilityRequest 3 layers visible
Offline. View good, sending RENDERER_RECOMMENDED to show the Google Earth map
onEvent::MsgSetLanguageRequest en_US
onEvent::MsgSetConnectionInformationRequest state is now 255, 2
hmiMessage::SCI - SetConnectionInformation: 255
onEvent::MsgSetMetricSystemRequest 3
onEvent::MsgSetConnectionInformationRequest state is now 2, 2
onEvent::MsgShowTMCMessagesRequest 1
onEvent::MsgSetViewTypeRequest 3
unexpected view type 3 defaulting to 3D
onEvent::MsgSetCarPositionRequest 400 341
onEvent::MsgSetOrientationRequest 0
onEvent::MsgSetModeRequest 1
onEvent::MsgSetZoomLevelRequest 2
onEvent::MsgViewSetVisibleRequest 0/1
onEvent::MsgViewFreezeRequest 0
hmiMessage::SCI - SetConnectionInformation: GPRS
Network up on frame 614
onEvent::MsgSetZoomLevelRequest 3
onEvent::MsgSetZoomLevelRequest 2
onEvent::MsgViewSetVisibleRequest 0/0
onEvent::MsgViewFreezeRequest 1
onEvent::MsgViewFreezeRequest 0
onEvent::MsgSetConnectionInformationRequest state is now 1, 2
hmiMessage::SCI - SetConnectionInformation: CONNECTING
onEvent::MsgSetConnectionInformationRequest state is now 2, 2
hmiMessage::SCI - SetConnectionInformation: GPRS
Shutdown Earth 1
Shutdown Earth 11
Before Stop Ref = 531
starting to log out
onEvent::MsgSetConnectionInformationRequest state is now 0, 2
Given that GE works properly in our A4q, the log file is somewhat interesting, but doesn't given any obvious clues as to why GE hangs for other 3G+ clients.

Here's where the community might offer some collective insights.

The first of my SD card scripts ( is here:

This script will look for the custom /mnt/nav/gemmi/ file; if the script finds the file, no changes are made. If the script doesn't find the custom logger file, it renames the original to, copies the script to /mnt/nav/gemmi, and creates a (hard) link from to After the SD card script finishes and the SD card is removed, the MMI system must be restarted to use the new script.

The second SD card script ( is here:

This script retrieves information from the MMI system: (1) it captures the QNX process listing to the script log file run-TIMESTAMP.log; (2) the script copies any gemmi_final log files to the var folder of the SD card; and (3) copies the GoogleEarthPlus.conf file to the var folder of the SD card.

We're interested in seeing output captured in the gemmi_final log files in cases where the GE overlay tries to start but hangs.

The third SD card script ( is here:

This script restores the original /mnt/nav/gemmi/ shell script and moves (copies then deletes) any gemmi_final log files to the var folder of the SD card to archive. The MMI system must be restarted to use the original shell script.

Of course, none of this will matter much when AT&T turns off its 3G data network in the next couple of months (but it's still worth investigating in case an alternate data solution becomes available, IMHO). --g

2014 A4q 6MT MMI 3G+
191 Posts
Discussion Starter · #3 · (Edited)
After looking at this some more, I decided to enlist the services of a couple Green Engineering Menu scripts used by /googleearth to (1) toggle gemmi_final logging on/off and (2) collect system information to an SD card, both without the need for separate SD card scripts.

The ZIP archive that contains the installer script and three new logger scripts is HERE.

The logger scripts include:


Installation enables GEMMI logging to plain-text files in /mnt/img-cache/gemmi/temp after restarting the MMI system.

GEMMI logging is toggled off/on from the GEM using the [Get GEMMI Cache Status] control:
Green Terrestrial plant Font Rectangle Screenshot

Selecting [Get GEMMI Cache Status] runs script /mnt/efs-system/scripts/GEMMI/; output is displayed in the GEM Console:
Green Slope Font Technology Terrestrial plant

Green Slope Font Technology Terrestrial plant

With GEMMI logging enabled, a plain-text log file is created in /mnt/img-cache/gemmi/temp each time the QNX OS starts the startup script. These log files can be retrieve to a FAT32 SD card in slot 1 using [Get Info GEMMI]:
Colorfulness Green Terrestrial plant Rectangle Font

Selecting [Get Info GEMMI] launches shell script /mnt/efs-system/scripts/GEMMI/; output from the script is displayed in the GEM Console:
Green Font Slope Terrestrial plant Screenshot

Green Font Slope Terrestrial plant Technology

Green Terrestrial plant Organism Rectangle Font

As a bonus, my (new) script enables the "connection status overlay", which highlights a red, yellow, or green indicator at the top center of the GE "map":
Map Ecoregion Natural environment Infrastructure Vegetation

Map Ecoregion Font Screenshot Biome

I've only seen the "red" indicator highlighted for a second or two when the GE "map" is first displayed (not long enough for a proper screenshot). --g
1 - 3 of 3 Posts