Audizine - An Automotive Enthusiast Community

Results 1 to 14 of 14
  1. #1
    Junior Member One Ring StanNB's Avatar
    Join Date
    Oct 22 2024
    AZ Member #
    996647
    My Garage
    BMW E46, Kawasaki Z1000
    Location
    Germany

    Wanted: Bordbook removal script for MMI 3G HN+

    Guest-only advertisement. Register or Log In now!
    Hey experts,

    since i have no skills in writing a sh-script for the MMI 3G, i try my luck here.
    I have installed a modified bordbook on my MMI and I want to delete those files from the internal disk.
    The bordbook installs the following files and folders that needs to be deleted:

    source: metainfo2.txt

    Destinations:
    Code:
    /mnt/gracenode/boardbook/boardbook_cs_CZ.iso
    /mnt/gracenode/boardbook/boardbook_de_DE.iso
    /mnt/gracenode/boardbook/boardbook_en_GB.iso
    /mnt/gracenode/boardbook/boardbook_es_ES.iso
    /mnt/gracenode/boardbook/boardbook_fr_FR.iso
    /mnt/gracenode/boardbook/boardbook_it_IT.iso
    /mnt/gracenode/boardbook/boardbook_nl_NL.iso
    /mnt/gracenode/boardbook/boardbook_pl_PL.iso
    /mnt/gracenode/boardbook/boardbook_pt_PT.iso
    /mnt/gracenode/boardbook/boardbook_ru_RU.iso
    /mnt/gracenode/boardbook/boardbook_sv_SE.iso
    /mnt/gracenode/boardbook/boardbook_tr_TR.iso

    Files to be deleted:
    Code:
    /mnt/gracenode/boardbook/browser.manifest
    /mnt/gracenode/boardbook/boardbook.is?
    /mnt/gracenode/boardbook/boardbook.is?.SWDL.compatibility.txt
    /mnt/gracenode/boardbook/boardbook.is?.SWDL.version.txt
    source: metainfo3.txt

    Files to be deleted:
    Code:
    /net/mx/mnt/boardbook/update.txt
    /net/mmx/mnt/boardbook/boardbook_cs_CZ.iso
    /net/mmx/mnt/boardbook/boardbook_de_DE.iso
    /net/mmx/mnt/boardbook/boardbook_en_GB.iso
    /net/mmx/mnt/boardbook/boardbook_es_ES.iso
    /net/mmx/mnt/boardbook/boardbook_fr_FR.iso
    /net/mmx/mnt/boardbook/boardbook_it_IT.iso
    /net/mmx/mnt/boardbook/boardbook_nl_NL.iso
    /net/mmx/mnt/boardbook/boardbook_pl_PL.iso
    /net/mmx/mnt/boardbook/boardbook_pt_PT.iso
    /net/mmx/mnt/boardbook/boardbook_ru_RU.iso
    /net/mmx/mnt/boardbook/boardbook_sv_SE.iso
    /net/mmx/mnt/boardbook/boardbook_tr_TR.iso

    The script should contain 3 screens: start, working and finish.
    A log-file would be nice, too, with timestamp, error messages and list of existing files and/or folders to delete (if the files exists). And the script should not stop working if one fille is missing (in case of modiefied bordbook with only one language, like I did).

    I hope that is not to complicated. Thank you !!

    BTW: I placed an external hyperlink (h t t p s://...) to my modified bordbook-index-file, but the link won't open, there is no reaction. Can't the MMI internal browser open any hyperlinks to the www?

    Greets !!

  2. #2
    Veteran Member Three Rings DrGER's Avatar
    Join Date
    Aug 31 2014
    AZ Member #
    279216
    My Garage
    '17 Audi A4Q 6MT CYMC/RJN, '11 VW GOV TDI 6MT CJAA/LHD
    Location
    NW OH USA

    What is your goal here, to remove BORDBOOK completely from the MMI3GP system, or only certain components ? The Harmon-Becker software installation process writes files to persistent flash memory (/mnt/efs-persist/SWDL) and the HDD in /mnt/gracenode/boardbook.

    Remove boardbook files stored on the HDD using an SD script with:
    Code:
    ...
    mount -uw /mnt/gracenode
    ls -o /mnt/gracenode/boardbook/
    rm -v /mnt/gracenode/boardbook/browser_manifest
    rm -v /mnt/gracenode/boardbook/browser.manifest.SWDL.compatibility.txt
    rm -v /mnt/gracenode/boardbook/browser.manifest.SWDL.version.txt
    rm -v /mnt/gracenode/boardbook/boardbook.iso
    rm -v /mnt/gracenode/boardbook/boardbook.iso.SWDL.compatibility.txt
    rm -v /mnt/gracenode/boardbook/boardbook.iso.SWDL.version.txt
    ls -o /mnt/gracenode/boardbook/
    ...
    Regarding embedded external URLs in your custom boardbook, unless your MMI3GP has an active internet connection using the integrated 3G modem or an external LTE router (via a USB/Ethernet adapter), the embedded browser has no way to retreive HTML from the remote URL. Note that the Audi connect function for weather and other information uses the embedded browser to display information retreived from Audi back-end servers, so we know it should work, in theory. --g
    2017 B9 A4Q P+ 2.0T 6MT Daytona Gray. Previous: 2014 B8.5 A4Q P+ 2.0T 6MT Monsoon Gray; 2009 B8 A4Q P+ 2.0T 6MT Brilliant Red; 2005 B6 A4Q 1.8T 6MT Cambridge Green; 1995 B4 A90Q V6 5MT Pearl White; 1990 B3 A80Q I5 5MT Crystal Silver; 1984 C3 5000S I5 5MT Montego Black; 1978 C2 5000 I5 4AT Helios Blue; 1977 C1 100LS I4 4AT Signal Green; 1974 B1 Fox I4 4AT Sahara Sand.

  3. #3
    Junior Member One Ring StanNB's Avatar
    Join Date
    Oct 22 2024
    AZ Member #
    996647
    My Garage
    BMW E46, Kawasaki Z1000
    Location
    Germany

    Quote Originally Posted by DrGER View Post
    What is your goal here, to remove BORDBOOK completely from the MMI3GP system, or only certain components ?
    I want to remove all boardbook files.

    I started at first to log all installed files, but the script doesn't start after insert in the MMI. Pls don't laugh, I have no idea about sh scripts.
    My first try that doesn't work:

    Code:
    #!/bin/ksh
    
    # Script startup:
    xversion=v241027
    showScreen ${SDLIB}/mmi3g-0.png
    touch ${SDPATH}/.started
    xlogfile=${SDPATH}/run-$(getTime).log
    exec > ${xlogfile} 2>&1
    umask 022
    echo "[INFO] Start: $(date); Timestamp: $(getTime); MU: $MUVER"
    
    echo; echo "[INFO] MMI3G+ Bordbook remover: bordbookremover-$xversion"
    
    # Exit the script if MMI3G is Basic
    if [ "$MUVER" = MMI3GB ]
    then
    showScreen ${SDLIB}/mmi3g-bnav-e.png
      echo; echo "[INFO] Wrong MMI3G Model, MMI3G Basic is not suported for this script."
    else
    showScreen ${SDLIB}/mmi3g-1.png
    mes=/mnt/gracenode
    	mount -uw $mes
    	# List installed bordbook files in Gracenode
    	echo; echo "[INFO] ls ${mes}/boardbook/ ($(date)):"
    	ls -o ${mes}/boardbook/
    
    mep=/net/mmx/mnt
    	mount -uw $mep
    	# List installed bordbook files in net/mmx/mnt
    	echo; echo "[INFO] ls ${mep}/boardbook/ ($(date)):"
    	ls -o ${mep}/boardbook/
    fi	
    
    ### Script cleanup ###
    echo; echo "[INFO] End: $(date); Timestamp: $(getTime)"
    showScreen ${SDLIB}/mmi3g-2.png
    rm -f ${SDPATH}/.started
    exit 0
    Regarding embedded external URLs in your custom boardbook, unless your MMI3GP has an active internet connection using the integrated 3G modem or an external LTE router (via a USB/Ethernet adapter), the embedded browser has no way to retreive HTML from the remote URL.
    The MMI is connected with the internal SIM-Card, AudiConnect is working, but the external link I created in the boardbook doesn't work.

    I wish I would have the knowledge about that stuff you have.

    Thanks for your help, Dr!!

  4. #4
    Veteran Member Three Rings DrGER's Avatar
    Join Date
    Aug 31 2014
    AZ Member #
    279216
    My Garage
    '17 Audi A4Q 6MT CYMC/RJN, '11 VW GOV TDI 6MT CJAA/LHD
    Location
    NW OH USA

    @StanNB -- Your "run.sh" script looks OK to me. I assume that you have this on a FAT32 SD card that also has encrypted script copie_scr.sh in the root/top folder of the SD card and that your MMI3GP system is started fully (that is, all functions can be selected and operate correctly). When a properly configured FAT32 SD card is inserted into a running MMI3G system, a system process watches for insertion events and tries to identify the contents of the SD card. If the process finds encrypted file copie_scr.sh on the SD card, the process tries to decrypt the file to file /dev/shmem/copie_scr.sh as plain-text, and tries to launch the script as a new process. Our version of copie_scr.sh sets up the shell environment and "execs" plain-text shell script run.sh in the root directory of the SD card. But sometimes (not often) the SD card insertion event does not get processed correctly, so if the initial screen doesn't appear in, say, 10 seconds, you should eject the SD card, wait about 10 seconds, then re-insert.

    In your case, you should find a (new) plain-text log file in the SD card root directly for every successful insertion event.

    Note also that files in /net/mmx refer to next generation MIB systems; Harman-Becker MMI3G does not use file system /net/mmx. --g
    2017 B9 A4Q P+ 2.0T 6MT Daytona Gray. Previous: 2014 B8.5 A4Q P+ 2.0T 6MT Monsoon Gray; 2009 B8 A4Q P+ 2.0T 6MT Brilliant Red; 2005 B6 A4Q 1.8T 6MT Cambridge Green; 1995 B4 A90Q V6 5MT Pearl White; 1990 B3 A80Q I5 5MT Crystal Silver; 1984 C3 5000S I5 5MT Montego Black; 1978 C2 5000 I5 4AT Helios Blue; 1977 C1 100LS I4 4AT Signal Green; 1974 B1 Fox I4 4AT Sahara Sand.

  5. #5
    Junior Member One Ring StanNB's Avatar
    Join Date
    Oct 22 2024
    AZ Member #
    996647
    My Garage
    BMW E46, Kawasaki Z1000
    Location
    Germany

    OK I'll re-format the SD and use your copie_scr.sh from Github.

    Is the VIN stored on the HDD, too to echo it on a log?

    I also want to log the version (part) number of the boardbook what is stored in the AudiUpdate.txt on "/mnt/gracenode/boardbook/", looks like: "version.default=161.565.8F0.99".
    But I have no plan with find and replace. Simular to your code it could be something like this (just an idea):

    Code:
    ### Get installed Boardbook Version ###
    AUDUPD=/mnt/gracenode/boardbook/AudiUpdate.txt
    if [ -e "$AUDUPD" ]
    then
      BBPN="$(sed -n 's/^version.default=//p' $AUDUPD | sed 's/
    $//')"
      echo; echo "[INFO] Boardbook Version number: $BBPN"

    Thanks again!

  6. #6
    Veteran Member Three Rings DrGER's Avatar
    Join Date
    Aug 31 2014
    AZ Member #
    279216
    My Garage
    '17 Audi A4Q 6MT CYMC/RJN, '11 VW GOV TDI 6MT CJAA/LHD
    Location
    NW OH USA

    @StanNB -- You can use the copie_scr.sh file from any of my GitHub SD ZIP archives for your Bordbook remover script.

    Regarding the VIN, I haven't seen this made visible easily anywhere in the QNX user space. The big Java/j9 process that implements the MMI3G user interface can access it through the MMI3GApplication process, but we don't have any means of finding this information from a shell script. If you try to retreive nav destinations from a connected myAudi account, you'll see that a Java debugging message is sent to the QNX syslog with the VIN:
    Code:
    00:02:44 LC62DBUG:MyAudiConnector: set VIN "WAUHFAFL4EN0xxxx8"
    00:02:44 LC62DBUG:MyAudiConnector: set IMSI "232106908113543"
    00:02:44 LC62DBUG:MyAudiConnector: set pairing code "8xxxxxx6"
    ...
    00:02:45 LC62DBUG:LeanSoapTransport: Performing login with IMSI: 232106908113543 VIN: WAUHFAFL4EN0xxxx8
    I tried some simple approaches using compiled Java code to access the VIN, but these returned only NULL strings, and then we sold the car soon after.

    When you use sed to extract version text strings from configuration files like AudiUpdate.txt, you should know whether the lines of the file are terminated with the DOS-style '^M' character, which is what the second sed does in the example you offered, above. If the file does not contain any '^M' characters, the extra sed is harmless (but is not strictly necessary). Still, you have the correct idea here.

    BTW, thinking about your external URL reference, the embedded UI browser (written in Java) has no concept of public HTTPS certificate files, so secure HTTP connections are likely to fail. The connections to myAudi destinations uses an embedded certificate for connections to Audi back-end servers. --g
    2017 B9 A4Q P+ 2.0T 6MT Daytona Gray. Previous: 2014 B8.5 A4Q P+ 2.0T 6MT Monsoon Gray; 2009 B8 A4Q P+ 2.0T 6MT Brilliant Red; 2005 B6 A4Q 1.8T 6MT Cambridge Green; 1995 B4 A90Q V6 5MT Pearl White; 1990 B3 A80Q I5 5MT Crystal Silver; 1984 C3 5000S I5 5MT Montego Black; 1978 C2 5000 I5 4AT Helios Blue; 1977 C1 100LS I4 4AT Signal Green; 1974 B1 Fox I4 4AT Sahara Sand.

  7. #7
    Junior Member One Ring StanNB's Avatar
    Join Date
    Oct 22 2024
    AZ Member #
    996647
    My Garage
    BMW E46, Kawasaki Z1000
    Location
    Germany

    Quote Originally Posted by DrGER View Post
    You can use the copie_scr.sh file from any of my GitHub SD ZIP archives for your Bordbook remover script.
    Ok, i did. I use your showScreen and your folders, too, but the script won't start. I changed some code in the run.sh and tried another SD, but nothing. Your other stuff runs like a charm, but mine dont like to work. Thats really frustrating.
    Could you pls have a look to the run.sh?

    Code:
    #!/bin/ksh
    
    ### Script startup ###
    xversion=v241030
    showScreen ${SDLIB}/bbrem-0.png
    touch ${SDPATH}/.started
    xlogfile=${SDPATH}/run-$(getTime).log
    exec > ${xlogfile} 2>&1
    umask 022
    echo "[INFO] Start: $(date); Timestamp: $(getTime)"
    
    echo; echo "[INFO] MMI3G Bordbook Remover: bbremover-$xversion"
    
    mes=/mnt/gracenode
    mount -uw $mes
    ### Get installed Boardbook Version ###
    AUDUPD=/mnt/gracenode/boardbook/AudiUpdate.txt
     if [ -e "$AUDUPD" ]
      then
       BBPN="$(sed -n 's/^version.default="//p' $AUDUPD | sed 's/".*$//')"
    	echo; echo "[INFO] Boardbook Version number: $BBPN"
    	fi
    ### List installed bordbook files in Gracenode ###
    	echo; echo "[INFO] ls ${mes}/boardbook/ :"
    	ls -o ${mes}/boardbook/
    
    mep=/mnt/efs-persist
    	mount -uw $mep
    ### List installed bordbook files in SWDL ###
    	echo; echo "[INFO] ls ${mep}/SWDL/ :"
    	ls -o ${mep}/SWDL/
    	
    ### Script cleanup ###
    echo; echo "[INFO] End Timestamp: $(getTime)"
    showScreen ${SDLIB}/bbrem-1.png
    rm -f ${SDPATH}/.started
    exit 0

    I tried some simple approaches using compiled Java code to access the VIN, but these returned only NULL strings, and then we sold the car soon after.
    Thanks for your explanations. I think we can forget the VIN.

    When you use sed to extract version text strings from configuration files like AudiUpdate.txt, you should know whether the lines of the file are terminated with the DOS-style '^M' character, which is what the second sed does in the example you offered, above.
    I dont really know that, but If the script maybe like to work some day I'll check the echo and see what happens.

    BTW, thinking about your external URL reference, the embedded UI browser (written in Java) has no concept of public HTTPS certificate files, so secure HTTP connections are likely to fail.
    Good to know. Another part we can forget, but its no pronlem.

    Greets!!

  8. #8
    Veteran Member Three Rings DrGER's Avatar
    Join Date
    Aug 31 2014
    AZ Member #
    279216
    My Garage
    '17 Audi A4Q 6MT CYMC/RJN, '11 VW GOV TDI 6MT CJAA/LHD
    Location
    NW OH USA

    @StanNB -- Mis-matched quote characters " or ' can cause shell scripts to fail, so be extra careful with those.

    Are you using a Unix-friendly plain-text editor for your (new) run.sh file ?

    My quick reading of your proposed shell script does not find any obvious problem that should cause the script to not run.

    I suggest that you try to run this SD script in SD slot 2; wait at least 10 seconds after inserting the SD card before ejecting it again. Then, wait another 10 seconds and repeat the insertion to slot 2.
    After ejecting the SD card with your run.sh script, run my MMI3G Info reporting script using a second SD card inserted into slot SD 2. When it completes, inspect the log file for SD insertion events recorded in the syslog (last part of the log file); do you find evidence that proc_scriptlauncher tried to process either of the earlier insertions, for example:
    Code:
    00:08:51    6 20002   2206 ==> CardDetect Interrupt
    00:08:51    6 20002   2206 == monitor thread: got 0x7f
    00:08:51    7 20002   2206 sdcInitHw: ctrl:1 stat:514 ien:0 flag:140000 ifcs:0
    00:08:52    4 20002   2206 sdcSetFreq: SDC clock: 200000Hz
    00:08:52    5 20002   2206 sdcIdentification: Ver 2.00 comliant SDC detected: try to initialize...
    00:08:52    5 20002   2206 Card's       Supply Range: 2.70 V ... 3.60 V
    00:08:52    5 20002   2206 sdcIdentification: SDC is not a HC card.
    00:08:52    5 20002   2206 sdcGetGeom: capacity = 1967128576Byte (1921024 * 1024Byte)
    00:08:52    5 20002   2206 sdcGetSpeed: Card speed is: 25000000
    00:08:52    4 20002   2206 sdcSetFreq: SDC clock: 22000000Hz
    00:08:52    5 20002   2206 sdcGetTimeouts: TAAC=2.0*1ms=2000000.000000ns NSAC=0=0.000000ns R2W_FACTOR=32
    00:08:52    5 20002   2206 sdcGetTimeouts: timeouts set: rd:160ms wr:4080ms
    00:08:52    5 20002   2206 == driver thread starting ...
    00:08:52    5 20002   2206 DMA channel 258 used
    00:08:52    5 20002   2206 == driver thread: entering handler loop ...
    00:08:52    5 20002   2206 devb-sdc-hbfpga: ins:1
    00:08:52    5 20002   2206 devb-sdc-hbfpga: type:2 sub_type:441 vid:2 did:544d speed:25000000
    00:08:52    5 20002   2206 devb-sdc-hbfpga: product:'SD02G' s/n:ad759b2b
    00:08:52    5 20002   2206 devb-sdc-hbfpga: diskname:'sdcard2'
    00:08:52    5 20002   2206 devb-sdc-hbfpga: write prot.: false
    00:08:52    5 20002   2206 devb-sdc-hbfpga: device not used: false
    00:08:52    2     5   100 cam-disk.so (Sep  7 2012 14:44:35)
    00:08:52    6 20002   2206 == monitor thread: done.
    00:08:52    3    23     0 /mnt/sdcard20t12 media inserted
    00:08:52    5    23     0 /mnt/sdcard20t12 forcing rule SD_CARD_RIGHT - match
    00:08:52    4    23     0 /mnt/sdcard20t12:SD_CARD_RIGHT - client 0:208939
    00:08:52    5    23     0 /mnt/sdcard20t12 trying rule SW_UPDATE - fail
    00:08:52    5    23     0 /mnt/sdcard20t12 forcing rule NOT_SW_UPDATE - match
    00:08:52    4    23     0 /mnt/sdcard20t12:NOT_SW_UPDATE - client 0:208939
    00:08:52    5    23     0 /mnt/sdcard20t12 trying rule BOARD_BOOK - fail
    00:08:52    5    23     0 /mnt/sdcard20t12 forcing rule NOT_BOARD_BOOK - match
    00:08:52    4    23     0 /mnt/sdcard20t12:NOT_BOARD_BOOK - client 0:208939
    00:08:52    5    23     0 /mnt/sdcard20t12 trying rule NAVI_UPDATE - fail
    00:08:52    5    23     0 /mnt/sdcard20t12 forcing rule NOT_NAVI_UPDATE - match
    00:08:52    4    23     0 /mnt/sdcard20t12:NOT_NAVI_UPDATE - client 0:208939
    00:08:53    5 20001     0 proc_scriptlauncher: ATTACH: [ADD_SDC_MSD_/mnt/sdcard20t12]
    00:08:53    5 20001     0 proc_scriptlauncher: In Funktion script_decoder
    00:08:53    5 20001     0 proc_scriptlauncher: Das Anlegen der Scriptdatein in diesem Verzeichnis /dev/shmem/copie_scr.sh war erfolgreich
    00:08:53    5 20001     0 proc_scriptlauncher: Beginne mit decodieren
    Also inspect the script SD card for incomplete log files that might contain error messages. --g
    2017 B9 A4Q P+ 2.0T 6MT Daytona Gray. Previous: 2014 B8.5 A4Q P+ 2.0T 6MT Monsoon Gray; 2009 B8 A4Q P+ 2.0T 6MT Brilliant Red; 2005 B6 A4Q 1.8T 6MT Cambridge Green; 1995 B4 A90Q V6 5MT Pearl White; 1990 B3 A80Q I5 5MT Crystal Silver; 1984 C3 5000S I5 5MT Montego Black; 1978 C2 5000 I5 4AT Helios Blue; 1977 C1 100LS I4 4AT Signal Green; 1974 B1 Fox I4 4AT Sahara Sand.

  9. #9
    Junior Member One Ring StanNB's Avatar
    Join Date
    Oct 22 2024
    AZ Member #
    996647
    My Garage
    BMW E46, Kawasaki Z1000
    Location
    Germany

    Quote Originally Posted by DrGER View Post
    Are you using a Unix-friendly plain-text editor for your (new) run.sh file ?
    Yes, I use notepad++ for html and php, its my favourite tool for one of my hobbys, building websites. And its usefull for sh, too.

    When it completes, inspect the log file for SD insertion events recorded in the syslog (last part of the log file); do you find evidence that proc_scriptlauncher tried to process either of the earlier insertions
    I didn't knew that this procedure is possible. Great. I'll give it a try.


    BTW: what's the difference between:
    Code:
    echo; echo "[INFO] info goes here.."
    and
    Code:
    echo "[INFO] another info.."
    ??


    EDIT 2:

    It's working now! That's great.

    Just the sed-part won't give me anything. The AudiUpdate.txt is a plain text file. I need the info from 'version.default=', in my case i need to echo: '161.565.8F0.99'. It's line 4 here, but sed should look for 'version.default=' since it can be another line, too.

    The file:
    Code:
    device=boardbook
    name.default=boardbook
    name.de_DE=Bordbuch
    version.default=161.565.8F0.99
    My code dosn't work.
    Code:
    AUDUPD=/mnt/gracenode/boardbook/AudiUpdate.txt
    if [ -e "$AUDUPD" ]
    	then
    	BBPN="$(sed -n 's/^version.default= //p' $AUDUPD | sed 's/".*$//')"
    I think sed is to much for me.
    Last edited by StanNB; 10-31-2024 at 03:41 AM.

  10. #10
    Veteran Member Three Rings DrGER's Avatar
    Join Date
    Aug 31 2014
    AZ Member #
    279216
    My Garage
    '17 Audi A4Q 6MT CYMC/RJN, '11 VW GOV TDI 6MT CJAA/LHD
    Location
    NW OH USA

    @StanNB -- It's good that you got your SD script to run properly.

    The first part of your code to report the Boardbook version number is actually correct, it's the second sed that is the problem, since the AudiUpdate.txt file does not use a double-quote character to delimit the version string -- but the file DOES have MS-DOS style CTRL-M ^M characters as end-of-line markers, so you will need to remove the ^M character, thus:
    Code:
    ...
    BBVN="$(sed -n 's/^version.default= //p' $AUDUPD | sed 's/^M$//')"
    ...
    where "^M" is the character CTRL-M embedded in the plain-text script.

    BTW, I have the separate Boardbook CD for the B8 A4 published in 2011, and the plain-text AudiUpdate.txt file has only one entry for "version.default" in the form of:
    Code:
    version.default=version 132.565.8K0.88^M
    Notice that the version string also includes the word "version" and the trailing ^M character at the end of the line.

    Also: echo by itself in a script simply adds a blank line to the log file: echo; echo "[INFO] ...". The escape character '\n' (newline) probably works correctly with the QNX ksh, so you might give it a try: echo "\n[INFO] ..."

    And this: if you're going to spend any time with QNX, you might find this reference useful: https://openqnx.com/static/neutrino/bookset.html

    Hope that helps. --g
    Last edited by DrGER; 10-31-2024 at 10:59 AM.
    2017 B9 A4Q P+ 2.0T 6MT Daytona Gray. Previous: 2014 B8.5 A4Q P+ 2.0T 6MT Monsoon Gray; 2009 B8 A4Q P+ 2.0T 6MT Brilliant Red; 2005 B6 A4Q 1.8T 6MT Cambridge Green; 1995 B4 A90Q V6 5MT Pearl White; 1990 B3 A80Q I5 5MT Crystal Silver; 1984 C3 5000S I5 5MT Montego Black; 1978 C2 5000 I5 4AT Helios Blue; 1977 C1 100LS I4 4AT Signal Green; 1974 B1 Fox I4 4AT Sahara Sand.

  11. #11
    Junior Member One Ring StanNB's Avatar
    Join Date
    Oct 22 2024
    AZ Member #
    996647
    My Garage
    BMW E46, Kawasaki Z1000
    Location
    Germany

    Quote Originally Posted by DrGER View Post
    but the file DOES have MS-DOS style CTRL-M ^M characters as end-of-line markers, so you will need to remove the ^M character
    Great, thank you!!

    Notice that the version string also includes the word "version" and the trailing ^M character at the end of the line.
    That's interesting. My version from 2015 has no word "version" after the "=" in the plain text file. Seems that they changed something.

    echo by itself in a script simply adds a blank line to the log file: echo; echo "[INFO] ...". The escape character '\n' (newline) probably works correctly with the QNX ksh, so you might give it a try: echo "\n[INFO] ..."
    Nice. I've learned a lot from you. That's awesome. Thank you!!

    Last thing: I tried to deal with "find" and "wc" in the script, bit run.sh can't find the binaries. I searched the web to download them, but can't find it.
    Are they stored in linux anywhwew? I have an old pc with linux running.

    Thanks !!

  12. #12
    Veteran Member Three Rings DrGER's Avatar
    Join Date
    Aug 31 2014
    AZ Member #
    279216
    My Garage
    '17 Audi A4Q 6MT CYMC/RJN, '11 VW GOV TDI 6MT CJAA/LHD
    Location
    NW OH USA

    @StanNB -- Re QNX binaries for find & wc, you won't find them on any Harman-Becker MMI3G systems, as they are not needed generally for the MMI3G run-time environment. Look at /mnt/ifs-root/bin, /mnt/ifs-root/usr/bin, /mnt/ifs-root/sbin, /mnt/ifs-root/usr/sbin, /mnt/efs-system/bin, /mnt-efs-system/usr/bin, /mnt/efs-system/sbin, and /mnt/efs-system/usr/sbin for QNX run-time binaries. These are all compiled for the MMI3G CPU, a 32-bit RISC processor made by Renesas. Binaries from other operating systems (Linux, Unix) and CPU architectures (x64, ARM) will not run on the MMI3G QNX 6.3.2 system. Fortunately, we can do quite a bit with the shell, grep, sed, and a few others. It's even possible to run compiled Java programs using the installed run-time environment (in /mnt/ifs-root/j9/bin). --g
    2017 B9 A4Q P+ 2.0T 6MT Daytona Gray. Previous: 2014 B8.5 A4Q P+ 2.0T 6MT Monsoon Gray; 2009 B8 A4Q P+ 2.0T 6MT Brilliant Red; 2005 B6 A4Q 1.8T 6MT Cambridge Green; 1995 B4 A90Q V6 5MT Pearl White; 1990 B3 A80Q I5 5MT Crystal Silver; 1984 C3 5000S I5 5MT Montego Black; 1978 C2 5000 I5 4AT Helios Blue; 1977 C1 100LS I4 4AT Signal Green; 1974 B1 Fox I4 4AT Sahara Sand.

  13. #13
    Junior Member One Ring StanNB's Avatar
    Join Date
    Oct 22 2024
    AZ Member #
    996647
    My Garage
    BMW E46, Kawasaki Z1000
    Location
    Germany

    @DrGEr,
    Thanks to your help, I'm almost there. However, I now have another problem. The system is Read-Only, I can't change or delete files. I tried 'chmod-r 0777', 'mount -uw', 'remount' and some other stuff, but nothing helps. Did I crashed the system now?

    EDIT: Would your HDD-MJan-Tool fix the permissions?

    Greets!!
    Last edited by StanNB; 11-01-2024 at 01:15 PM.

  14. #14
    Junior Member One Ring StanNB's Avatar
    Join Date
    Oct 22 2024
    AZ Member #
    996647
    My Garage
    BMW E46, Kawasaki Z1000
    Location
    Germany

    pls delete

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


    © 2001-2025 Audizine, Audizine.com, and Driverzines.com
    Audizine is an independently owned and operated automotive enthusiast community and news website.
    Audi and the Audi logo(s) are copyright/trademark Audi AG. Audizine is not endorsed by or affiliated with Audi AG.