
Değiştirilmiş bir dosyayı ECU'ya yazdınız, işlem "başarılı" bitti ama araç çalışmıyor ya da gösterge arıza lambalarıyla dolu. Bu durumun en yaygın sebeplerinden biri hatalı checksum'dır. Bu yazıda checksum'ın ne olduğunu, ECU'nun onu nasıl kullandığını ve hatalı checksum'dan nasıl kaçınacağınızı anlatıyoruz.
Checksum nedir?
Checksum, bir veri bloğundaki baytlardan belirli bir formülle hesaplanan kontrol değeridir. ECU yazılımı, kendi bellek bölümlerinin değiştirilmediğini veya bozulmadığını doğrulamak için bu değerleri kullanır. Üretici yazılımı hazırlarken her korunan bölüm için bir kontrol değeri hesaplar ve bunu dosyanın içine yazar.
ECU açıldığında ya da belirli aralıklarla aynı hesabı kendisi yapar ve sonucu kayıtlı değerle karşılaştırır. Sonuçlar eşleşmiyorsa ECU o bölümün güvenilir olmadığını varsayar.
Checksum hatalıysa ne olur?
Sonuç ECU'ya ve hatanın hangi bölümde olduğuna göre değişir. Sık görülen belirtiler:
- Aracın hiç çalışmaması ya da marş basıp çalışmaması
- Arıza lambası ve kalıcı arıza kayıtları
- Motorun güç sınırlamalı acil durum moduna (limp mode) girmesi
- ECU'nun haberleşmeyi kesip kurtarma (recovery) gerektirmesi
Bu yüzden haritalar ne kadar doğru hazırlanmış olursa olsun, checksum düzeltilmemiş bir dosya kullanılamaz.
Checksum türleri
Basit eski yazılımlarda checksum, bir bölgedeki baytların toplamından ibaret olabilir. Daha yeni ECU'larda CRC gibi daha güçlü algoritmalar ve tek bir dosyada birden fazla korunan bölüm bulunur. Modern ECU'ların çoğu bunlara ek olarak yazılımı dijital imza ile de doğrular. İmza doğrulaması bir checksum değildir; üretici anahtarı olmadan yeniden hesaplanamaz. Bu tür ECU'lar ancak imza kontrolünü aşabilen okuma/yazma çözümleriyle düzenlenebilir.
Checksum'ı kim düzeltir?
Pratikte iki yol vardır:
- Yazma cihazının otomatik checksum düzeltmesi: Profesyonel okuma/yazma cihazlarının çoğu desteklediği ECU'larda checksum'ı yazma sırasında kendisi hesaplar. Bu seçenek genellikle varsayılan olarak açıktır.
- Dosya servisinin düzeltmesi: Dosyayı hazırlayan servis, checksum'ı dosya üzerinde düzeltilmiş olarak teslim eder.
İki yöntem de doğrudur. Önemli olan hangisinin uygulanacağının bilinmesidir. Bu yüzden dosya talebinde hangi cihazla okuduğunuzu ve hangi cihazla yazacağınızı belirtin.
Hatalı checksum'dan kaçınmak için
- Dosyayı okuduğunuz cihaz ve yöntemle geri yazın. Farklı cihazlar dosyayı farklı biçimde (tam flash, kalibrasyon alanı, cihaza özel paket) kaydedebilir.
- Teslim edilen dosyayı elle düzenlemeyin. Bir hex editörde yapılan küçük bir değişiklik bile checksum'ı bozar. Değişiklik gerekiyorsa dosya servisinden revizyon isteyin.
- Yazmadan önce dosya boyutunu kontrol edin. Teslim edilen dosya, okunan dosyayla aynı boyutta olmalıdır.
- Orijinal dosyayı her zaman saklayın. Bir şey ters giderse dönebileceğiniz tek güvenli nokta odur. Ayrıntılar orijinal ECU dosyası yedeği yazımızda.
- Yazma sırasında akü desteği kullanın. Yarıda kalan bir yazma işlemi checksum hatasından daha zor bir duruma yol açabilir.
Sık sorulan sorular
Checksum hatası ECU'yu kalıcı olarak bozar mı?
Çoğu durumda hayır. ECU genellikle Bench veya Boot yöntemiyle orijinal dosya yazılarak kurtarılabilir. Okuma yöntemlerini bu yazımızda karşılaştırdık.
Checksum'ı kendim mi düzeltmeliyim?
Bu, kullandığınız okuma/yazma cihazına bağlıdır. Talepte cihazınızı belirttiğinizde, teslim edilen dosyanın yazma sırasında nasıl ele alınması gerektiği netleşir.
Dosyanın checksum'ının doğru olduğunu nasıl anlarım?
Desteklenen ECU'larda yazma cihazınız checksum kontrolünü raporlar. Emin değilseniz dosyayı yazmadan önce talep sohbeti üzerinden mühendisimize sorun.
