Wgrywanie firmware H. J. Berndta
Skąd bierze się ten firmware, co właściwie pobierasz, dlaczego jeden plik binarny obsługuje oba rodzaje pamięci, co przestaje działać w tej aplikacji i jak wrócić do oficjalnego firmware.
Firmware H. J. Berndta (hjberndt.de) działa na tym samym sprzęcie co oficjalny i poza tym nie ma z nim prawie nic wspólnego. To osobny projekt, a nie fork, z własną konsolą, własnym zestawem poleceń i bez jakiejkolwiek ramki statusu — dlatego większość tej aplikacji przy nim milknie. Co przeżywa taką zmianę, opisuje Alternatywny firmware. Ta strona jest o tym, jak go wgrać i jak się go pozbyć.
Co pobierasz
Firmware jest na stronie autora, nie na GitHubie, jako dwa pliki do pobrania: wersja z Bluetooth LE i wersja bez. Każda z nich to ZIP z jednym plikiem .bin i niczym więcej — bez changelogu, bez pliku z wersją, bez osobnych obrazów.
Ten jeden plik jest kompletnym obrazem: bootloader pod 0x0, tablica partycji pod 0x8000 i firmware pod 0x10000, wszystko razem, dokładnie tak jak w scalonym pliku oficjalnego firmware’u. Odczyt jednego z nich to tutaj potwierdził. Wgrywa się go więc jako jeden plik pod 0x0 i nie ma wariantu z trzema plikami. Ponieważ zaczyna się od 0x0, obejmuje też ten niewielki obszar, w którym oficjalny firmware trzyma ustawienia, więc one tej zmiany nie przeżywają. To przy tym dużo mniejszy plik niż oficjalny obraz scalony — jakieś trzy czwarte megabajta wobec 8 MB — bo nie ma w nim wypełnienia, więc zapis idzie szybko.
Jeden plik binarny obsługuje oba rodzaje pamięci. Notatki samego autora mówią, że wersja jest świadomie utrzymywana jako pojedynczy plik bez rozróżnienia OSPI/QSPI, i opisują oszczędzanie pamięci po to, żeby tak zostało. Pytanie o wariant, które przy oficjalnym firmware jest najważniejsze, tutaj po prostu nie pada — co znaczy też, że nie ma czego sprawdzać ani czego pomylić.
Autor określa swoją stronę jako dziennik prac, a nie instrukcję, i pisze, że firmware wciąż się zmienia. Nie ma numerów wersji do porównania ani not wydania: dostajesz to, co plik zawierał w dniu pobrania. Zachowaj więc ZIP, który wgrałeś, jeśli chcesz mieć możliwość powrotu do niego.
Dla jakiego sprzętu powstało
Warto przeczytać, zanim się zdecydujesz. Autor rozwija i testuje na sprzęcie ATS-Mini V1/V3 z własnymi przeróbkami — drutową zworką dla dekodera RTTY/CW i mikrofonem I2S dla nowszych dekoderów — i wprost pisze, że V4 nigdy nie miał do dyspozycji, więc o tej rewizji niczego nie twierdzi. Firmware celuje w otwarty sprzęt V1 i płytki z nim zgodne.
Wersja z Bluetooth ma dodatkowe ostrzeżenie od własnego autora: bardzo mały zapas pamięci bez PSRAM, bufor pierścieniowy na zaledwie 2000 znaków, brak jednoczesnego I2S i uwagę, że prawdopodobnie nie będzie rozwijana — opisuje ją jako doraźne rozwiązanie dla odbiorników z padającymi enkoderami. Zgadza się to z tym, co ten projekt ustalił z drugiej strony: przez całą sesję Bluetooth z tutejszym radiem nie wrócił ani jeden bajt.
Wgrywanie
Sam zapis nie ma w sobie nic szczególnego: jeden kompletny obraz pod 0x0, więc poradzi sobie z nim każde narzędzie z poradnika Wgrywanie firmware, a także instalator na tej stronie.
- Rozpakuj ZIP, żeby mieć sam plik
.bin. - W instalatorze przejdź kroki 1 i 2 normalnie — odczyt układu i tak warto mieć, choć ten firmware nie ma wariantów.
- W kroku 4 zaznacz Mam surowy obraz .bin zamiast archiwum wydania i wczytaj plik. Aplikacja odczyta jego nagłówek, rozpozna kompletny obraz i zaproponuje
0x0. - Potwierdź obejście. Luźny
.binnie ma oznaczenia wariantu, więc nie ma czego zweryfikować względem twojego sprzętu; tutaj kosztuje to mniej niż zwykle, bo ten firmware nie ma wariantu, który można by pomylić. - W kroku 5 najpierw zrób kopię zapasową, a potem zapisz.
Kopia zapasowa ma tutaj większe znaczenie niż gdziekolwiek indziej na tej stronie. Ten firmware nie ma żadnych wydań, do których można by się wycofać, ani numerów wersji, do których dałoby się wrócić, więc kopia tego, co radio miało wcześniej, jest jedyną pewną drogą powrotu.
Większość tej aplikacji milknie
Ten firmware nie wysyła żadnej ramki statusu, więc odczyty, które wypełniają panel statusu, dziennik odsłuchów i wskazanie pasma, nie mają czym się wypełnić, a niezgłaszane wartości pokazują — zamiast mylącego zera. Aplikacja usuwa też elementy sterowania, których nie potrafi obsłużyć, zamiast je wyszarzać: na radiu potwierdzonym jako Berndt nie ma na stronie panelu pamięci, edytora motywu, kalibracji, uśpienia, skanera widma ani panelu wyszukiwania stacji, razem z ich skrótami klawiaturowymi. Do tego przyjmuje mniej więcej jedno polecenie na pięć sekund, więc aplikacja dostosowuje do tego tempo i pokazuje odliczanie.
Aplikacja nigdy nie włącza tego profilu sama — pyta, raz na radio, i pamięta twoją odpowiedź dla tego egzemplarza. Dlaczego pyta i co wysyła po twojej zgodzie, opisuje Alternatywny firmware.
Powrót do oficjalnego firmware
Nic w tym firmware nie utrudnia drogi powrotnej. To zwykły zapis do pamięci flash ESP32-S3, tylko w drugą stronę.
- Zapisz kopię zapasową, którą zrobiłeś — kompletny obraz pod
0x0, dokładnie tak, jak został odczytany. Opisuje to Kopia zapasowa i odzyskiwanie firmware. - Albo wgraj oficjalne wydanie od zera instalatorem lub jedną z dróg z poradnika Wgrywanie firmware. Tym razem wariant znów ma znaczenie, więc pozwól krokowi 2 odczytać twoją płytkę.
- Wyczyść zapamiętaną odpowiedź aplikacji. To nie ten firmware? w panelu połączenia kasuje potwierdzenie dane dla tego radia, więc przy następnym połączeniu wykrywanie zaczyna się od nowa.
Gdy wrócisz już na oficjalny firmware, poradnik Wersje firmware opisuje, co właściwie daje jego numer wersji.
Najczęściej zadawane pytania
- Skąd wziąć firmware H. J. Berndta do ATS Mini?
- Z własnej strony autora pod adresem hjberndt.de, a nie z GitHuba. Są dwa pliki do pobrania, wersja z Bluetooth LE i bez, a każdy z nich to ZIP z jednym plikiem .bin. Strona jest dziennikiem prac, a nie instrukcją, i nie ma tam numerów wersji ani not wydania.
- Czy firmware Berndta wymaga wersji OSPI czy QSPI?
- Żadnej. Jest tylko jeden plik binarny i obsługuje oba rodzaje pamięci. Autor pisze, że wersja jest świadomie utrzymywana jako pojedynczy plik bez rozróżnienia OSPI/QSPI, więc pytanie o wariant, które dotyczy oficjalnego firmware, tutaj nie pada.
- Jak wgrywa się firmware Berndta?
- Jako jeden kompletny obraz pod adresem 0x0. Pojedynczy plik .bin w archiwum ZIP zawiera razem bootloader, tablicę partycji i firmware, ułożone tak jak w scalonym pliku oficjalnego firmware, więc nie ma wariantu z trzema plikami. Zapisze go każde narzędzie do ESP32-S3, w tym instalator na tej stronie przez opcję surowego obrazu.
- Jak wrócić do oficjalnego firmware po wgraniu firmware Berndta?
- Zapisz kopię zapasową zrobioną przed wgraniem, pod 0x0, albo wgraj oficjalne wydanie od zera — co znaczy, że znów trzeba wybrać właściwą wersję OSPI albo QSPI dla swojej płytki. Potem wyczyść zapamiętaną przez aplikację odpowiedź przyciskiem „To nie ten firmware?” w panelu połączenia, żeby przy następnym połączeniu wykryła firmware od nowa.