Pod Linuksem (Manjaro na KDE, Wayland, NVIDIA) obrywałem takim błędem dosyć losowo od około roku. Głównie przy grach – przy czym nie było zależności i regularności występowania tego błędu. Finalnie rozwiązanie okazało się być bardzo proste: należy wyłączyć ASPM dla urządzeń PCIe. Skutkuje to lekko większym zużyciem prądu, ale na desktopie nie ma to znaczenia (różnica paru watów).
Oczywiście, nie wolno nadawać w paśmie PMR za pomocą tej radiostacji – poza sytuacją zagrożenia życia. I moim zdaniem warto mieć taką możliwość, a nie zobaczyć smutne TX ERROR w razie takiej potrzeby.
Na powyższym zdjęciu widać zworki (rezystory „0”) odpowiadające za konfigurację radia na dany region. W moim egzemplarzu, na rynek europejski, zworki znajdywały się na pozycjach – według numeracji widocznej obok – 8, 1 i 2. Daje to standardowe limity pasm w regionie 1.
Modyfikacja zdejmująca wszelkie limity nazywa się MARS mod. Konfiguracja odblokowująca absolutnie wszystkie pasma to (podobno) 6789. Niestety, wadą tego rozwiązania jest utrata funkcji ARS – Automatic Repeater Shift, ponieważ radio nie jest już przywiązane do żadnego regionu IARU, zatem przesunięcie przemienników nie jest znane.
Ostatnio napisałem prostą aplikację graficzną na malinę – wyświetlanie paru rzeczy na podłączonym wyświetlaczu. Do realizacji wybrałem Tauri – zużycie pamięci, w połączeniu z cage oscyluje u mnie na poziomie 200MB, a same widoki mogę pisać przy użyciu Preact, zamiast tzw. „rzeźby” z komponentami GUI. Moim zdaniem, dobry kompromis między zużyciem zasobów a szybkością developmentu.
Pewien problem pojawił się z kompilacją i uruchomieniem. Przy próbie zbudowania na Raspberry, pomijając czas budowania, najzwyczajniej… zabrakło mi pamięci. Pierwsze co przychodzi do głowy jest cross-compilation, czyli wykorzystanie komputera do zbudowania binarki na inną architekturę. Niestety, dokumentacja opisuje to wprost:
Tauri relies heavily on native libraries and toolchains, so meaningful cross-compilation is not possible at the current moment.
Nie uwierzyłem, sprawdziłem. Budując w obrazie Dockera rust:latest i instalując biblioteki :arm64, dotarłem do punktu gdzie binarkę zbudować się udało, ale…
Tytułowy problem okazuje się być dosyć skomplikowany – Kubernetes oczekuje bycia uruchomionym na gołej maszynie (bare metal), natomiast m.in. AppArmor obecny w mechanizmie LXC trochę go ogranicza. Nie chciałem zmniejszać poziomu bezpieczeństwa całej maszyny, dając czemukolwiek pełne uprawnienia – mam tu na myśli często sugerowane, a według mnie niezbyt bezpieczne, wyłączenie wszelkich ograniczeń dla LXC, która ma mieć uruchomiony kube.
Szybkim rozwiązaniem byłoby uruchomienie maszyny wirtualnej, ale wtedy tracimy zasoby na wirtualizację – zatem, podjąłem walkę o uruchomienie K3s na LXC.
Dziś krótko – jak zainstalować i skonfigurować klienta WARP od Cloudflare na linuksie, a konkretnie na Manjaro. Składnia poleceń CLI zmieniała się co najmniej raz, więc poniższa instrukcja jest aktualna na początek roku 2025.
Mój smart home opiera się o Home Assistanta wraz z Zigbee2MQTT. Dotychczas moim adapterem był Sonoff ZBDongle-P, oparty na chipie CC2652P. Ponieważ serwer z HA znajduje się w słabym miejscu, adapter był podłączony pod USB w routerze i udostępniany za pomocą ser2net.
Ale czas idzie do przodu i nowy router nie posiada USB. W związku z posiadaniem sieci z PoE na strychu stwierdziłem – czas na zmiany. Nowym adapterem został SLZB-06M, oparty na chipie EFR32MG21.
Podpiąłem, skonfigurowałem IP, zmieniłem konfigurację w Z2M, restart i… błąd. Nie da się przywrócić backupu sieci na nowy koordynator. Większość wątków na forach doradzało sparowanie ponownie całej sieci – ale przy 30+ urządzeniach, w tym niektórych głęboko ukrytych (np. czujnik zalania pralki) szybko zwątpiłem i zacząłem szukać alternatywy. Okazuje się że da się zmigrować konfigurację, chociaż nie jest to intuicyjne.
Niedawno kupiłem taki oto UPS jak na zdjęciu wyżej (fot. Media Markt): Green Cell UPS17, w celu zabezpieczenia działania domowego serwera na którym uruchomiony jest Proxmox (Debian 11). Po podłączeniu go przez dołączony kabelek USB trzeba jednak wykonać trochę czynności, aby system go widział poprawnie.
Webhooki wysyłane przez hostingi Gita mogą być używane między innymi do aktualizacji wersji aplikacji na serwerze (deployment). Po określonej akcji – np. wysłanie poprawek do repozytorium – skrypt po stronie hostingu może wykonać zapytanie HTTP do skryptu w celu uruchomienia procedury automatycznej aktualizacji. W tym artykule pokażę jak utworzyć taki skrypt, podpiąć go do repozytorium i zabezpieczyć przed niepowołanymi żądaniami.
Biblioteka SDL2 uchodzi za jedną z najlepszych do tworzenia prostych gier 2D w C++, jednocześnie jest nieskomplikowana i nie ma dużych zależności. Wydaje się że jest to idealny wybór dla początkującego gamemakera chcącego napisać lekką grę w C++. W tym kursie poprowadzę Cię od podstaw do własnej, prostej gry. To co, zaczynamy?
Po 2 latach nieobecności w internecie zdecydowałem się na ponowne uruchomienie bloga. Tak samo jak poprzednio, będę tu wrzucał co ciekawsze spostrzeżenia czy rozwiązania problemów których nie znalazłem, radząc sobie z nimi.
Cóż więcej mogę napisać – zachęcam do regularnych odwiedzin i komentowania 😀