If the ecu was replaced in the past without being reprogrammed, it won't show the vin. Double check your negative battery cable for corrosion. I had one where the cable looked fine but was corroded under the insulation near the batter connector...cable was rigid, not flexible like it should be. Replaced the cable and not reading ecm issue resolved.