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

Troubleshooting MMI 3G

Thread Tools
 
Search this Thread
 
Old 12-20-2023, 04:38 PM
  #21  
AudiWorld Super User
 
SMac770's Avatar
 
Join Date: Dec 2001
Location: Georgia
Posts: 9,679
Received 2,014 Likes on 1,712 Posts
Default

https://stackoverflow.com/questions/...r-to-intel-jxe

I wonder if that jxe converts to a jar that JD Gui can convert back to any manner of understandable Java.

https://stackoverflow.com/questions/...va-source-code

As the discussion in the second link points out, JD-GUI can't always produce useful decompile. Ran into this when I wanted to fix a "shareware" toolset that the origins of were long gone. It chewed up a CPU all the time after an event. Luckily, the defect was in one of the .java that had fully decompiled, so I was able to mod it, recompile it, and "fix the issue" with the .jar product. But a lot of the files had long strings of gibberish.
Old 12-23-2023, 12:11 AM
  #22  
AudiWorld Junior Member
Thread Starter
 
sm87's Avatar
 
Join Date: Jan 2014
Posts: 31
Received 2 Likes on 2 Posts
Default

Originally Posted by SMac770
I wonder if that jxe converts to a jar that JD Gui can convert back to any manner of understandable Java.
So I did manage to get a .jar using this: https://github.com/spacemeowx2/jxe2jar it's quite slow but the output seems to be valid. (I bit the bullet and reinstalled python 2 to run this damn thing after spending an hour trying to update it to python 3 adn still ending up with corrupt output - the script is passing around str and bytes values ***** nilly)
Results with JD were so-so, many "// INTERNAL ERROR //" and methods left as JVM byte code.
Going to try with fernflower tomorrow, looks much more promising:
https://www.decompiler.com/jar/187db...eeringApp.java
https://www.decompiler.com/jar/d9dd7...onnection.java
Definitely some interesting looking stuff there
Old 12-23-2023, 08:49 AM
  #23  
AudiWorld Senior Member
 
AudiAllTheWay's Avatar
 
Join Date: Feb 2018
Location: Canada
Posts: 934
Received 134 Likes on 118 Posts
Default

Originally Posted by sm87
Still trying to find someone to take care of component protection.
While I have not tried on your specific module, this generation should allow the eeprom containing the CP data to be moved over from the original to the replacement. Thanks to SMac770 for the tip 👍




Old 12-24-2023, 12:13 PM
  #24  
AudiWorld Junior Member
Thread Starter
 
sm87's Avatar
 
Join Date: Jan 2014
Posts: 31
Received 2 Likes on 2 Posts
Default

