To praktyczny dodatek do tekstu „MeshCore i path.hash.mode: co dają 2 i 3 bajty w repeaterze i companionie”. Tam tłumaczymy, po co są dłuższe identyfikatory w śladzie pakietu. Tu pokazujemy, jak je włączyć i jak sprawdzić, że zmiana zadziałała. Zrzuty ekranu pochodzą z aplikacji MeshCore w wersji 1.50.0.

Zanim zaczniesz

  • Firmware 1.14 lub nowszy. Starsze repeatery i companiony nie znają tego ustawienia. Wersję repeatera sprawdzisz poleceniem ver w konsoli albo w aplikacji, w zdalnym zarządzaniu: Ustawienia → Wersja.
  • Rozejrzyj się po okolicy, zanim przestawisz companiona. Repeater możesz przestawić od razu. Companion wysyła z nowymi identyfikatorami wszystkie swoje wiadomości, więc najpierw sprawdź, czy repeatery wokół ciebie są gotowe. Pomoże w tym tablica MeshMapper, analizator analyzer.marwoj.net i lokalna grupa.
  • Aktualna aplikacja. Ustawienie companiona jest w aplikacji od wersji 1.41.0. Opisy menu poniżej dotyczą wersji 1.50.0.

Ściąga: numer w konsoli, bajty w aplikacji

Chcesz ustawić Repeater – polecenie w konsoli Companion – wybór w aplikacji
1 bajt (domyślnie) set path.hash.mode 0 1 bajt (maks. 64 hopów)
2 bajty set path.hash.mode 1 2 bajty (maks. 32 hopów)
3 bajty set path.hash.mode 2 3 bajty (maks. 21 hopów)

Zapamiętaj jedno: w konsoli wpisujesz numer trybu, który jest o jeden mniejszy od liczby bajtów. W aplikacji wybierasz liczbę bajtów wprost. Przy 1 bajcie aplikacja podaje 64 skoki (hopy), tak jak dokumentacja. W praktyce ślad mieści 63 repeatery, co w codziennym używaniu nie ma znaczenia.

Repeater krok po kroku

Polecenie zmienia długość identyfikatora tylko we własnych ogłoszeniach repeatera (advert) i w kilku innych pakietach, które repeater sam wysyła. Cudze pakiety repeater z firmware 1.14 lub nowszym przekazuje w takiej długości, jaką wybrał ich nadawca, niezależnie od tego ustawienia. Restart nie jest potrzebny: nowa długość obowiązuje od następnego ogłoszenia.

Sposób 1: w aplikacji, przez zdalne zarządzanie

  1. Na liście kontaktów otwórz menu ⋮ przy swoim repeaterze, wybierz „Szczegóły”, a potem „Zdalne zarządzanie”. Zaloguj się hasłem administratora.
  2. Na dole ekranu „Administrator repeatera” wybierz zakładkę „Ustawienia”, a w niej „Ustawienia sieci”.
  3. Przy polu „Rozmiar hasha ścieżki” kliknij ikonę odświeżania (↻). Aplikacja pobierze wtedy obecną wartość z repeatera. Zapytanie idzie przez radio, więc czasem kończy się komunikatem „Błąd: timeout”. Wtedy po prostu odśwież jeszcze raz.
  4. Z listy wybierz „2 bajty (maks. 32 hopów)” i zapisz zmianę ikoną ✓ obok pola.
Zdalne zarządzanie repeaterem: zakładka Ustawienia, pozycja Ustawienia sieci i pole Rozmiar hasha ścieżki z ikonami odświeżania i zapisu
Repeater w aplikacji: zdalne zarządzanie → Ustawienia → Ustawienia sieci. Ikona ↻ pobiera wartość, ✓ ją zapisuje.Zrzut ekranu: aplikacja MeshCore

Sposób 2: w konsoli

Konsola jest w tym samym miejscu: zdalne zarządzanie, zakładka „Wiersz poleceń”. Jak z niej korzystać, opisaliśmy w tekście o wierszu poleceń w companionie i Remote CLI. Jeśli repeater masz pod ręką, te same polecenia wpiszesz też w konsoli po kablu USB.

set path.hash.mode 1
get path.hash.mode

Pierwsze polecenie ustawia 2 bajty, drugie pokazuje, co jest zapisane. Konsola odpowiada numerem trybu, a nie liczbą bajtów. Ten sam repeater, który na poprzednim zrzucie pokazuje w aplikacji „3 bajty”, w konsoli odpowiada „2”.

Konsola repeatera: polecenie get path.hash.mode i odpowiedź 2
Konsola podaje numer trybu, a nie liczbę bajtów: 2 oznacza 3 bajty.Zrzut ekranu: aplikacja MeshCore

Jak sprawdzić efekt

Od razu: get path.hash.mode albo odświeżenie pola w aplikacji. Po kilku godzinach, gdy repeater nada nowe ogłoszenia, zajrzyj też do analizatora. W analyzer.marwoj.net (Analytics → Hash Stats, lista Multi-Byte Hash Adopters) repeater powinien dostać status Confirmed, czyli potwierdzenie w ogłoszeniu. MeshMapper zaliczy go wtedy do repeaterów gotowych na dłuższe identyfikatory.

