FORUMS

uConnect 6.5 (Alfa / Fiat) Root Access

288 posts
Thanks Meter: 78
 
By SquithyX, Senior Member on 12th August 2018, 02:28 PM
Post Reply Email Thread
14th February 2020, 11:23 AM |#741  
Member
Thanks Meter: 14
 
Donate to Me
More
How did you manage to write to the eeprom? Seems like only 2 first bytes have some meaning - it is from 17.09 and 18.45 for 8.4 uconnect VP3/4:

Code:
function get_flags()
  if io.open("/dev/fram/mfg", "r") then
    if io.open("/dev/fram/mfg", "r"):seek("set", 0) and io.open("/dev/fram/mfg", "r"):seek("set", 0) == 0 and io.open("/dev/fram/mfg", "r"):read(2) and io.open("/dev/fram/mfg", "r"):read(2) ~= 0 then
      io.open("/dev/fram/mfg", "r"):close()
      return (io.open("/dev/fram/mfg", "r"):read(2))
    end
    io.open("/dev/fram/mfg", "r"):close()
  end
  return nil
end
...
L3_3 = get_flags()
if L3_3 == "MS" then
  L4_4(L5_5)
  L4_4(L5_5)
else
  L4_4(L5_5)
end
For 18.45 it look like :
Code:
L19_19 = get_flags()
if L19_19 == "MS" then
  print("ISOCHK: Mfg install mode")
  os.exit(0)
else
 print( "ISOCHK: Normal install mode")
end
Quote:
Originally Posted by Tajadela

hi,
the mfg file consists of 5 bytes, normally with an FF value. With version 18,
two bytes of the file must be "MS" to activate mfg install mode.
The fram folder is contained in an eeprom. I tried to program the bytes of the mfg file with the MS string in various positions,
in the range of 5 bytes, but the mfg mode does not activate.
Maybe in the remaining 3 bytes you have to insert zeros (00 hex) or the character "0" (30 hex) ...
it is not easy to understand it from the decompiled lua script.

14th February 2020, 12:01 PM |#742  
Member
Thanks Meter: 3
 
More
eeprom programmed with a simple usb "in circuit" programmer... you need to disassebly uconnect unit...
14th February 2020, 10:10 PM |#743  
Member
Thanks Meter: 14
 
Donate to Me
More
Quote:
Originally Posted by Tajadela

eeprom programmed with a simple usb "in circuit" programmer... you need to disassebly uconnect unit...

I've just met some cleanup code - seems like clean value for mfg file is "xxxxx":
Code:
  
   print("softwareupdate: clearing any mfg bytes")
      L5_91 = io.open("/dev/fram/mfg","w+")
      if L5_91 then
        L7_93 = L5_91
        L6_92 = L5_91:seek("set")
        if L6_92 == 0 then
          L8_94 = L5_91:write(L5_91, "xxxxx")
          print(L8_94)
          if L8_94 ~= true then
            print("softwareupdate: ERROR Unable to clear bytes (write)\n")
          end
        else
          print("softwareupdate: ERROR Unable to clear bytes (seek)\n")
          if L7_93 then
             print("softwareupdate: ERROR ", L7_93)
          end
        end
        L5_91:close()
      else
        L6_92 = print("softwareupdate: ERROR Unable to clear bytes (open)\n")
      end
15th February 2020, 08:38 AM |#744  
Member
Thanks Meter: 3
 
More
it's true, but I have several uconnect units and I found some with xxxxx (78 78 78 78 78) and others with FF FF FF FF FF... I don't understand why. maybe the x characters are only put if the installer was in mfg mode ??
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes