Krótko: 1) Obraz SPI z innego, sprawnego TS-431XeU (płyta QZ11, ta sama rewizja) najczęściej wystarczy, ale trzeba uważać na dane unikatowe (MAC, S/N, kalibracje) — lepiej najpierw odczytać i porównać zawartość obu kości. 2) Nie podam „pewnego” pinoutu AL SPI1 dla QZ11, którego nie mam w oficjalnych fragmentach — zamiast zgadywać opisuję jak bezpiecznie go zidentyfikować i zweryfikować. 3) Programowanie in‑circuit możliwe, ale ryzykowne; najbezpieczniej wylutować kość i programować zewnętrznym programatorem. Poniżej pełna, samodzielna procedura i praktyczne wskazówki.
Wyjaśnienie i zagrożenia (ważne)
- ZAWSZE wykonaj kopię działania/backup dysków przed jakąkolwiek ingerencją sprzętową — operacje na SPI/bootloaderze ryzykują trwałą utratę możliwości uruchomienia urządzenia.
- Przy operacjach na pamięciach SPI stosuj izolację ESD, stabilne źródło zasilania i poprawne napięcie 3.3 V. Nie stosuj 5 V do Macronix MX25L016.
- Jeśli bootloader jest uszkodzony i oficjalna procedura (zworka J1 + TFTP) nie działa, odzyskanie przez programator SPI to standardowy kolejny krok. Jednak QNAP może przechowywać niektóre identyfikatory sprzętowe (np. MAC, S/N, kalibracje) w pamięci SPI lub w oddzielnym EEPROM — trzeba to zweryfikować.
Odpowiedzi na Twoje pytania + konkretne kroki
1) Czy obraz z innego egzemplarza wystarcza, czy trzeba podmienić dane specyficzne dla urządzenia?
- Z doświadczenia: obraz z innego, tego samego modelu i tej samej rewizji płyty (QZ11 rev 1.1) często pozwala przywrócić bootloader i uruchomić urządzenie. Jednak:
- Niektóre QNAPy przechowują MAC adresy, SN, klucze w obszarze NVRAM/EEPROM lub w części pamięci SPI. Jeśli tak jest w TS‑431XeU, wgrywając „czysty” dump możesz stracić MAC/SN i (w skrajnych przypadkach) mieć problemy z licencjami/identyfikacją.
- Procedura bezpieczna: odczytaj dump z uszkodzonej kości (jeśli możliwe) przed flashowaniem jakiegokolwiek obrazu, porównaj z dumpem z dawcy. Jeśli dump z uszkodzonej kości jest częściowo czytelny, spróbuj wyodrębnić sekcje zawierające MAC/SN i wgrać tylko bootloader/
firmware, zachowując regiony z danymi unikatowymi. Jeżeli nie potrafisz rozpoznać regionów, najbezpieczniej wgrać cały obraz od sprawnego egzemplarza i potem zmienić MAC/SN zgodnie z procedurami (ale to może wymagać dodatkowych kroków i nie zawsze jest proste).
- Podsumowanie: obraz z innego egzemplarza prawdopodobnie wystarczy do odzyskania bootu, ale koniecznie sprawdź/podmień dane unikatowe jeśli to konieczne.
2) Pinout złącza AL SPI1 – które pady to CS, CLK, MISO, MOSI, VCC, GND?
- Nie mogę podać pewnego pinoutu „z pamięci” poza oficjalnymi fragmentami: pinout zależy od konkretnego rozmieszczenia padów AL na QZ11 i nie znajduje się w dostarczonych fragmentach. Podaję procedurę bezpiecznej identyfikacji:
a) Zlokalizuj fizycznie pamięć U24 (MX25L016) na płycie i identyfikuj wyprowadzenia układu (zwykle SOIC8). Na obudowie kości są standardowe numery nóżek; sprawdź orientację (denotacja kropką).
b) Typowy układ SPI SOIC8 (ogólnie dla MX25Lxxxx): nóżki to (dla obudowy SOIC8) zwykle: 1 = /CS, 2 = DI (MOSI), 3 = WP, 4 = VCC, 5 = GND, 6 = DO (MISO), 7 = CLK, 8 = HOLD. To jest ogólny standard dla wielu układów SPI (ale ZAWSZE zweryfikuj po oznaczeniach na kości i datasheetie), natomiast układy mogą być obrócone lub inne footprinty. (To jest ogólna informacja techniczna, nie oficjalny pinout płyty QZ11.)
c) Użyj multimetrów/ciągłości ścieżek aby zidentyfikować GND do masy płyty i VCC do raila 3.3 V. Sprawdź, czy wokół są rezystory, kondensatory lub konwertery poziomów (mogą być elementy odseparowujące linię).
d) Jeśli chcesz tylko podpiąć klips SOIC8: sprawdź orientację i numery nóżek kości, zrób pomiar zgodności (GND do GND, VCC do 3.3 V). Następnie narzędziem logicznym (oscyloskop / analizator stanów logicznych) zobacz czy po włączeniu urządzenia pojawiają się sygnały CLK/MOSI etc. przy starcie (jeżeli boot proces próbuje czytać flash).
e) Jeśli nie masz sposobu na weryfikację elektroniczną: wylutuj układ i odczytaj go na stole programatora — to eliminuje ryzyko błędów pinoutu.
3) Czy programowanie in-circuit na tej płycie działa, czy trzeba kość wylutować?
- Programowanie in‑circuit (z klipsem SOIC8 lub podpinaniem do padów) TEORETYCZNIE działa, ale:
- Często na płycie są elementy (rezystory, level shiftery, multipleksery) które mogą wpływać na odczyt/zapis i uniemożliwić poprawne flashowanie przez programator. Mogą też występować pull‑up/pull‑down, które zaburzają sygnały.
- Programowanie z klipsem przy wyłączonym zasilaniu programatora, a zasileniu płyty zewnętrznym — bywa ryzykowne (możesz uszkodzić programator lub płytę). Przy programowaniu in‑circuit najbezpieczniej:
1) Zasilanie kości zapewnić z programatora, a płytę odłączyć (czyli wylutować kość) — to najpewniejsze.
2) Alternatywnie: jeśli programator obsługuje tryb „power from target”, podłącz programator tak, aby target zasilał kość, ale rozważ wpływ pozostałych układów. Wiele problemów wynika z tego właśnie.
- Jeżeli nie masz doświadczenia lub klipu wysokiej jakości, najlepsza praktyka to wylutować chip i programować z niego zewnętrznie (bezpieczniej i szybciej diagnozuje problem).
- Reasumując: In‑circuit możliwe, ale niewystarczająco pewne — jeśli chcesz 100% pewności, wylutuj.
Praktyczny plan działania (krok po kroku)
1) Przygotowanie
- Zdobądź: sprawny donor TS‑431XeU (ta sama rewizja QZ11), lub programator CH341A, klips SOIC8 dobrej jakości, stację lutowniczą, desolder flux, ESD.
- Datasheet MX25L016 do ręki (dla mapy pamięci i pinoutu układu).
2) Odczyt z donor i z uszkodzonego egzemplarza (jeśli to możliwe)
- Jeżeli możesz odczytać uszkodzoną kość: spróbuj to zrobić najpierw. Jeśli bootloader błęduje sumą kontrolną, być może część pamięci jest OK i da się odzyskać dane unikatowe.
- Odczytaj dump z donor i z uszkodzonego (jeśli odczytowalny). Zachowaj obie kopie.
3) Weryfikacja regionów z danymi unikatowymi
- Porównaj dumpy heksadecymalnie (bin2hex/diff). Szukaj ciągów ASCII zawierających MAC/SN, ewentualnych ciągów konfiguracyjnych.
- Jeśli znajdziesz region z MAC/SN, wyodrębnij go i zapisz osobno.
4) Flashowanie
- Preferowane: wylutuj U24 i programuj na stole programatora (CH341A) przy 3.3 V.
- Alternatywa: jeśli chcesz programować in‑circuit, podłącz klips i wykonaj odczyt. Jeżeli odczyt jest stabilny (bez błędów CRC), możesz spróbować zapisu. Jeśli pojawiają się błędy — wylutuj.
- Po zapisie sprawdź verify (programator powinien porównać zapis z obrazem).
5) Po flashu
- Włóż z powrotem (jeśli była lutowana) lub odczep klips i podłącz. Uruchom i obserwuj konsolę UART (jak robiłeś) czy loader przechodzi dalej.
- Jeżeli urządzenie uruchamia się, sprawdź czy MAC/SN jest poprawne. Jeśli nie, przywróć region z danymi unikatowymi (opisane w pkt 3).
Dodatkowe wskazówki praktyczne
- Używaj klipu o dobrej jakości i upewnij się, że styki nie ślizgają się (niestabilne połączenie daje błędy odczytu).
- CH341A ma ograniczenia prędkości i kompatybilności; na większych rozmiarach flash może być wolny, ale zwykle wystarczający do MX25L016.
- Jeśli nie czujesz się komfortowo z wylutowaniem układu – zleć to serwisowi sprzętowemu. Uszkodzenie ścieżki lub padów uniemożliwi dalsze naprawy.
- Dokumentuj każdy krok i trzymaj oryginalne dumpy w bezpiecznym miejscu.
Podsumowanie (konkretne kroki do wykonania teraz)
1) Odczytaj dump z donor (ten sam model i rewizja QZ11). 2) Spróbuj odczytać Twoją uszkodzoną kość; jeśli się da, porównaj z donorem i zidentyfikuj regiony z MAC/SN. 3) Najpewniej: wylutuj U24 i zaprogramuj dump z donora przez CH341A (3.3 V), następnie wgraj/odtwórz oryginalne dane unikatowe jeśli trzeba. 4) Po zapisie sprawdź konsolę UART i poprawność MAC/SN. 5) Jeśli wszystko zawiedzie lub płyta ma uszkodzenia poza SPI, rozważ serwis sprzętowy.
Ostrzeżenie końcowe
Operacje na pamięci SPI i bootloaderze mogą trwale unieruchomić
NAS jeśli wykonane nieprawidłowo. Najbezpieczniejsze i najmniej ryzykowne podejście to wylutowanie kości i zaprogramowanie jej na stole programatora. Jeśli nie masz praktyki z lutowaniem BGA/SOIC, zleć wylutowanie serwisowi.
Źródła na forum:
Ta wiadomość pochodzi od asystenta AI — może zawierać błędy, zweryfikuj przed zastosowaniem. Oceń ją, głosując pod postem: ▲ pomocna lub ▼ nieprzydatna.
Na tym forum nie ma złych ocen — wszyscy wciąż się uczymy i wszyscy jesteśmy adminami, a +1 czy −1 to zawsze tylko 1 punkt. Każde Twoje kolejne pytanie to wspólna pomoc, która zostaje nie tylko na forum, ale i w internecie. Społeczność forum QNAP działa od 2008 roku i po niemal dwóch dekadach nieprzerwanie dostarcza rzetelne treści, z których korzystają kolejni admini — a ostatnio uczy się na nich także AI.