Originally Posted by AudiAllTheWay
While I have not tried on your specific module, this generation should allow the eeprom containing the CP data to be moved over from the original to the replacement. Thanks to SMac770 for the tip 👍
I have considered that, however so far I've yet to find that EEPROM chip. There's a possibility it's embedded in one of the larger chips/processors, in which case I think the only option is to reverse-engineer a way to write to it from a script as (see @drgertol 's post #17), it's also possible there are multiple EEPROMs used for different things.
I've checked all the usual suspects (8-pin SMDs packages) but they all turned out to be something else, here's both sides of the motherboard:
https://1drv.ms/i/s!Ao-UlylWvwgziapx...A5fhg?e=V7nL13
https://1drv.ms/i/s!Ao-UlylWvwgziapy...r_Osg?e=DFRx3N
(forum won't accept the upload, too big maybe)

Notes on components I've checked so far, there's one that I couldn't match to a datasheet (4453) but there were a couple of those and surroundings didn't seem typical for an EEPROM:
Top side with HDD (marked BS in corner):

AD8052 / ARZ / #002
Rail-to-Rail Amplifier
https://www.analog.com/media/en/tech..._8052_8054.pdf

TDA8579 / 61 13 / n6003 / NXP
Dual common-mode rejection differential line receiver
https://www.nxp.com/docs/en/data-sheet/TDA8579T.pdf

L75A / 33 07 / 949
Digital temperature sensor and thermal watchdog
https://www.nxp.com/docs/en/data-sheet/LM75A.pdf

A1770 / M / 002
MOSFET
https://mm.digikey.com/Volume0/opasd...770_4-1-10.pdf


Other side:

431AIY / E9936
Programmable Voltage Reference
https://pdf1.alldatasheet.com/datash...CS/431AIY.html

33202 / PCSE
Low Voltage, Rail-to-Rail Operational Amplifier
https://pdf1.alldatasheet.com/datash...I/MC33202.html

CY2305C / SXA-1H / 9496490
Zero Delay Clock Buffer
https://www.infineon.com/cms/en/prod...y2305csxa-1h/#
https://www.infineon.com/dgdl/Infine...7d0ec649ec3c6d

4453
SS (logo) AD (hollow triangle)
.WO1B

989 / ATA6662 / 68506A-2
LIN Transceiver
https://ww1.microchip.com/downloads/..._Datasheet.pdf
Old 12-24-2023, 01:30 PM
  #25  
AudiWorld Senior Member
 
AudiAllTheWay's Avatar
 
Join Date: Feb 2018
Location: Canada
Posts: 934
Received 134 Likes on 118 Posts
Default

Cannot read the chip numbers in your two board pics as the resolution is too low.

Originally Posted by sm87
I have considered that, however so far I've yet to find that EEPROM chip. There's a possibility it's embedded in one of the larger chips/processors
If your CP data is in a separate SMD eeprom then the chip is most likely located near a large QFP processor.

Yes the newer modules have CP content moved inside large multifunction processors. It is possible yours is one of the early ones to do so.
Old 12-24-2023, 03:24 PM
  #26  
AudiWorld Member
 
drgertol's Avatar
 
Join Date: Aug 2011
Location: NW OH
Posts: 479
Received 83 Likes on 77 Posts
Default

@sm87 -- Did you see this reference: https://www.audienthusiasts.com/Info...nt_EEPROM.html ?

8-pin device "Q3 A / AT64A" appears to be in the lower right of the underside of the system board in this image: blob:https://photos.onedrive.com/29b026fa...b-26c3678f3270
Just to the right of the "ISSI" chip. --g
Old 12-24-2023, 04:14 PM
  #27  
AudiWorld Senior Member
 
AudiAllTheWay's Avatar
 
Join Date: Feb 2018
Location: Canada
Posts: 934
Received 134 Likes on 118 Posts
Default

If it were mine then I would transfer the chip 👍
Old 12-25-2023, 03:18 PM
  #28  
AudiWorld Junior Member
Thread Starter
 
sm87's Avatar
 
Join Date: Jan 2014
Posts: 31
Received 2 Likes on 2 Posts
Default

Originally Posted by drgertol
Haven't seen that, thanks, again
Originally Posted by AudiAllTheWay
If it were mine then I would transfer the chip 👍
Dang that chip is tiny, roughly zero chance I'll manage to solder it back on successfully.

On a good note, I found more interesting information in the java source! There's a class called CarCodingEEPROM and true to the name has methods to read a bunch of version/model data using an abstraction called StorageManager.
Long story short - and many many abstraction layers apart - it's simply reading/writing to /dev/dsi/data, literally boils down to:

Code:
this.out = new FileOutputStream("/dev/dsi/data");
this.in = new FileInputStream("/dev/dsi/data");

DSIStream request = new DSIStream();
request.init(componentType: 12, instanceNumber: 0, processType: 3, subType: 1000, handle); // subType is the "command" indicating read/write and data type, rest are constants.
request.writeTo(this.out);

DSIStream response = new DSIStream();
response.readMessage(this.in);

The request and response messages format seems very straight forward, header + payload type deal, the DSIStream class handles all of that business. And I don't see any FileOutputStream.getChannel().lock() calls so file might not even be blocked (so perhaps no need to kill or preempt the MMI process). I haven't tested any of this yet, but if this all holds messing with the MMI EEPROM could be as simple as:
Code:
dd if=/mnt/sdcard/dsi-request.bin of=/dev/dsi/data
dd if=/dev/dsi/data of=/mnt/sdcard/dsi-response.bin
Old 12-25-2023, 03:57 PM
  #29  
AudiWorld Member
 
drgertol's Avatar
 
Join Date: Aug 2011
Location: NW OH
Posts: 479
Received 83 Likes on 77 Posts
Default

@sm87 -- Oh, well done ! Merry Christmas ! I see that we have two named special files /dev/dsi/data and /dev/dsi/debug at run-time.

Except that we don't have a native QNX binary for dd, but I can give this a quick look tomorrow:

Code:
cat /dev/dsi/data > ${SDVAR}/dsi-$(getTime).dat
and see what gets captured to the SD card.

BTW, some docs on QNX 6.3.0 here: https://openqnx.com/static/neutrino/bookset.html --g

Last edited by drgertol; 12-25-2023 at 04:07 PM.
Old 12-26-2023, 08:18 AM
  #30  
AudiWorld Senior Member
 
AudiAllTheWay's Avatar
 
Join Date: Feb 2018
Location: Canada
Posts: 934
Received 134 Likes on 118 Posts
Default

Would be awesome to figure out how to copy CP data and reflash content into a replacement module!


Originally Posted by sm87
Dang that chip is tiny, roughly zero chance I'll manage to solder it back on successfully.
Takes about 10 minutes to move the chip. Works well for instances where a module is dead.

It’s not too bad if you can find someone who works on stuff like this.




Quick Reply: Troubleshooting MMI 3G



All times are GMT -8. The time now is 11:28 PM.