A4 (B8 Platform) Discussion Discussion forum for the B8 Audi A4 produced from 2008.5

Troubleshooting MMI 3G

Thread Tools
 
Search this Thread
 
Old 02-06-2024, 06:09 AM
  #71  
AudiWorld Member
 
drgertol's Avatar
 
Join Date: Aug 2011
Location: NW OH
Posts: 494
Received 84 Likes on 78 Posts
Default

@sm87 -- I believe that MIBx systems with LTE connectivity and active Audi Connect accounts use the same back-end for this service, so it's likely to be around for a while. It used to be that we could configure a "Send to Car" parameter in Google Maps from a browser that would push the destination to our linked myAudi account. I forget now when this arrangement stopped working in exchange for the myAudi app. Practically, it's not much different, but now I need to interact with on-line destinations using my Android device (rather than any browser that my Google account is logged into). Oh well, progress, right ? Reengineering the service to host locally would be helpful for the population of MMI3G users who (1) don't have a VIN-specific myAudi PIN (say, older MMI3G High hardware or Plus hardware without the integrated 3G modem) and (2) working mobile data connections (say, using an external LTE router & USB ethernet adapter or, if @mjan someday offers a USB device driver to implement an external USB LTE modem). I have access to our home Solaris server through port forwarding on our fiber-connected router, so I'd lend a hand testing a deployment of a personal "myAudi" server (maybe as an Apache add-on?). --g
Old 02-06-2024, 02:54 PM
  #72  
AudiWorld Member
 
drgertol's Avatar
 
Join Date: Aug 2011
Location: NW OH
Posts: 494
Received 84 Likes on 78 Posts
Default

One last comment on this myaudiconnect_nodataconnect.jar fix: the bundled MMI3G_MyAudi.properties file has a setting "de.audi.myaudi.compression=true" that gets read at run-time to tell the service that the client is expecting(?) to see a GZIP input stream:
Code:
      if (this.myConfig.useCompression) {
        uRLConnection.setRequestProperty("Accept-Encoding", "gzip");
      }
but the client doesn't get (or see) the expected header that subsequently sets "boolean bl" to true (for entry into the if(bl) block). In that case, we check the property again in the "if' statement:
Code:
      if (bl || this.myConfig.useCompression) {
Then, if someone uses the .jar on a service where property de.audi.myaudi.compression is set to "false", the GZIP input stream code is skipped, as expected. --g
Old 02-13-2024, 06:43 AM
  #73  
AudiWorld Member
 
drgertol's Avatar
 
Join Date: Aug 2011
Location: NW OH
Posts: 494
Received 84 Likes on 78 Posts
Default

@sm87 @mjan Back to the "MMI3G troubleshooting" topic, in general, in post #55, we are reminded that process MMI3GApplication is the DSI source for the HMI through file /dev/dsi/data and this from an old lsd.sh log I captured a while ago:
Code:
DSIVersion: 0.0.0
DSISource: DSI 2013_26_26
DSI-Build-Version: Mon Jun 24 11:14:01 CEST 2013 / DSIGEN v1.138.4
ReleaseLabel: Int_AU3G_NAR_SOP12_142900P
start JDSI bundle
HBTRACE: jdsi.verboselevel = null => verbose-level = 0 because property not set or invalid
jdsi.loglevel : 3
No External Component found
stream factory memory mode : no pooling
dsigen v1.138.4 - core v2.1
prop os.arch : sh4
prop jdsi.3SoftOSGi : true
DSI dispatcher disabled!
msgpassing channel opened on /dev/dsi/data
DSIAddressbook (0) - v21.0G1.138.4
...
due likely to "-Ddsi.channel=msgpassing" at j9 startup.
We see that the DSI channel is defined and opened in com.harmanbecker.jdsi.JDSIManage:
Code:
    public JDSIManager(IDSIActivator iDSIActivator) {
        this.SCOPE = "JDSI_Activator";
        this.parent = iDSIActivator;
        this.handleCounter = 0;
        this.log = null;
        this.createServiceAdapterList();
        this.createInternalListenerList();
        this.channelSystem = null;
        this.channelExtA = null;
        this.components = new JDSIComponentList(this);
        this.channelSocketIPSystem = "127.0.0.1";
        this.channelSocketPortSystem = 10001;
        this.channelMsgPassingChannelNameSystem = "/dev/dsi/data";
        this.channelSocketIPExtA = "127.0.0.1";
        this.channelSocketPortExtA = 10002;
        this.channelMsgPassingChannelNameExtA = "/dev/dsi/data_EXT_A";
...
So, do you suppose MMI3GApplication has a DSI service listening on port 10001, in addition to its file-based message passing channel ? --g
Old 02-15-2024, 02:39 PM
  #74  
Avant Member
 
Mik3's Avatar
 
Join Date: May 2023
Location: Chicago
Posts: 10
Likes: 0
Received 0 Likes on 0 Posts
Default

Hey so just got to the bottom of this, I’m having the exact same issue you started with. Black screen, buttons not working etc. if I get a new mmi is it just plug and play or do I need to code it in cause you said you were having issues with audio (I have no clue how), trying to keep it as simple and cost effective as possible, thanks guys!
Old 02-28-2024, 08:16 AM
  #75  
AudiWorld Junior Member
Thread Starter
 
sm87's Avatar
 
Join Date: Jan 2014
Posts: 33
Received 2 Likes on 2 Posts
Default

Originally Posted by drgertol
So, do you suppose MMI3GApplication has a DSI service listening on port 10001, in addition to its file-based message passing channel ? --g
Yeah, the MMI3GApplication binary has similar constants embedded, like I mentioned earlier this port is likely what the "pc" utility uses. Would be easy enough to test if there's a listener on that port by trying to open a socket in a java console app (or something like "telnet" if QNX has it).

Originally Posted by Mik3
if I get a new mmi is it just plug and play or do I need to code it in cause you said you were having issues with audio (I have no clue how), trying to keep it as simple and cost effective as possible, thanks guys!
First I would make sure it's the MMI head that's giving trouble, rather than something else on the MOST (fiber optic loop) bus, before replacing components. If you do end up replacing the MMI head unit it's plug-and-play for the essential functionality (settings, phone calls) but audio playback will be blocked by component protection.
You likely need to code the new unit, this mainly to tell the MMI which menus/options are applicable or not to the vehicle (for example the new-to-my-A4 MMI came from a Q5).
Removing component protection is not like "coding" (VCDS/OBD11/Carista/etc will not work), it requires using ODIS (official VW diagnostic software) with an VW account and a compatible diagnostic cable/computer (VAS or J2534 pass-thru). Best bet is to find someone local with a setup to do this, check if there are any meetups/local groups, otherwise an independent garage (not all have ODIS/VAS) or an Audi/VW dealer.
You *may* be able to clone the EEPROM data from the old unit into the new one with VCDS or similar tool to avoid component protection, but this is definitely "know what you are doing" territory and can brick the MMI if you get it wrong.
Related Topics
Thread
Thread Starter
Forum
Replies
Last Post
CycloneDr
Q7 MK 1 Discussion
33
01-20-2023 12:07 PM
JeffreyTT
TT (Mk1) Discussion
18
10-02-2022 02:39 PM
Shane Smulsky
Q7 MK 1 Discussion
7
10-26-2021 07:26 AM
biigmac
Q7 MK 1 Discussion
4
02-16-2020 02:22 PM
Alpha1220
Audio, Video and Security Discussion
3
05-17-2005 11:58 AM



Quick Reply: Troubleshooting MMI 3G



All times are GMT -8. The time now is 10:03 PM.