Page 2 of 2 FirstFirst 12
Results 16 to 18 of 18

Thread: Minor Flashhack Bug

  1. #16
    Fuel Injected!
    Join Date
    Jul 2019
    Location
    Orange, CA
    Posts
    757
    steveo,

    It appears 6811.zip is missing ONBOARD_EEPROM.BIN. While I thought this might have been intentional, Flashhack 1.4 complained about it being missing and said that as a result, it couldn't set the Vehicle ID.

    However, despite this, it did successfully flash both sides, and has indeed corrected the issue with my VIN and CAL ID being corrupted. So that's a plus!
    1990 Corvette (Manual)
    1994 Corvette (Automatic)
    1995 Corvette (Manual)

  2. #17

  3. #18
    Fuel Injected!
    Join Date
    Jul 2019
    Location
    Orange, CA
    Posts
    757
    Quote Originally Posted by steveo View Post
    i think the error is in error assuming it fixed your vin and cal id without you doing it manually.
    Looking at your code, it appears you have shifted from doing maths on factors that exist in the BIN already in order to determine vehicle fingerprint to attempting to write a unique Vehicle ID to the 4-byte region of EEPROM stored at 0x0FFC. In this branch of code, you use ONBOARD_EEPROM.BIN as the simple program to execute on T-SIDE. However, since ONBOARD_EEPROM.BIN does not exist, this attempt fails, triggering the message:

    Could not set or retrieve vehicle ID. The compare functions are not going to work well.
    Looking further, the actual routine that writes the EEPROM region for VIN and CAL ID doesn't use a simple program, it calls...

    Code:
    bool processor_ee::program_eeprom_block(int device_id, region r, QByteArray data) {
      log("PROGRAMMING" + r.to_string(),LOGLEVEL_DEBUG);
    
      datastream_request request(device_id,COMM_EXECUTE);
      request.append16(0x0300);   // ram location to store the block
      request.append(0x7E);                             // JMP
      request.append16(0x1CB4);  // .. to the exec point of the write program.
      request.append(r.size);
      request.append16(r.offset);
      data.resize(r.size);
      request.append(data);
      request.override_timeout = (r.size * 35) + 150; // could take a bit o' extra time if writing lots of stuff.
    
      emit region_changed(device_id,r.offset,r.size,REGION_PROGRAMMING);
      datastream_reply repl = interface->request(request);
    
      if(repl.success == true) {
        emit region_changed(device_id,r.offset,r.size,REGION_WRITTEN);
        return true;
      } else {
        emit region_changed(device_id,r.offset,r.size,REGION_ERROR);
        errmsg("Error programming EEPROM.");
        return false;
      }
    }
    Which works since it's not looking for ONBOARD_EEPROM.
    1990 Corvette (Manual)
    1994 Corvette (Automatic)
    1995 Corvette (Manual)

Similar Threads

  1. Flashhack Issue
    By Janson9027 in forum EFI Tune
    Replies: 12
    Last Post: 11-26-2021, 08:54 AM
  2. Flashhack EE continued
    By steveo in forum GM EFI Systems
    Replies: 37
    Last Post: 11-18-2021, 06:20 AM
  3. Flashhack - New LT1 flash tool
    By steveo in forum GM EFI Systems
    Replies: 320
    Last Post: 08-17-2021, 05:25 PM
  4. Minor thing.
    By historystamp in forum GearHead EFI Forum Support
    Replies: 7
    Last Post: 01-22-2012, 12:00 AM

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
  •