Companion krok po kroku

  1. Na głównym ekranie aplikacji kliknij ikonę koła zębatego, czyli „Ustawienia”.
  2. Przewiń do sekcji „Ustawienia sieci” i otwórz pole „Domyślny rozmiar hasha ścieżki”.
  3. Wybierz „2 bajty (maks. 32 hopów)” i zapisz zmianę ikoną ✓ w prawym górnym rogu ekranu. Bez tego wybór nie zostanie zapamiętany. Ikona ⓘ obok pola przypomina, że repeatery ze starszym firmware nie przekażą wiadomości z dłuższymi identyfikatorami.
Ustawienia sieci w aplikacji MeshCore: pole Domyślny rozmiar hasha ścieżki i lista wyboru 1, 2 lub 3 bajty
Companion: Ustawienia → Ustawienia sieci → Domyślny rozmiar hasha ścieżki.Zrzut ekranu: aplikacja MeshCore

To ustawienie decyduje o długości identyfikatorów we wszystkim, co companion sam wysyła we flood: w wiadomościach na kanałach, w pierwszej wiadomości do nowego kontaktu i przy szukaniu trasy.

Odnów trasy do kontaktów

Companion pamięta trasy do kontaktów razem z długością identyfikatorów. Trasy wyznaczone przed zmianą zostają więc przy starej długości. Żeby to zmienić, przy kontakcie, z którym piszesz najczęściej, otwórz menu ⋮ i wybierz „Zresetuj ścieżkę”. Następna wiadomość pójdzie we flood i wyznaczy nową trasę, już z dłuższymi identyfikatorami.

Menu kontaktu w aplikacji MeshCore z opcjami Szczegóły, Ustaw ścieżkę, Zresetuj ścieżkę i Trasowanie ścieżki
Po zmianie rozmiaru odnów trasę: menu ⋮ przy kontakcie → Zresetuj ścieżkę.Zrzut ekranu: aplikacja MeshCore

Jak sprawdzić efekt

  • Trasa do kontaktu. Otwórz menu ⋮ przy kontakcie, wybierz „Szczegóły” i zajrzyj do sekcji „Ścieżka”. Pole „Rozmiar hasha ścieżki wyjściowej” pokazuje, ile bajtów na skok ma zapamiętana trasa. Na zrzucie poniżej trasa prowadzi przez dwa repeatery („2 hopy”), a w polu „Ścieżka wyjściowa” widać ich dwubajtowe identyfikatory: 5e34 i ee6c. Jeśli po zmianie ustawienia widzisz tu nadal „1 bajt na hop”, trasa pochodzi sprzed zmiany i warto ją zresetować.
  • Wiadomość próbna. Wyślij krótką wiadomość do znajomego, którego trasa prowadzi przez kilka repeaterów, i sprawdź, czy dochodzi potwierdzenie.
  • Kanały. W „Ustawieniach wiadomości” włącz „Pokaż rozmiary hashy ścieżek wiadomości kanału” (i ewentualnie „Pokazuj liczbę przeskoków wiadomości kanału”). Pod wiadomościami na kanałach zobaczysz wtedy, jakiej długości identyfikatorów używają inni nadawcy.
Sekcja Ścieżka w szczegółach kontaktu: 2 hopy, ścieżka wyjściowa 5e34,ee6c, rozmiar hasha ścieżki wyjściowej 2 bajty na hop
Trasa przez dwa repeatery zapisana dwubajtowo: w polu Ścieżka wyjściowa widać identyfikatory 5e34 i ee6c.Zrzut ekranu: aplikacja MeshCore

Ustawienia nie muszą być wszędzie takie same

Długość identyfikatorów w śladzie wybiera nadawca każdego pakietu. Repeater, który ogłasza się dwoma bajtami, bez kłopotu przekaże wiadomość companiona wysłaną z trzema bajtami i dopisze się do niej trzema. Nie musisz więc przestawiać wszystkich swoich urządzeń na jedną wartość. Ważne jest tylko to, żeby repeatery po drodze miały firmware 1.14 lub nowszy.

Co wybrać: 2 czy 3 bajty

  • Najpierw zapytaj lokalną sieć. Region Południe wymaga na repeaterach trybu 2-bajtowego (set path.hash.mode 1). Jeśli w twojej okolicy jest podobne ustalenie, trzymaj się go.
  • 2 bajty to praktyczny kompromis. Powtórki identyfikatorów zdarzają się rzadko, limit to 32 skoki, a dodatkowe nadawanie jest niewielkie.
  • 3 bajty jeszcze bardziej zmniejszają ryzyko powtórek, ale obniżają limit do 21 skoków i nieco wydłużają pakiety. Śledzenie trasy („Trasowanie ścieżki”) obsługuje identyfikatory 1-, 2-, 4- i 8-bajtowe, a 3-bajtowych nie, więc aplikacja zamienia je wtedy na 2-bajtowe.
  • Po zmianie presetu radia sprawdź to ustawienie jeszcze raz. Presety w aplikacji mogą mieć wpisany własny rozmiar i aplikacja stosuje go przy przełączaniu presetu.

Gdy coś przestanie działać

Jeśli po przestawieniu companiona wiadomości do kogoś przestały dochodzić, wróć na 1 bajt i zresetuj ścieżkę do tego kontaktu. Najczęstsza przyczyna to repeater ze starszym firmware na trasie, który po cichu odrzuca pakiety z dłuższymi identyfikatorami. Daj znać jego operatorowi albo lokalnej grupie, a do 2 bajtów wróć po aktualizacji.

Poradnik powstał na podstawie aplikacji MeshCore 1.50.0, dokumentacji poleceń i kodu źródłowego MeshCore 1.18.0 oraz listy zmian aplikacji.