← Wszystkie artykuły

Porównywanie dwóch zrzutów eMMC/SPI: sumy kontrolne i różnice

Zrzut jest przydatny tylko wtedy, gdy jest wierną kopią. Dwa odczyty tego samego układu powinny zgadzać się co do bitu; jeśli nie, coś jest nie tak ze stykami, zasilaniem lub czytnikiem. Sumy kontrolne i porównanie bajtów pokażą, co.

Część cyklu: Przewodnik po firmware i zrzutach.

Kiedy trzeba porównywać

  • Zaraz po odczycie układu: kopia 1 z kopią 2.
  • Przed naprawą i po niej: co telewizor zmienił we własnej pamięci?
  • Sprawny egzemplarz z uszkodzonym o tej samej płycie.
  • Po zapisie: odczytaj z powrotem i porównaj z zapisanym plikiem.

Krok po kroku

  1. Odczytaj układ dwa razy, niczego nie ruszając między odczytami. Opis podstawowego przebiegu znajdziesz w odczycie zrzutu eMMC i w wyprowadzeniach SPI flash SOIC8.
  2. Sprawdź rozmiary plików. Muszą być identyczne. Inny rozmiar oznacza, że odczyt został przerwany lub odczytano niewłaściwy obszar.
  3. Oblicz sumę kontrolną każdego pliku. CRC32 jest szybka i dobra do wykrywania przypadkowych błędów; MD5, SHA-1 i SHA-256 lepiej nadają się do zapisania wzorca. Równe sumy oznaczają identyczne pliki.
  4. Jeśli sumy się różnią, uruchom porównanie bajt po bajcie, aby dostać listę różniących się zakresów (offset i długość).
  5. Zinterpretuj wzór różnic, usuń przyczynę i odczytaj ponownie.

Czytanie różnic

Wzór Prawdopodobne znaczenie
Kilka rozproszonych pojedynczych bajtów lub małych bloków, inne przy każdym odczycie Niestabilny styk lub graniczne zasilanie; popraw przewody i skróć je
Duży obszar 0x00 lub 0xFF w jednej z kopii Odczyt nie powiódł się lub zatrzymał; sprawdź czytnik i zasilanie
Te same nieliczne obszary zawsze różnią się między dwoma telewizorami Dane specyficzne dla egzemplarza (numery seryjne, MAC, kalibracja) lub logi; to normalne
Różnice tylko na końcu Rozmiary się różnią; część wspólna jest zgodna, a końcówka jest zgłaszana osobno

Jeśli telewizor pracuje, gdy odczytujesz eMMC w układzie, jego własne firmware może zapisywać do układu w trakcie odczytu, więc dwa poprawne odczyty mogą się różnić. Czytaj przy niedziałającym systemie głównym i nigdy nie zakładaj, że różnica w obszarze logów oznacza zły odczyt.

Typowe błędy

  • Porównywanie zrzutu z pakietem firmware w oczekiwaniu na zgodność. To dwie różne rzeczy.
  • Zaufanie jednemu odczytowi. Pojedynczy odczyt może ukryć zły styk, który ujawni się dopiero przy drugim.
  • Porównywanie po „poprawieniu” zrzutu ręcznie. Najpierw policz sumę kontrolną oryginału i zachowaj go.
  • Pominięcie sprawdzenia rozmiaru.

Jak to wygląda w FW Tool

  • „Informator → Narzędzia hex” oblicza CRC32, MD5, SHA-1 i SHA-256 w jednym przebiegu przez plik, z paskiem postępu i anulowaniem dla dużych zrzutów.
  • Funkcja porównania działa bajt po bajcie, strumieniowo, i zwraca liczbę różniących się bajtów oraz listę zakresów (offset, długość); lista jest ograniczona, a program informuje, gdy została skrócona. Jeśli rozmiary się różnią, porównywana jest część wspólna, a końcówka jest liczona osobno.
  • W tej samej zakładce można szukać wzorca szesnastkowego lub ciągu tekstowego (ASCII i UTF-16) oraz wyświetlić klasyczny widok hex z offsetami i ASCII.
  • W zakładce „Zrzut eMMC” zapis do zrzutu jest domyślnie wyłączony i włącza się go polem wyboru; zrób kopię i sprawdź jej sumę kontrolną, zanim go włączysz. Zobacz wszystkie funkcje.

Gdy kopia jest zweryfikowana, możesz ją zbadać tak, jak opisano w artykule budowa pakietu firmware z USB.

FAQ

Czy CRC32 wystarczy?

Do wychwycenia złego odczytu tak. Do długoterminowego zapisu wzorca zachowaj dodatkowo silniejszą sumę kontrolną.

Dwa dobre odczyty różnią się w kilku miejscach. Czy zrzut jest zły?

Niekoniecznie. Spójrz, gdzie: logi, liczniki i znaczniki czasu zmieniają się same. Powtórz odczyt i sprawdź, czy różnią się te same zakresy.

Czy mogę porównać folder eMMC z obrazami partycji?

Policz sumy i porównuj plik po pliku. Partycje, które się zgadzają, można odhaczać pojedynczo.

Prowadzenie dokumentacji

Dla każdego urządzenia zapisz oznaczenie układu, rozmiar zrzutu, sumę kontrolną i datę. Przechowuj oryginalny zrzut tylko do odczytu, a pracuj wyłącznie na kopiach. Gdy później trafi do Ciebie ten sam model, suma kontrolna pozwoli od razu sprawdzić, czy otrzymany zrzut jest identyczny z Twoim, bez jego otwierania. Jeśli serwisujesz wiele telewizorów jednego modelu, zbiór zweryfikowanych zrzutów staje się biblioteką wzorców do usterek, w których podejrzana jest zawartość pamięci, a nie sprzęt.

Drugie zastosowanie porównania to sytuacja po próbie naprawy. Odczytaj układ, zmień jedną rzecz, odczytaj ponownie i porównaj: lista zakresów pokaże dokładnie, które obszary telewizor przepisał. To prosty sposób, by dowiedzieć się, które partycje przechowują ustawienia, a które system, i zdecydować, co można bezpiecznie przywrócić z kopii zapasowej.

Na koniec pamiętaj, że zgodna suma kontrolna dowodzi tylko, że dwa pliki są takie same, a nie że zawartość jest dobra. Dwa identyczne odczyty układu z uszkodzoną komórką albo odczyty przez stale wadliwy styk zgodzą się ze sobą i mimo to będą błędne. Jeśli to możliwe, potwierdź zrzut, sprawdzając, czy tablica partycji da się odczytać i czy systemy plików się otwierają, jak opisano w artykule o zrzucie eMMC.

Pobierz demo


Wypróbuj FW Tool (demo)