Professional Documents
Culture Documents
Mmi3gp Updating 20230226
Mmi3gp Updating 20230226
Table of Contents
1.0 Introduction 4
1.1 MMI 3G High Systems 5
1.2 Update Conditions 5
2.0 Update to NAR 6.16.2 2017/2018 Navigation Data 6
2.1 MMI 3G+ Software Update to NAR K0942_6 7
2.3 NAR 2017/2018 Navigation Database Update 12
2.3 Navigation Data Activation 13
2.4 Clearing Known DTCs Due to Updates 16
3.0 Update to NAR 6.24.0 and Later Navigation Data 17
3.1 Notes regarding navigation data updates 17
3.2 Update Procedure 18
3.4 Unblocking the Navigation Database 24
3.5 Clearing Known DTCs Due to Updates 24
3.6 Troubleshooting Update Failure(s) 25
3.8 MMI 3G High Navigation Data Updates 25
4.0 References 28
5.0 Acknowledgements 28
APPENDIX A 29
A.1 Reference - MMI3GP US9426 Software Update Device Summary (Table A.1) 29
APPENDIX B 32
B1. Enable Green Engineering Menu (GEM) 32
B.2 - Enable User Defined Software Update Mode 32
B.3 Software Update Logging 33
APPENDIX C 37
C.1 - DTC 03276 - Please Check Software Version Management 37
C.2 - DTC 03623 - Invalid Security/Release Code 38
C.3 - DTC 03677 - Missing FSC File 41
APPENDIX D 42
D.1 Preparing Navigation Data Update Media from Internet Downloads 42
D.2 Confirm Quality of Downloaded RAR Parts 42
D.3 Extract the Multi-Part RAR Archive 42
D.4 Prepare Release for User Defined Software Update 43
D.5 Validating Release Media 44
26 Feb 2023
3
APPENDIX E 48
E.1 8R0906961FE HN+_US_AU3G_K0942_6 Manifest Summary 48
APPENDIX F 50
F.1 User Defined Navigation Database Update Device Selection Screens 50
APPENDIX G 53
G.1 Reference - MMI 3GP NAR 6.24.0 /mnt/nav/db File Size List 53
G.2 Reference - /efs-persist/navi/db/acios_db.ini File 55
APPENDIX H 56
H.1 Notes on VAG Module Adaptation Using Xtool VAG401 Diagnostic Tool 56
APPENDIX J 60
J.1 Decrypted Activator Script copie_scr.sh 60
J.2 Updated Navigation Database Unblocker Patch Script 62
J.3 Usage Text for QNX vdev-logvolmgr 63
INSTALLATION CHECKLIST: NAR Navigation Database Update 3GP/3G+ 75
26 Feb 2023
4
1.0 Introduction
This document is a record of the author’s observations and experiences with updating the
MMI3GP software and navigation database on a 2014 Audi A4 with MMI 3G+ system. It is
comprised of several sections and appendices:
Section 2: (1) Updating the MMI 3G+ software from production version P0715 to current
K0942_6, (2) updating the navigation data using OE database and activator pack SD cards, and
(3) clearing DTCs due to the MMI update process.
Section 3: Updating later versions of the navigation data using SD cards created from installation
archives downloaded from internet sites, including NAR MMI 3G High systems.
The various appendices offer reference information and additional details for planning and
executing these updates.
DISCLAIMER: Use this guide at your own risk. The author is not responsible for any
mis-application of the procedures described herein resulting in loss of MMI functionality.
When we purchased our A4 used as third owners in July 2017, the MMI system had the original
production software (HN+_US_AU3G_P0715) and navigation database (8R0060884BD NAR
6.8.2 2012/2013) installed (build date Oct 2013), as reported on the [MENU] >> [MMI Setup] >>
Version information screen (Fig. 1.1).
The build code for this configuration is PR-7T6 (Navigation system (MID)), noted on the vehicle
information sticker affixed to the body under the luggage compartment floor. The VAG hardware
part number of the MMI main unit is 8R1035746D (for mmi 3g +), as reported by VCDS.
26 Feb 2023
5
We note here that navigation databases released for MMI3GP (3G Plus) systems apply also to
systems with software version HN+R_US_AU3G (includes Q3, A6, A7, and A8 models).
Earlier NAR MMI 3G High systems (e.g., used in the MY2009-2012 B8 platform) can use the
same original (unmodified) NAR navigation update media as MMI 3GP/3G+ systems. The
current software version of NAR MMI 3G High systems is HNav_US_K0133_3_D1. We assume
that NAR MMI 3G High systems will be updated to HNav_US_K0133_3_D1 prior to any
navigation data updates. Specific procedures for updating the software of MMI 3G High systems
are beyond the scope of this document. Refer to section 3.8 for brief remarks regarding the minor
differences between MMI 3G High and 3GP/3G+ navigation data updates.
1. Ignition OFF;
2. Battery maintainer attached (we use a CTEK MUS 5.0);
26 Feb 2023
6
In September 2018, the author obtained a set of OE media (SD cards) to update the navigation
database to NAR 6.16.2 (NAR 2017/2018). This SD media set included:
2. 8R0051884EN NAR Version 2017/2018 Pack No. US/6.16.2, assembled Nov 2017:
We believe the first two SD cards are genuine OE parts. We have evidence to suggest that the
third SD card is not original equipment, as the so-called “activation” script does not, in fact,
provide a legitimate activation license for the updated navigation database. We discuss this later
in section 2.3. The navigation database update requires that the MMI software be updated first;
we proceed with that task in the next section.
26 Feb 2023
7
All recent NAR navigation database versions after 2016 or so require MMI software version
K0942_6. This section describes updating the NAR MMI 3G+ system to K0942_6 using SD
8R0906961FE or equivalent SD card prepared with the update.
3. Wait for all functions (Car, Media, Navigation, Radio, Telephone) to start fully.
4. Confirm that the MMI system time source is set to GPS (Fig. 2.1). This setting ensures
that software update logging information has correct date/time stamps.
Fig. 2.1 MMI [Time] setting for Time source set to GPS.
n.b.: Screenshots in this section were obtained after the original update was performed in
Oct 2018, and with the update SD card in MMI SD Slot 2, to allow for screenshots to be
captured on the SD card in SD Slot 1. In general, the source of MMI software updates
can be either SD1 or SD2. The images presented here are intended for general reference.
26 Feb 2023
8
Fig. 2.2 REM start screen with [Settings], [System], and [Update] softkeys.
26 Feb 2023
9
11. Scroll to end of Device selection list and select Start update (Fig. 2.6).
26 Feb 2023
10
n.b.: Applications with Bose or B&O audio are recommended to use the User defined
update method so that the Bose or B&O software is not updated by the end-user. In our
case, our B&O amplifier and DSP audio ( AMPLCPKO) was not selected by the Standard
update.
If the Bose or B&O audio component is selected here, (1) exit the REM with
[CAR]+[BACK], (2) enable User Defined Update in the GEM (see Appendix B), (3) restart
this section, (4) select User defined at Step 9, above, and (5) remove the Bose or B&O
audio component from the selected devices before continuing with the software update.
Note also that B&O devices AMP_LC_P and AMPLCPKO have not been updated by the
manufacturer since the original production releases.
12. Confirm on next screen by selecting Start. MMI will restart and update will continue.
13. After all selected device updates are complete, the MMI will restart and return to the REM
with a Device summary list. Review the Device summary, as needed. In general, we’re
looking for OK on component selections that were installed successfully. Component
selections with NOK should be investigated before continuing. This information is also
visible from the REM [Logging] function, as described in Appendix B.3.
14. Scroll to the end of the Device summary list and select Continue to continue to the last
step (Fig. 2.6).
26 Feb 2023
11
15. Scroll to Abort documentation and select (Fig. 2.7). MMI will restart into normal
operation.
16. Remove write-protected SD card 8R0906961FE (US9426) from the MMI SD slot. Insert
writable SD card in SD Slot 1 (for screenshots documentation):
Software version:
HN+_US_AU3G_K0942_6 (updated version)
b. [REM] >> [System] >> Activation keys >> Installed activation key
26 Feb 2023
12
Regarding instructions to delete the current navigation data and disk partition prior to
updating/installing new navigation data, at the time we performed the update in Oct 2018,
various installation documents compiled by third-parties offered differing views on whether it
was necessary to delete current navigation data using the Green Engineering Menu. Recent
guidance notes that the navigation partition needs to be deleted prior to a database update only
when data for a new region is to be installed (e.g., NAR to ECE); note also that since the GEMMI
package is stored on the nav database partition, /mnt/nav, the GEMMI package must be reinstalled
from the US09426 (8R0906961FE) SD card as described in the previous section.
If a newer version of the navigation database is to be installed in place of the production version,
refer to section 3.0.
3. Wait for all functions (Car, Media, Nav, Radio, Tel) to start fully.
4. Ensure time setting (Fig. 2.1) for correct software update logging.
11. Scroll to end of Device selection list and select Start update.
26 Feb 2023
13
12. Confirm on next screen by selecting Start. MMI will restart and update will continue.
13. After all selected device updates are complete, the MMI will restart and return to the
REM with a Device summary list. Review the Device summary, as needed. In general,
we’re looking for OK on component selections that were installed successfully (Fig. 2.8).
This information is also visible from the REM [Logging] function, as described in
Appendix B.3.
Scroll to the end of the list and select Continue to continue to the last step.
14. Scroll to Abort documentation and select (Fig. 2.5). MMI will restart into normal
operation.
15. Remove SD card 8R0051884EN (NAR 2017/2018) from the MMI SD slot.
After a (brief) period, an attempt to access [NAV] will return a notice (Fig. 2.9):
26 Feb 2023
14
This indicates that the updated navigation database is not available for use, as the software
update process was not activated properly. In general, this requires installation of a new FSC
(FreiSchaltung Code) file generated by an authorized Audi service center for the specific
installation (VIN and navigation database). When the navigation database update is not
completed properly, end-users can apply a software patch to the MMI system that unblocks
access to the database.
The SD card supplied here with VAG part number 8R0060884EN has been determined to be
based on the process described by Keldo in 2014 to by-pass the normal system activation
process.
Remarks on a simplified process for patching the QNX operating system to implement the Keldo
procedure for unblocking access to the navigation database are described later in section 3.4.
With access to the updated navigation database unblocked, document the finished update:
26 Feb 2023
15
2. [REM] >> [System] >> Activation keys >> Installed activation keys (Fig. 2.11).
26 Feb 2023
16
Scanning module 5F - Information Electr. with a VAG scan tool will return fault codes typically:
26 Feb 2023
17
8R0051884JE NAR 6.24.0 (NAR 2021/2022), assembled Aug 2020 (Fig. 3.1).
1. All recent NAR navigation data require the current MMI 3G+ software version K0942_6.
Refer to the procedure in section 2.1, above, before proceeding with the navigation
database update and be prepared to patch the system with the navigation database
unblocker script following the navigation database update.
2. MMI3G (both High and Plus) systems that were patched with the navigation database
unblocker script after updating the MMI 3G+ software to version K0942_6 will not
require unblocking following later updates.
3. Navigation data can be updated directly from any release in the same region, including
from the factory installed version; deleting the current navigation data and disk partition
using the GEM in this case is not necessary nor is it recommended.
4. High quality, high speed SDHC cards should be used to install the navigation database
update. Sandisk 32 GB Ultra 80 MB/s and faster SDHC cards are recommended. Avoid
the use of microSD cards with full size adapters.
26 Feb 2023
18
This section describes a process for updating the navigation database as a user-defined software
update given a properly formatted (FAT32) 32 GB SDHC card populated with the correct NAR
navigation data update (refer to Appendix D for remarks on preparing the update SD card from
downloaded archives). An abbreviated check-list of this procedure can be found on the last page
of this document.
2. Enable User defined mode for software updates in the GEM (Appendix B.2).
Fig. 3.2 REM start screen with [Settings], [System], and [Update] softkeys.
26 Feb 2023
19
7. Select software release NAR 6.x.y (MMI3GP) (Software update: SD n) (Fig. 3.4).
8. Select User defined (Software update: SD n - NAR 6.x.y (MMI3GP)) (Fig. 3.5).
26 Feb 2023
20
a. Scroll to the entry for AUDI_MMI3G_NAR and note the selection status indicator:
Y, N, S, ?, or N/A. An indicator of ? requires manual selection of installation
packages (Fig. 3.5). Select AUDI_MMI3G_NAR to continue.
b. For each sub-entry under AUDI_MMI3G_NAR, select the sub-entry, select the
Application component, as required, and return (Fig. 3.6).
Do not select the Bootloader component for any sub-entries. Note also that
update is not required when the Application version number does not change (as
shown in Fig. 3.6); in this case, package LABEL_NAR can be omitted safely from
the current navigation database update.
26 Feb 2023
21
c. After all appropriate Application components are selected, return to the top-level
device selection list.
d. In some cases, entries NaviPersistence and MapStyles may also require updating,
depending on their versions in the new release (cf. Appendix A). Select each to
view their respective sub-entry lists. As in (b), above, review each of the
Application versions to determine whether a component should be selected for
updating. In general, version numbers that are the same (e.g., as in Fig. 3.3) may
be omitted from the update.
e. After all sub-entry Application components are selected for updating, return to the
top-level device selection list. Appendix F offers screenshots of the NAR device
selection screens for additional reference.
10. Scroll to end of Device selection list and select Start update (Fig 3.4)
26 Feb 2023
22
11. Confirm on next screen by selecting Start (Fig. 3.5). MMI will restart and the update will
continue.
Document progress with pictures of MMI display for each update step.
12. After all selected device updates are complete, the MMI will restart and return to the REM
with a Device summary list. Review Device summary, as needed. In general, we’re
looking for OK on component selections that were installed successfully (Fig. 3.9).
26 Feb 2023
23
Component selections with NOK indicate problems with the installation (Fig. 3.4); refer
to section 3.6, below, for further discussion. This information is also visible from the
REM [Logging] function, as described in Appendix B.3.
Scroll to the end of the list. Select Continue to continue to the last step (Fig. 3.9).
13. Scroll to Abort documentation (Fig. 2.5) and select. MMI will restart into normal
operation.
15. Remove update card from its SD slot 1 or 2 and insert write-enabled SD card in Slot 1 for
screenshot documentation:
26 Feb 2023
24
Refer to section 2.4, above, and Appendix C for remarks regarding DTC fault codes in module
5F as a result of the navigation database update.
In cases where the factory MMI software is updated immediately prior to updating the navigation
database version, unlocking access to the navigation database will likely be required. Attempts
to start Navigation from the MMI menu or [NAV] console button that result in a “The navigation
data is blocked” (or similar) message on the MMI display indicate that the MMI3G system must
be patched to allow further access to the new navigation database.
Access to the new navigation database is unblocked by patching the MMI3G QNX operating
system so that system process vdev_logvolmgr is terminated shortly after regular file
acios_db.ini is created in the /mnt/lvm filesystem. An established approach to unblock the
navigation database is to add the following shell commands as a background sub-shell to an
existing shell script that is called during the system boot/startup process:
A common approach since 2014 has been to add this code to a new shell script that starts the
mme-becker system process (by way of the mmelauncher process and its configuration file
mmelauncher.cfg).
The navigation database unblocker patch installer shell script is presented here in Appendix J.2.
Refer to section 2.4, above, to clear DTCs in Address 5F, Information Electr., due to the
navigation database update.
26 Feb 2023
25
Package components that report update errors (e.g., Error code 160, Fig. 3.3) are due mostly to
faulty or low quality SD cards.
In cases where a navigation database update ends with a result of NOK on the Device summary
list (Fig. 3.4), (1) the update should be concluded normally, (2) a new 32 GB SDHC card
formatted as FAT32 should be prepared as described in Appendix D, and (3) the update repeated
from 3.1, above, until all devices report OK in the final Device summary list (Fig. 2.6).
Note that log information for software updates initiated by the REM [Update] function can be
reviewed at any time with the REM [Logging] function, as described in Appendix B.3.
26 Feb 2023
26
As noted earlier, the OE NAR navigation data update SD media includes releases for both NAR
MMI 3G High (HNav) and 3GP/3G+ (HN+) systems. Differences in the installation procedure
described in 3.2, above, are minor. The first difference is the release name to select after
inserting the nav data update SDHC card in Slot 1 or 2. For NAR MMI 3G High, this is: NAR
6.x.y (MMI3G)
The second difference noted affects a subset of components of the AUDI_MMI3G_NAR device
selection (Fig. 3.2). These are summarized in Table 3.1.
CTY_NAR CTYS3TC_NAR
TMC_NAR TMC3GP_NAR
LIT_NAR LIT3GP_NAR
LIT2_NAR LIT3GP2_NAR
LIT3_NAR LIT3GP3_NAR
LIT4_NAR LIT3GP4_NAR
n/a PSD_NAR
n/a PSD2_NAR
SDS_NAR SDS3GP_NAR
The last difference to note here is that device selection MapStyles version number for the MMI3G
release is not the same as the MMI3GP release, hence, it should be checked during package
selection, as noted in 3.2.9.d, above.
In any case, the pkgdb directory/folder should be inspected to ensure that the downloaded
archive includes the correct packages for the release to be installed (Table 3.2).
GDB_NAR GDB_NAR
26 Feb 2023
27
GDB2_NAR GDB2_NAR
LABEL_NAR LABEL_NAR
LIT_NAR LIT3GP_NAR
LIT2_NAR LIT3GP2_NAR
LIT3_NAR LIT3GP3_NAR
LIT4_NAR LIT3GP4_NAR
MMI3G_NAR_Hi_R_6_x_y.pkg MMI3GP_NAR_Hi_R_6_x_y.pkg
MMI3G_NAR_Hi_R_6_x_y.pkg.sig MMI3GP_NAR_Hi_R_6_x_y.pkg.sig
NaviPersistence_NAR_3 NaviPersistence_NAR_3
PIT_NAR PIT_NAR
(n/a) PSD_NAR
(n/a) PSD2_NAR
SDS_NAR SDS3GP_NAR
StyleDBMMI3G_NAR_9x StyleDBMMI3GP_NAR_9xxx
TER_NAR TER_NAR
TER2_NAR TER2_NAR
TER3_NAR TER3_NAR
TMC_NAR TMC3GP_NAR
XAC_NAR XAC_NAR
XAC2_NAR XAC2_NAR
26 Feb 2023
28
4.0 References
References:
https://www.a5oc.com/threads/mmi-3g-3gp-navigation-6-31-1-and-firmware-updates-
currently-2020-2021.113737/
https://www.docdroid.net/mqjDVM2/update-instructions-for-mmi-3g-v17-pdf
5.0 Acknowledgements
A few acknowledgements here for their contributions (however unwitting) to this work:
26 Feb 2023
29
APPENDIX A
A.1 Reference - MMI3GP US9426 Software Update Device Summary (Table A.1)
KBD_FB8 N - unknown
TMCConfig Y OK TMCConfig; to v 16
26 Feb 2023
30
Information in Table A.1 includes NavTeq release information extracted from the LIT3GP
database file using strings(1).
8R0051884EN NAR 6.16.2 NAR 2017/2018 North America NavTeq Q3/2016 MMI3GP
8R0051884GB NAR 6.19.1 NAR 2019 North America NavTeq Q1/2018 MMI3GP
8R0051884GJ NAR 6.20.1 NAR 2019/2020 North America NavTeq Q3/2018 MMI3GP
8R0051884HG NAR 6.22.1 NAR 2020/2021 North America NavTeq Q3/2019 MMI3GP
8R0051884JE NAR 6.24.0 NAR 2021/2022 North America NavTeq Q3/2020 MMI3GP
26 Feb 2023
31
Both package components script and xml have version “3” since the NAR 6.16.2 release.
Package component NAR was version “9129” for the NAR 6.16.2 release. Since NAR 6.19.1,
the version is “9131”.
Package component NAR has version “94” since the NAR 6.16.2 release.
26 Feb 2023
32
APPENDIX B
When the GEM is not enabled (i.e., holding [CAR]+[MENU] has no effect), the GEM can be
enabled by setting the value of Adaptation channel 6 to ‘1’ for Control Module Address 5F -
Information Electr.:
1. Using a VAG diagnostic scan tool (VCDS, VAG401, Foxwell NT510, etc.):
a. Open Control Module Address 5F.
b. Open function for Adaptations.
c. Open Adaptation Channel 6.
d. Set the Adaptation Value to 1 and Save.
2. OBDII Bluetooth applications that are VAG-aware (e.g.., Carista, OBDeleven) have
special functions to enable the Green Engineering Menu with a single selection.
In any case, once set, the GEM can be accessed directly without restarting the MMI.
26 Feb 2023
33
User defined mode is enabled until the next MMI power cycle or system restart.
Information about software updates initiated using the REM [Update] function are saved in the
/mnt/efs-persist/SWDL/Log directory of the MMI hard disk as encoded and zlib compressed
files. The [Logging] function of [REM] >> [Update] can be used to display this log information
at any time (Fig. B.3).
26 Feb 2023
34
Selecting a listed software update returns a menu of log information that can be displayed (Fig
B.4).
Selecting General information returns (1) update mode (standard, user-defined); (2) start
date/time of the update; (3) end date/time of the update; (4) whether the update was the result of
a retry; (5) update release name; etc. (Fig. B.5).
26 Feb 2023
35
Review of this section reports devices that were affected by the update. As noted in previous
sections, software for devices listed as OK was updated successfully. Selecting an item in the
Device summary list returns detailed status of the component that was updated (Fig. B.7).
26 Feb 2023
36
Return to the normal MMI system menus from the REM Software Update Logging viewer with
[CAR]+[BACK].
26 Feb 2023
37
APPENDIX C
According to ross-tech.com, DTC 03276 is issued when “a Control Module Software Update has
been performed, but the required Feedback/Specification Documentation via Software Version
Management (SVM) was not” (URL:http://wiki.ross-tech.com/wiki/index.php/03276). DTC
03276 is cleared by either (1) performing Feedback/Specification Documentation via Software
Version Management (SVM) or (2) submitting a calculated check value to Adaptation Channel
15 of Module 5F using an appropriate VAG diagnostic tool. End-user VAG diagnostic tools that
can perform this adaptation include Foxwell NT-510 (and similar) and Ross-Tech VCDS tools.
Alternate methods for clearing DTC 03276 using the Foxwell NT-510 and VAG401 tools follow:
With the appropriate tool attached to the OBDII port and ignition ON (engine OFF):
Foxwell NT-510
1. Select: V/A (VAG) >> 2 Audi >> 1 Systems >> 4 Control Unit >> 6 Electronics 2 >>
5F-Information Electr.
2. Function Menu: select: 1 Read Codes
3. Function Menu: select: 9 Adaptation
4. Adaptation: select: 1 Input the channel number
5. Adaptation: select: [Keyboard] 015 [Finish]
6. Input Dialog Box: select [Yes]
7. CH NO. 15: Record value from “No text” field (e.g., 22657)
8. Calculate: X [XOR] 51666 (see n.b., below)
9. CH NO. 15: select: [Set new val]
10. Set new Value: select: [Keyboard] <value from 7, above> [Finish]
11. Input Dialog Box: select: [Yes]
12. HERE? - select [OK]
13. Confirm DTC 03276 is cleared: 3 Erase Codes >> 1 Read Codes
Xtool VAG401
1. Diagnosis systems >> Electric System 2 >> 5f - Message options >> [ENTER]
2. 5f - Message options: 02-Read fault codes >> [ENTER] >> [ENTER] >> [ENTER]
3. 5f - Message options: 10-Adaptations >> 015 [ENTER]
26 Feb 2023
38
4. Channel Number:015: Record value below “Matched data” line (e.g., 22657.0)
5. Calculate: X [XOR] 51666 (see n.b., below)
6. Press [ENTER] for the “Input matched data screen”, enter <value from 5, above>, press
[ENTER] when complete
7. Press [ENTER] display new “Match data” value; press [ENTER] to continue.
8. Press [ENTER] to save matched data; success: Adaption_success!
9. Press [ESCAPE] to return to function menu, then clear and reread fault codes:
05-Clear fault codes >> 02-Read fault codes
Additional remarks on the use of VAG401 for module adaptation are presented in Appendix G.
URL: http://xor.pw/
1. I. Input: decimal (base 10): value from Channel 15, above (e.g., 22657).
2. II. Input: decimal (base 10): 51666
3. III. Ouput: decimal (base 10)
4. Select: [Calculate XOR]
5. Record result from Output field (e.g., 37203)
26 Feb 2023
39
4. Scroll to select dtc, select, use the scroll wheel to set value 73, and select (Fig. C.4).
26 Feb 2023
40
6. Exit GEM with [MENU] and rescan for DTCs with VCDS or equivalent.
When the procedure described above using the GEM does not clear DTC 03623 successfully, the
following SD script may be used to clear DTC 03623 by removing all FSC files from the MMI
system:
26 Feb 2023
41
After the SD script is complete, restart the MMI system and rescan for remaining fault codes.
FSC files copied to the SD card should be saved off-line in case they are needed later.
Removal of FSC files from the MMI system to clear DTC 03623 as described in the previous
section will likely trigger DTC 03677 after the next navigation database update. DTC 03677 can
be cleared from the GEM /dtc screen as described in the previous section. In this case,
however, the internal qualified DTC number is 84 (Fig. C.6).
Applying value “84” in /dtc/control is expected to clear this DTC (Fig. C.7).
26 Feb 2023
42
APPENDIX D
The navigation data update is distributed typically as a collection of multi-part RAR files that are
downloaded from Internet archives to a local computer or storage device. For example, NAR
6.20.1 might have this collection of eight (8) multi-part RAR files downloaded individually to a
single directory/folder:
8R0051884GJ.part01.rar
…
8R0051884GJ.part08.rar
After each file is downloaded individually, the MD5 hash/checksum should be computed and
checked against the known MD5 checksum, which can be found in the accompanying md5sum
file. On Win10 systems, the MD5 hash can be computed from a command window prompt with
certutil:
On Linux systems, md5sum(1) can be used to compute the MD5 checksum of the downloaded
file.
When the computed md5sum is the same as the known md5sum, the integrity of the downloaded
file is assured. When the md5sums are different, assume that the downloaded RAR file did not
download and save correctly and retry until the md5sums match correctly.
26 Feb 2023
43
here. In all cases, selection of the first part of the multi-part archive is sufficient to extract the
entire archive. Avoid the use of the Linux Gnome Shell with the mounted SD card directly as it
can introduce hidden directories/folders that can cause updates to fail.
Ensure that the high speed 32 GB SDHC card is formatted as “FAT32” before files are extracted
or copied to the card. Windows 7 and 10 systems and Linux GParted are known to format these
cards successfully for MMI system updates.
Once extracted (and/or copied) to the SDHC card, the top level directory/folder will have four (4)
files and three (3) directories (using ls(1) on a Linux/Ubuntu desktop):
Original NAR navigation update media that is suitable for both MMI3G and MMI3GP releases
will contain 32 directories/folders and 64 files. If the extracted archive contains fewer than
these, the archive was modified for a specific release (i.e., either MMI3G or MMI3GP), and
should be applied accordingly.
At this point, the SDHC card is prepared properly for the navigation data update using the Red
Engineering Menu (section 3.0).
As distributed, the GEM is required to enable user-defined software update mode, as described in
Appendix B.2, above. User-defined software update mode can be enabled in the release directly
as follows:
1. In the top level (root) directory of the release, rename metainfo2.txt to metainfo2.orig.
2. Copy metainfo2.orig to metainfo2.txt.
3. Edit metainfo2.txt as an MS-DOS plain-text file and replace text line:
MetafileChecksum=XXXXXX
26 Feb 2023
44
EnableUserDefinedSWDLMode = "true"
skipMetaCRC = "true"
Validating the integrity of database components files can be tested before and after installation
using file size and checksum information included with the release.
The SD media can be validated prior to installation by inspecting the “.conf” files of database
components and comparing the published MD5 checksum with the computed MD5 checksum for
that database component file. Note that the list of packages used for a release is defined in the
MMI3GP_NAR_Hi_R_6_X_Y.pkg file. A prototype Unix shell script to check the validity of an SD
card prepared from an Internet archive download is presented below:
#!/bin/sh
# shell functions:
getpktname(){
sed -n 's/^PacketName = "//p' ${MMIVER}/metainfo2.txt | sed 's/"^M//'
}
getpkgfilelist(){
sed -n 's/^filedef=//p' $PKGFILE | sed 's/^M//' | sed 's/_ECE//'
}
getconffsect(){
sed -n '/\[file\]/,$p' pkgdb/${pfname}/${pfname}.conf
}
# Main:
case "$#" in
"0") MMIVER="MMI3GP" ;;
"1") MMIVER="$1"
case "$MMIVER" in
"MMI3G" | "MMI3GP") true ;;
*) echo "Usage: $(basename $0) [MMI3G | MMI3GP]"
exit 1 ;;
esac ;;
*) echo "Usage: $(basename $0) [MMI3G | MMI3GP]"
exit 1 ;;
esac
RELNAME="$(getpktname)"
echo "Checking release: $RELNAME"
PKGFILE=pkgdb/${RELNAME}.pkg
for pfname in $(getpkgfilelist); do
if [ -d pkgdb/${pfname} ]; then
dbfname=$(getconffsect | sed -n 's/^name=//p' | sed 's/^M//')
dbfsize=$(getconffsect | sed -n 's/^size=//p' | sed 's/^M//')
dbfmd5sum=$(getconffsect | sed -n 's/^MD5=//p' | sed 's/ ^M//')
dbfname2=pkgdb/${pfname}/${dbfname}
dbfsize2=$(stat -c '%s' $dbfname2)
if [ X"$dbfsize" = X"$dbfsize2" ]; then
26 Feb 2023
45
The ‘^M’ characters in the script are literal control-M characters, as found in MS-DOS text files.
After installation, the validity of the installed database components can be confirmed by
comparing the size and checksum values of component files against a list of known size and
checksum data computed from the database release. For NAR MMI3GP 6.24.0, these values are
presented below:
A prototype Unix shell script to prepare this list of file size and checksum data from an existing
release SD card is presented below:
#!/bin/sh
# shell functions:
getpktname(){
sed -n 's/^PacketName = "//p' ${MMIVER}/metainfo2.txt | sed 's/"^M//'
}
26 Feb 2023
46
getpkgfilelist(){
sed -n 's/^filedef=//p' ../$PKGFILE | sed 's/^M//' | sed 's/_ECE//'
}
getconffsect(){
sed -n '/\[file\]/,$p' ${pfname}/${pfname}.conf
}
# Main:
case "$#" in
"0") MMIVER="MMI3GP" ;;
"1") MMIVER="$1"
case "$MMIVER" in
"MMI3G" | "MMI3GP") true ;;
*) echo "Usage: $(basename $0) [MMI3G | MMI3GP]"
exit 1 ;;
esac ;;
*) echo "Usage: $(basename $0) [MMI3G | MMI3GP]"
exit 1 ;;
esac
RELNAME="$(getpktname)"
echo "# cksum data for release: $RELNAME"
PKGFILE=pkgdb/${RELNAME}.pkg
cd pkgdb
for pfname in $(getpkgfilelist); do
if [ -d ${pfname} ]; then
dbfname=$(getconffsect | sed -n 's/^name=//p' | sed 's/^M//')
cksum ${pfname}/$dbfname
fi
done
As above, the ‘^M’ characters in the script are literal control-M characters, as found in MS-DOS
text files. Output of the script is expected to be captured in a plain-text file by re-directing
standard out for use in the QNX shell script presented below:
#!/bin/ksh
PKGDATA=${SDLIB}/${MUVER}-nar6240-cksums.txt
getfield(){
sed -n 's/^\([^[:blank:]]*\)[[:blank:]]*\([^[:blank:]]*\)[[:blank:]]*\
\([^[:blank:]]*\)/\'$1'/p'
}
if [ -f "$PKGDATA" ]; then
cd /mnt/nav/db/pkgdb
sed '/^#/d' $PKGDATA | while read xrec; do
dbcname="$(echo $xrec | getfield 3)"
dbcsize="$(echo $xrec | getfield 2)"
dbccsum="$(echo $xrec | getfield 1)"
tvar1="$(cksum $dbcname)"
dbcsize2="$(echo $tvar1 | getfield 2)"
if [ "$dbcsize2" = "$dbcsize" ]; then
dbccsum2="$(echo $tvar1 | getfield 1)"
if [ "$dbccsum2" = "$dbccsum" ]; then
echo "OK: $dbcname"
else
echo "FAILED cksum: $dbcname : $dbccsum : $dbccsum2"
26 Feb 2023
47
fi
else
echo "FAILED size: $dbcname : $dbcsize : $dbcsize2"
fi
done
else
echo "ERROR: Cannot find cksum datafile $PKGDATA on SD card."
fi
Given that the time to compute the CRC32 checksum value with cksum is not insignificant for
very large (2 GB) database component files, we suggest this method be used only when a
navigation database fails to initialize properly after a successful nav database update. Also, the
run time of the script presented above will likely exceed the normal power time-out of the MMI
system; hence, be prepared to run this SD script with the ignition ON (engine OFF).
Note also that MMI3G (HNav) systems do not have the QNX executable binary file for the sed
command installed in directory /mnt/ifs-root/usr/bin. The script may be used on MMI3G
(HNav) systems with the HN+ QNX sed binary copied to the bin directory of the SD card.
26 Feb 2023
48
APPENDIX E
26 Feb 2023
49
26 Feb 2023
50
APPENDIX F
26 Feb 2023
51
26 Feb 2023
52
26 Feb 2023
53
APPENDIX G
G.1 Reference - MMI 3GP NAR 6.24.0 /mnt/nav/db File Size List
============================================
Size (b) File name
--------------------------------------------
206 DBInfo.txt
5 DBInfo.txt.SWDL.compatibility.txt
15 DBInfo.txt.SWDL.version.txt
233 config.nfm
5 config.nfm.SWDL.compatibility.txt
15 config.nfm.SWDL.version.txt
5 pkgdb/CTYS3TC_NAR.SWDL.compatibility.txt
15 pkgdb/CTYS3TC_NAR.SWDL.version.txt
5 pkgdb/GDB2_NAR.SWDL.compatibility.txt
15 pkgdb/GDB2_NAR.SWDL.version.txt
5 pkgdb/GDB_NAR.SWDL.compatibility.txt
15 pkgdb/GDB_NAR.SWDL.version.txt
5 pkgdb/LABEL_NAR.SWDL.compatibility.txt
15 pkgdb/LABEL_NAR.SWDL.version.txt
5 pkgdb/LIT3GP2_NAR.SWDL.compatibility.txt
15 pkgdb/LIT3GP2_NAR.SWDL.version.txt
5 pkgdb/LIT3GP3_NAR.SWDL.compatibility.txt
15 pkgdb/LIT3GP3_NAR.SWDL.version.txt
5 pkgdb/LIT3GP4_NAR.SWDL.compatibility.txt
15 pkgdb/LIT3GP4_NAR.SWDL.version.txt
5 pkgdb/LIT3GP5_NAR.SWDL.compatibility.txt
15 pkgdb/LIT3GP5_NAR.SWDL.version.txt
5 pkgdb/LIT3GP_NAR.SWDL.compatibility.txt
15 pkgdb/LIT3GP_NAR.SWDL.version.txt
2063 pkgdb/MMI3GP_NAR_Hi_R_6_24_0.pkg
5 pkgdb/MMI3GP_NAR_Hi_R_6_24_0.pkg.SWDL.compatibility.txt
15 pkgdb/MMI3GP_NAR_Hi_R_6_24_0.pkg.SWDL.version.txt
128 pkgdb/MMI3GP_NAR_Hi_R_6_24_0.pkg.sig
5 pkgdb/MMI3GP_NAR_Hi_R_6_24_0.pkg.sig.SWDL.compatibility.txt
15 pkgdb/MMI3GP_NAR_Hi_R_6_24_0.pkg.sig.SWDL.version.txt
5 pkgdb/PIT_NAR.SWDL.compatibility.txt
15 pkgdb/PIT_NAR.SWDL.version.txt
5 pkgdb/PSD2_NAR.SWDL.compatibility.txt
15 pkgdb/PSD2_NAR.SWDL.version.txt
5 pkgdb/PSD_NAR.SWDL.compatibility.txt
15 pkgdb/PSD_NAR.SWDL.version.txt
5 pkgdb/SDS3GP_NAR.SWDL.compatibility.txt
15 pkgdb/SDS3GP_NAR.SWDL.version.txt
5 pkgdb/TER2_NAR.SWDL.compatibility.txt
15 pkgdb/TER2_NAR.SWDL.version.txt
5 pkgdb/TER3_NAR.SWDL.compatibility.txt
15 pkgdb/TER3_NAR.SWDL.version.txt
5 pkgdb/TER_NAR.SWDL.compatibility.txt
15 pkgdb/TER_NAR.SWDL.version.txt
26 Feb 2023
54
5 pkgdb/TMC3GP_NAR.SWDL.compatibility.txt
15 pkgdb/TMC3GP_NAR.SWDL.version.txt
5 pkgdb/TMC_NAR.SWDL.compatibility.txt
15 pkgdb/TMC_NAR.SWDL.version.txt
5 pkgdb/XAC2_NAR.SWDL.compatibility.txt
15 pkgdb/XAC2_NAR.SWDL.version.txt
5 pkgdb/XAC_NAR.SWDL.compatibility.txt
15 pkgdb/XAC_NAR.SWDL.version.txt
567130288 pkgdb/CTYS3TC_NAR/3PN203NA20343P1597a.4_4.ATLAS
503 pkgdb/CTYS3TC_NAR/CTYS3TC_NAR.conf
2147358156 pkgdb/GDB_NAR/AJ031_v36a.gdb
481 pkgdb/GDB_NAR/GDB_NAR.conf
782338350 pkgdb/GDB2_NAR/AJ031_v36a.gd2
481 pkgdb/GDB2_NAR/GDB2_NAR.conf
473 pkgdb/LABEL_NAR/LABEL_NAR.conf
2048 pkgdb/LABEL_NAR/Label.DB
2147379200 pkgdb/LIT3GP_NAR/AJ031Pa_L1.db
486 pkgdb/LIT3GP_NAR/LIT3GP_NAR.conf
2147377152 pkgdb/LIT3GP2_NAR/AJ031Pa_L2.db
487 pkgdb/LIT3GP2_NAR/LIT3GP2_NAR.conf
2147389440 pkgdb/LIT3GP3_NAR/AJ031Pa_L3.db
487 pkgdb/LIT3GP3_NAR/LIT3GP3_NAR.conf
1128742912 pkgdb/LIT3GP4_NAR/AJ031Pa_L4.db
487 pkgdb/LIT3GP4_NAR/LIT3GP4_NAR.conf
1783846912 pkgdb/LIT3GP5_NAR/AJ031Pa_L5.db
486 pkgdb/LIT3GP5_NAR/LIT3GP5_NAR.conf
11290519 pkgdb/PIT_NAR/AJ031a.PIT
475 pkgdb/PIT_NAR/PIT_NAR.conf
2097141456 pkgdb/PSD_NAR/APN203NA20343P1595a.5_1.0.ATLAS
498 pkgdb/PSD_NAR/PSD_NAR.conf
684799712 pkgdb/PSD2_NAR/APN203NA20343P1595a.5_1.1.ATLAS
498 pkgdb/PSD2_NAR/PSD2_NAR.conf
481 pkgdb/SDS3GP_NAR/SDS3GP_NAR.conf
625029120 pkgdb/SDS3GP_NAR/SDS_Data.iso
2097143696 pkgdb/TER_NAR/86_DTM_3G_NT_NAR.4_4.0.ATLAS
494 pkgdb/TER_NAR/TER_NAR.conf
2097149808 pkgdb/TER2_NAR/86_DTM_3G_NT_NAR.4_4.1.ATLAS
495 pkgdb/TER2_NAR/TER2_NAR.conf
26 Feb 2023
55
1202786576 pkgdb/TER3_NAR/86_DTM_3G_NT_NAR.4_4.2.ATLAS
495 pkgdb/TER3_NAR/TER3_NAR.conf
487 pkgdb/TMC3GP_NAR/TMC3GP_NAR.conf
3307 pkgdb/TMC3GP_NAR/info.xml
10115072 pkgdb/TMC3GP_NAR/kN203NAx01t01.db
479 pkgdb/TMC_NAR/TMC_NAR.conf
6526976 pkgdb/TMC_NAR/kN123NAx08T01.db
482 pkgdb/XAC_NAR/XAC_NAR.conf
2141927424 pkgdb/XAC_NAR/kN203NAx01_0.db
482 pkgdb/XAC2_NAR/XAC2_NAR.conf
837376000 pkgdb/XAC2_NAR/kN203NAx01_1.db
ANY: /mnt/nav/db/pkgdb/PSD_NAR/APN203NA20343P1595a.5_1.0.ATLAS
ANY: /mnt/nav/db/pkgdb/TER3_NAR/86_DTM_3G_NT_NAR.4_4.2.ATLAS
ANY: /mnt/nav/db/pkgdb/GDB2_NAR/AJ031_v36a.gd2
ANY: /mnt/nav/db/pkgdb/PIT_NAR/AJ031a.PIT
ANY: /mnt/nav/db/pkgdb/TER_NAR/86_DTM_3G_NT_NAR.4_4.0.ATLAS
ANY: /mnt/nav/db/pkgdb/GDB_NAR/AJ031_v36a.gdb
ANY: /mnt/nav/db/pkgdb/LIT3GP_NAR/AJ031Pa_L1.db
ANY: /mnt/nav/db/pkgdb/XAC2_NAR/kN203NAx01_1.db
ANY: /mnt/nav/db/pkgdb/TMC3GP_NAR/kN203NAx01t01.db
ANY: /mnt/nav/db/pkgdb/PSD2_NAR/APN203NA20343P1595a.5_1.1.ATLAS
ANY: /mnt/nav/db/pkgdb/LIT3GP2_NAR/AJ031Pa_L2.db
#SDS: /mnt/nav/db/pkgdb/SDS3GP_NAR/SDS_Data.iso
#MNT(SDS): /mnt/nav/db/pkgdb/SDS3GP_NAR/SDS_Data.iso
ANY: /mnt/nav/db/pkgdb/CTYS3TC_NAR/3PN203NA20343P1597a.4_4.ATLAS
ANY: /mnt/nav/db/pkgdb/LIT3GP4_NAR/AJ031Pa_L4.db
ANY: /mnt/nav/db/pkgdb/LIT3GP3_NAR/AJ031Pa_L3.db
ANY: /mnt/nav/db/pkgdb/XAC_NAR/kN203NAx01_0.db
ANY: /mnt/nav/db/pkgdb/LABEL_NAR/Label.DB
ANY: /mnt/nav/db/pkgdb/TER2_NAR/86_DTM_3G_NT_NAR.4_4.1.ATLAS
26 Feb 2023
56
APPENDIX H
H.1 Notes on VAG Module Adaptation Using Xtool VAG401 Diagnostic Tool
With the VAG401 attached to the OBDII port and the ignition ON (engine OFF), open Module 5F:
Diagnosis systems >> Electrical system 2 >> 5f - Message options
After the module information is displayed, press [ENTER] to return to the function menu:
5f - Message options
===========================
>01-Control Unit Info
02-Read Fault Codes
05-Clear Fault Codes
08-Data block Measurement
03-Test actuator
04-Basic settings
10-Adaptation
07-Code Module
11-Code Module II
16-Access permission
15-Readiness
Use the arrow UP/DOWN keys to move the cursor (>) to “10-Adaptation” and press [ENTER] to
open the adaptation channel number input screen:
10-Adaptation
===========================
----------------------------
000
Use the UP/DOWN arrow keys to change the number at the current cursor position [0-9] and the
LEFT/RIGHT arrow keys to move the cursor to another digit position:
10-Adaptation
===========================
----------------------------
26 Feb 2023
57
006
With the correct channel number displayed (e.g., 006), press [ENTER] key to read the adaptation
channel:
Channel Number:006
===========================
>Matched data 00000
00000.00
When adaptation channel 6 value is ‘0’, the Green Engineering Menu is disabled. Press
[ENTER] key to proceed to adaptation value input:
10-Adaptation
===========================
----------------------------
00000
Use the UP/DOWN arrow keys to change the number at the current cursor position [0-9] and the
LEFT/RIGHT arrow keys to move the cursor to another digit position to set the right-most digit
to ‘1’:
10-Adaptation
===========================
----------------------------
00001
With the correct adaptation value entered (1), press [ENTER] key to review the adaptation
channel information:
Channel Number:006
===========================
>Matched data 00001
00000.00
26 Feb 2023
58
10-Adaptation
===========================
Press the [ENTER] key to save the new adaptation value to the control module. VAG401 will
report success with the message:
10-Adaptation
===========================
Adaption_success!
Press the [ESCAPE] key to return to the module function menu. The GEM can be accessed
directly without restarting the MMI.
Use the UP/DOWN arrow keys to change the number at the current cursor position [0-9] and the
LEFT/RIGHT arrow keys to move the cursor to another digit position:
10-Adaptation
===========================
----------------------------
015
With the correct channel number displayed (e.g., 015), press [ENTER] key to read the adaptation
channel:
Channel Number:015
===========================
>Matched data 00000
22657.00
For clearing DTC 03267, record the highlighted value below the first “Matched data” line (e.g.,
22657) and use this value to determine the result of: <channel 15 value> XOR 51666. Press
[ENTER] key to proceed to adaptation value input:
26 Feb 2023
59
10-Adaptation
===========================
----------------------------
00000
Use the UP/DOWN arrow keys to change the number at the current cursor position [0-9] and the
LEFT/RIGHT arrow keys to move the cursor to another digit position:
10-Adaptation
===========================
----------------------------
37203
With the correct adaptation value entered (e.g., 37203), press [ENTER] key to review the
adaptation channel information:
Channel Number:015
===========================
>Matched data 37203
22657.00
10-Adaptation
===========================
Press the [ENTER] key to save the new adaptation value to the module. VAG401 will report
success with the message:
10-Adaptation
===========================
Adaption_success!
Press the [ESCAPE] key to return to the module function menu to clear and re-read fault codes.
26 Feb 2023
60
APPENDIX J
#!/bin/ksh
sdcard=`ls /mnt|grep sdcard.*t`
dstPath=/mnt/$sdcard
runtstamp=`date +"%m/%d/%Y ""%T"`
mount -uw $dstPath
cd $dstPath
XX=`ls *.fsc | sed -n 1p`
if [ "$XX" != "" ]; then
FullFile=$dstPath/$XX
FSC=`echo $XX | sed -n -e 's/^.*\(_\)/\2/p'`
Token=`echo $XX | sed -n -e 's/\(_\).*/\2/p'`
else
echo -ne "$runtstamp - The activation token is not found, please refer to the
instructions.\r\n" >> $dstPath/install.log
/bin/rm -f /tmp/copie_scr.sh
echo > /tmp/copie_scr.sh
exit 0
fi
mac=`ifconfig uap0 | /usr/bin/grep "address:" | sed -e 's/^.*address: //'`
if [ "$mac" == "" ]; then
echo -ne "$runtstamp - Failed to get mac-address, was the ignition switch on?
continue anyway\r\n" >> $dstPath/install.log
#/bin/rm -f /tmp/copie_scr.sh
#echo > /tmp/copie_scr.sh
#exit 0
fi
f1=`echo $mac | sed 's/\(.\{8\}\).*/\1/' | sed "s/[^0-9]//g"`
s2=`echo $mac | sed 's/.*\(........\)/\1/' | sed "s/[^0-9]//g"`
c3=`echo $(($f1+$s2+1984))`
if [ "$c3" != "$Token" ]
then
echo -ne "$runtstamp - The WLAN EEPROM token ($Token) is not valid for this MMI
($mac), but we know what we are dooing.\r\n" >> $dstPath/install.log
#/bin/rm -f /tmp/copie_scr.sh
#echo > /tmp/copie_scr.sh
#exit 0
fi
/bin/mount -uw /mnt/efs-system
if test -a /sbin/mme-becker.sh ; then
# check if second install
XX=`/usr/bin/grep acios_db.ini /sbin/mme-becker.sh`
if [ ! -z "$XX" ]
then
# already installed - uninstall first!
echo -ne "$runtstamp - The activation is already installed\r\n" >>
$dstPath/install.log
/bin/rm -f /tmp/copie_scr.sh
echo > /tmp/copie_scr.sh
exit 0
26 Feb 2023
61
fi
# backup mme-becker.sh for later uninstall
/bin/cp /sbin/mme-becker.sh /sbin/mme-becker.sh.pre-navdb.bak
# remove mme-becker launch line
/usr/bin/sed "/\/sbin\/mme-becker/ d" < /sbin/mme-becker.sh >
/sbin/mme-becker.sh.new
/bin/mv /sbin/mme-becker.sh.new /sbin/mme-becker.sh
cat << 'EOF' > /sbin/mme-becker.sh
#!/bin/ksh
if test -a /HBpersistence/DLinkReplacesPPP ; then
(while true
do
XX=`ifconfig uap0 2>/dev/null`
if [ ! -z "$XX" ]
then
while true
do
XX=`ifconfig uap0 | grep "alias"`
if [ ! "$XX" == "" ]
then
exit 0
fi
/usr/sbin/dhcp.client -a -i uap0 -m -u
sleep 1
done
fi
sleep 1
done) &
fi
/sbin/mme-becker $@
EOF
chmod 777 /sbin/mme-becker.sh
else
# first install
/usr/bin/sed "s/\/mme-becker$/\/mme-becker.sh/" < /etc/mmelauncher.cfg >
/etc/mmelauncher.cfg.new
if ! test -a /etc/mmelauncher.cfg.orig ; then
# just keep original version - so just do this the first time
/bin/mv /etc/mmelauncher.cfg /etc/mmelauncher.cfg.pre-navdb.bak
fi
/bin/mv /etc/mmelauncher.cfg.new /etc/mmelauncher.cfg
cat << 'EOF' > /sbin/mme-becker.sh
#!/bin/ksh
if test -a /HBpersistence/DLinkReplacesPPP ; then
(while true
do
XX=`ifconfig uap0 2>/dev/null`
if [ ! -z "$XX" ]
then
while true
do
XX=`ifconfig uap0 | grep "alias"`
26 Feb 2023
62
if [ ! "$XX" == "" ]
then
exit 0
fi
/usr/sbin/dhcp.client -a -i uap0 -m -u
sleep 1
done
fi
sleep 1
done) &
fi
/sbin/mme-becker $@
EOF
chmod 777 /sbin/mme-becker.sh
fi
mount -uw /mnt/efs-persist/
rm -R -f /mnt/efs-persist/FSC/*
cp $FullFile /mnt/efs-persist/FSC/$FSC
echo -ne "$runtstamp - Installation successful\r\n" >> $dstPath/install.log
slay -9 `pidin | grep -i 'navcore'`
/bin/rm -f /tmp/copie_scr.sh
echo > /tmp/copie_scr.sh
#!/bin/ksh
# Exit the script if patch installed previously
if test -n "$(grep 'acios_db.ini' /usr/bin/manage_cd.sh)"
then
echo; echo "[INFO] Found MMI3G NavUnblocker patch installed. Done."
else
mes=/mnt/efs-system
mount -uw $mes
# NavUnblocker patch not installed; look for old mme-becker patch to remove
if test -a ${mes}/sbin/mme-becker.sh
then
if test -n "$(grep 'acios_db.ini' ${mes}/sbin/mme-becker.sh)"
then
if test -a ${mes}/etc/mmelauncher.cfg.pre-navdb.bak
then
echo; echo "[ACTI] Removing old mme-becker activator patch."
mv -v ${mes}/etc/mmelauncher.cfg ${mes}/etc/mmelauncher.cfg-TMP
mv -v ${mes}/etc/mmelauncher.cfg.pre-navdb.bak ${mes}/etc/mmelauncer.cfg
rm -v ${mes}/etc/mmelauncher.cfg-TMP
rm -v ${mes}/sbin/mme-becker.sh
fi
fi
fi
# Patch /usr/bin/manage_cd.sh
echo; echo "[ACTI] Appending patch to /usr/bin/manage_cd.sh ..."
mv -v ${mes}/usr/bin/manage_cd.sh ${mes}/usr/bin/manage_cd.sh-ORIG
26 Feb 2023
63
cp -v ${mes}/usr/bin/manage_cd.sh-ORIG ${mes}/usr/bin/manage_cd.sh
echo '/usr/apps/bench/TimeLogger "Starting MMI3G NavUnblocker patch"' >> \
${mes}/usr/bin/manage_cd.sh
echo '(waitfor /mnt/lvm/acios_db.ini 180 && sleep 10 && slay vdev_logvolmgr) &' >> \
${mes}/usr/bin/manage_cd.sh
chmod 0777 ${mes}/usr/bin/manage_cd.sh
touch -r ${mes}/usr/bin/manage_cd.sh-ORIG ${mes}/usr/bin/manage_cd.sh
This is a virtual device driver for managing logical volumes and data carriers, as well as database
packages and definitions.
To allow debugging and usage, the LVM comes with a terminal to access LVM functions directly.
Starting the terminal won't start the LVM - you need another instance of the LVM to use the
terminal.
Options:
-v Increase verbosity level by one (max 5).
-c Force the LVM to use cp instead of qkcp. Specify this option in case qkcp is not
available. Important: Copy progress information is not available without qkcp.
-b Bind packages strictly to file definitions that are on the same storage device. Use this
option to prevent that packages on storage devices with corrupt file definitions are
reported as 'GOOD', and prevent binding to other file definitions on other storage
devices.
-r Force remount of storage device if a config.nfm cannot be located and the storage
device is in read only mode. The LVM will remount the device to create a new
package database.
-L Specify fully qualified path to vdev-fsys-dbc. The default is the current working
26 Feb 2023
64
directory.
-M /hbsystem/multicore/q
-k Automatically remove files that don't belong into the package database. Use this to
allow the LVM to automatically remove file definitions that have lost their .conf files
for whatever reason. This operation will be performed during a mount operation.
Additionally, file definitions with broken configuration files will also be removed.
Please keep in mind that the file will also be regarded as broken if the cipher key
doesn't match when using scrambled configuration files, so it is vital that this option is
not used with rewritable installation media such as USB sticks or SD cards without
write protection.
-U Override O_NONBLOCK in open modes and unblock console I/O after one second,
even if no data has arrived.
-H Skip header checks after copying a file to the package database. Do this when the file
system cannot garuantee cache coherency after Direct-IO operations.
-D When activating a package, put an acios_db.ini file into the root of the given storage
device. The file will be updated with every activation issued.
-A When activating a package, put an acios_db.ini file into the position specified by the
ACTIVATE PACKAGE command. This only works if the given location already exists and
is not implicitly created by the activation itself in the form of a symbolic link.
-R Force reclaim of space taken up by deleted files that were in use when a device is
being remounted.
-C Set directory for checkpoint files. Checkpoint files are stored at the given directory.
Make sure to specify the correct directory to prevent possible damage to other
directories - The directory will be destroyed after a successfull database activation.
-d Specify this parameter if you want to remove checkpoints in the checkpoint directory
from remaining installations that where never finished. This will occur after each
attempt to execute an ACTIVATE or DELETE PACKAGE command, as the LVM will
26 Feb 2023
65
assume that the installation has been completed and other checkpoint files are not
needed anymore.
-K Specify a cipher that will be used to decipher the configuration files. it is highly
recommended to set this option. It must be specified in hexadecimal without prefixes.
You may specify up to 40 bytes. It should differ between projects.
-p Specify a comma separated list of file definition types. Links to file definitions of the
given types will be put into the root directory of the storage device upon activation,
e.g.:
-p SDS,MAPSTYLE
The files will keep their original extension, but the name of the file will be that of its
type. Because of that, if multiple file definitions of the same type are activated, they
must have different extensions. It is therefore not recommended to use this for
multiple files.
-P Set a directory where the LVM can storage intermediate results from package checks.
These files are maintained by the LVM during runtime, and will be removed with the
file definitions. If the file definitions are not removed by the LVM, this directory may
accumulate files with a integrity_check* prefix. The user application should clear that
directory in that case. The files are also removed as soon as a storage device is
initialized. Alternatively, a non-existent directory or device may be specified.
-Q Execute quick check after each package installation. All file definitions belonging to
the package will be checked automatically according to the quick check information
stored in the file definition configuration.
-n Set the size to be used when performing checks through the EXECUTE THOROUGH
CHECK command. If the value is smaller than the size of the file, the application can
repeat the test until all of the file has been checked. Use this to perform background
checks. The default value is 50000000. Set to 0xffffffff if all of the file should be
checked at once. Also see option -P for the checkpoints created by this function.
-B Set alternate name for acios_db.ini files generated by the LVM. Do not specify a path
26 Feb 2023
66
-W Specify if packages ('p') or filedefs ('f') should be only loaded when they are
scrambled.
-w Specify a list of storage device where automatic repair should take place. Only storage
devices specified here will be automatically repaired. Should only be specified if
option k is not specified.
-J Write compressed variant of file to acios_db.ini even if it has been instantiated to its
decompressed variant during runtime.
-g Automatic discard of orphaned file definitions. Will be attempted after each successful
package activation. This will also clear the checkpoint and file integrity check cache.
Following installations and file checking operations will start over.
-E Abort package installations on the first error encountered. Do not skip the file.
-Y Specify the maximum time for a read recovery. The recovery may take longer if the
underlying access operation takes too long.
Examples:
./vdev-logvolmgr -v -v -v -v -v Start LVM with highest verbosity level.
./vdev-logvolmgr -t Start LVM in terminal mode.
./vdev-logvolmgr -v -v -v -c Start LVM with medium verbosity and cp
There are no recommended settings, but the options d,C,K,l,r,b,n,k,Q,P should considered for
usage in a production environment.
26 Feb 2023
67
LVM messages consist of 7-bit ASCII characters, padded to 8-Bit. Extended character sets may be
used as long as they don't interfere with ASCII control codes, including CR, LF and NUL.
Messages coming from the LVM may be protected with a simple integrating checksum
mechanism:
checksum = 0
for each character in message
add ascii value of character to checksum modulo 256
next
The checksum delimiter ‘*’ will be included into the checksum. In this example, a message is
received by the user:
100 ABCDEF,*??
To confirm the checksum that is placed by the LVM into the positions marked by ??, the user
must calculate the checksum for the characters
100 ABCDEF,*
The checksum is given in uppercase hexadecimal notation without prefixes.
Storage devices must be made accessible to the LVM by announcing their presence. Only then
the LVM will start to access the device. The announcement may be performed by sending a
MOUNT command to the LVM. See the command listing for details.
There are three main types of resources the LVM does handle:
1) Storage Devices
A storage devices is a device the LVM uses to store other resources
2) Packages
A package describes a list of file definitions that belong to each other logically. Users are
supposed to handle packages only - single file definitions are handled by the LVM
according to the specification inside the package definition.
3) Files
26 Feb 2023
68
A file is a user defined file that is described by a file definition. A file definition contains
additional information about a file that is normally not stored inside a file system, such as
checksums.
The LVM always tries to make packages complete. This is accomplished by trying to find valid
and working files that are referenced in the package description. Please note that the resolver
doesn't care if a file is on the same storage device as the packet definition. If the file is on the
same storage device, it will be preferred, but files from other storage devices may be used by the
package if no compatible and working file is found on the same storage device. Make sure to get
package details by using the DISPLAY PACKAGE command (details below) to check if all the files
that are currently referenced by the package are on the same storage device as the package.
Failing to do so may cause inoperability as soon as a storage device has been removed, leading to
an incomplete and inoperable package.
Option -b may be used to deactivate this kind of behavior. If the option is active, the LVM will
bind packages to file definitions on the same storage device the package is residing on.
/mnt/lvm/comif/sdh
This is the name of the solitary device handler, and other features that are used for debugging
and testing of the LVM. It provides a way to start an automatic installation of databases packages,
and also implements an automounter to automatically mount and use USB-Sticks, DVD-Media
and other sources to perform an installation.
THIS INTERFACE IS CURRENTLY NOT SUPPORTED.
26 Feb 2023
69
DISPLAY RESOURCES
Shows a list of resources currently maintained by the LVM. The list sent as a type 30x response
(see below), and holds the following comma separated data
(in order of appearance):
name of the resource
type of the resource (LVM_TPE_PACKAGE, LVM_TPE_STORAGE, LVM_TPE_FILEDEF)
residence of the resource (storage device it's residing on)
location of the resource (current system path)
version information
26 Feb 2023
70
26 Feb 2023
71
Removes file definitions that are not referenced by a package from a storage device. May be
used to clean up a storage device with broken packet definitions.
DELETE FILE DEFINITION <fdef name> FROM STORAGE DEVICE <storage name>
Removes a file definition regardless of its state, as long the storage device specified is fully
operable. Use this to delete individual file definitions in case they are not referenced by a
package on the same storage device and they take up space needed by a new installation.
26 Feb 2023
72
MARKET informs the client about the market the package is intended for.
301 SEQ05, VERSION=12.3.2
VERSION informs the user about the version of the package.
301 SEQ05, CUSTOMER=ExampleCustomer
CUSTOMER informs the user about the customer the package is intended for.
301 SEQ06, TYPE=base
TYPE informs the user about the type of the package.
301 SEQ07, SET=daisychain,2,1,<NEXTPACKAGENAME>
SET informs the user about the type of set, if there is any.
+++ABORT
Abort the current operation. This command must be sent as a complete string, or abortion will
not occur. The operation may be finished before the abortion comes into effect.
201 <event>
This is an asynchronious event and informs the user about a changing condition in response to a
command. At the moment, there is only one event defined:
26 Feb 2023
73
206 <topic>
This message may be sent by the LVM to indicate the topic of the upcoming process, and may be
used by the user to find out what exactly is currently being handled by the LVM.
210 <percent>,<bytetotal>,<bytedone>,<timetotal>,<timedone>,<datarate>
This message may be sent by the LVM during an INSTALL operation. It indicates the overall
progress in percent with regard to the file size of all the file definitions being transferred. If a
value is not supported by the current LVM, there will be no characters between the commas.
This message may also be generated during REPLACE operations, as REPLACE operations will
invoke an INSTALL operation internally.
26 Feb 2023
74
3XX SEQ<seqno>,<anydata>
This message is sent in response to DISPLAY commands. Field anydata contains command
specific data. The caller is supposed to know the format of the response. Data is transferred in a
comma separated list, or in a KEY=VALUE fashion, depending on the command. The <seqno>
assumes the value of the current line in the output stream. This type of message is only sent if a
process sent a request command before. X may take a value from 00-99.
26 Feb 2023
75
26 Feb 2023