Raspberry Pi niemal read only

W końcu padła kolejna karta microSD. Tym razem jakaś chińszczyzna, kupiona wieki temu na Aliexpress. Działała długo. Nie pamiętam od kiedy, ale chyba parę lat. Znaczy się, problemy miała wcześniej, ale nie miałem czasu się tym zająć i jakoś działało. Chodzi oczywiście o Raspberry Pi robiące za router GSM.

O tym, że nie jest z nią dobrze wiedziałem. Przy instalacji nowych pakietów miała narowy i leciały jakieś błędy. Za pierwszym razem ograniczyłem zapisy na kartę – wyłączyłem bieda statystyki w postaci logowania ilości przesłanych danych. Mogłem wyłączyć więcej logów oraz swap, ale nie wpadłem na to. Zresztą, działało.

A teraz pewnego dnia zniknął internet, akurat gdy pracowałem. Oczywiście udostępniłem sobie net z komórki, ale zrobiłem szybką diagnostykę. W logach czysto, w dmesg czysto, uptime 240 dni. Reboot i… nadal nie działało. Za to chwilę po reboocie przy zwykłym działaniu pojawiły się błędy odczytu. Uznałem, że wina karty.

Chyba niesłusznie i była to po prostu awaria a2mobile, bo po przełożeniu modemu do innego komputera netu także nie było.

Tu mała dygresja odnośnie operatorów. Zmigrowałem z Aero2 na a2mobile i tak to sobie działa. Przy okazji – można odzyskać kaucję za kartę, którą pobierało Aero2. Nie trzeba odsyłać karty, nie trzeba podawać numeru ani wypełniać druku – wystarczy napisać email, tak jak to opisano na Pepper. W mniej niż tydzień pieniądze z depozytu miałem na koncie.

Tak w ogóle to widzę, że w Aero2 mają nowe pakiety i może niepotrzebnie rezygnowałem. Bo teraz w Aero2 dają 10 GB za 10 zł bez limitu prędkości. Z kolei obecne a2mobile nadal daje za 12,9 zł 5 GB bez limitu prędkości, kolejne 5 GB z limitem 3 Mbps (modem 3G, więc nie robi to dramatycznej różnicy i spokojnie da się działać), kolejne 5 z limitem 1 Mbps (no tu jest wolno już), a potem 512 kbps. W praktyce pewnie zwykle mieściłbym się w 10 GB, a lepiej dopłacić 10 zł za kolejny pakiet przy tych rzadkich okazjach, kiedy potrzeba będzie więcej transferu. Hmm…

No ale skoro karta ewidentnie pada, to pora na wymianę. Czasu mało, więc zamawiać nie będę, szybka wizyta w sklepie, kupiłem jakiś dziwny wynalazek 32GB za 20 zł. Karta microSD z napisem full HD na opakowaniu. Przy okazji zauważyłem, że bardzo stary Raspbian się tam ostał – jeszcze oparty na bullseye. Zastanawiałem się przez chwilę, czy nie instalować nowego Raspbiana (oparty na bookworm), ale o ile backup obrazu karty miałem, o tyle plików nie. Oczywiście mogłem podmontować i zgrać pliki, ale stwierdziłem, że więcej będzie roboty z szukaniem ich wszystkich, niż z aktualizacją Raspbiana.

No i w sumie miałem rację – aktualizacja była bezproblemowa. Przy okazji wyłączyłem logi, wyłączyłem swap, zrobiłem lekki tuning pamięci, ustawiając minimalną możliwą dla karty graficznej (16 MB zamiast domyślnych 64 MB). No i zobaczymy, ile podziała teraz. Oczywiście mam świeży backup, znowu w postaci obrazu karty.

Przy okazji, trafiłem na ciekawy opis, jak zrobić w Raspberry Pi kartę w trybie read only przy pomocy overlayFS. Spróbowałem i… niestety nie działa, choć raspi-config twierdzi, że przełączył. Nie tylko u mnie, widziałem podobne opisy na forach – na 64bit niby działa, na 32bit – nie. A moje RPi to 1B, więc nie mogę 64bit użyć. Na dokładniejszy debug nie starczyło już czasu, może następnym razem się uda…

Udostępnianie internetu z telefonu

Niedawno usłyszałem pytanie o setup dla abcc, które zawierało ciekawy element – jedno z dostępnych połączeń było przez USB[1]. Zaintrygowało mnie to, bo tak się złożyło, że zupełnie nie znałem tematu. Zawsze udostępniałem internet z Androida wykorzystując WiFi i tworząc access point. Nie byłem pewien jak takie połączenie w ogóle jest widoczne pod Linuksem.

Poczytałem, sprawdziłem i sprawa jest prosta. Aby udostępnić internet z telefonu z Androidem należy najpierw podłączyć kabel USB. Dopiero wtedy aktywna staje się opcja USB tethering. Po jej aktywacji na telefonie, w systemie powinno pojawić się urządzenie usb0. Traktujemy jak zwykłą przewodową kartę sieciową.

Takie proste, a nigdy nie korzystałem. Czy warto udostępniać połączenie z Androida po USB, zamiast po WiFi? Jedna zaleta jest oczywista – podczas udostępniania połączenia telefon zużywa więcej prądu. Podłączenie kablem do komputera zapewnia od razu ładowanie. Z kolei oczywista wada to mniejsza swoboda ruchów – kabel jest zawsze jakimś ograniczeniem.

Pora sprawdzić wydajność. Szybki zgrubny test, po prostu fast.com, w dodatku pojedynczy pomiar dla każdej konfiguracji.

Operator nr 1
42 Mbps download 10 Mbps upload, latency 32 ms unloaded, 462 ms loaded na WiFi 2,4 GHz
42 Mbps download 15 Mbps upload latency 30 ms unloaded, 420 ms loaded na USB

Operator nr 2 (IPv6)
78 Mbps download 11 Mbps upload, latency 30 ms unloaded 321 ms loaded na WiFi 5 GHz
71 Mbps download 14 Mbps upload, latency 28 ms unloaded 446 ms loaded na USB

Wielkich różnic jak widać nie ma. Wariancie optymistycznym, czyli nieobciążonym łączu na kablu zyskamy nieco na opóźnieniach sieciowych. Lepsze powinien też być upload. Czyli domyślnie warto podłączyć kabel USB. Nie są to jednak wielkie różnice, więc jeśli nie gramy w gry online albo nie zależy nam na prędkości uploadu, wygląda, że może decydować wygoda.

UPDATE I jeszcze dla porównania wyniki z mojej kablówki, nominalnie 60/10:
62 Mbps download 7 Mbps upload, latency 6 ms unloaded 50 ms loaded na WiFi 5 GHz

Oczywiście inny serwer, pomiar dzień później itd. Ale i tak widać, jak bardzo LTE dogoniło, albo wręcz przegoniło kablówkę opartą o miedź. Światłowód zapowiadany był dwa lata temu, ale nadal nic nie wskazuje, by miał się pojawić.

[1] Sprawa w toku, może zasłuży na osobny wpis jak skończę.

Radio 357

Po przeczytaniu wpisu zerknąłem na Radio 357 i zastanowiła mnie jedna rzecz. Parcie w kierunku FM. Na stronie patronite znajdziemy opowieści o kupnie koncesji lub przejmowaniu lokalnych rozgłośni, by zyskać pasmo. O słuchaniu na zwyczajnym odbiorniku stojącym w kuchni. Zastanawiam się, na ile to parcie w kierunku FM ma faktyczny sens, jeśli chodzi o dotarcie do ludzi, a na ile to zwykła nostalgia. Lub wręcz gra na niej.

Zalety FM

Owszem, FM ma trochę zalet. Nie potrzeba nowego sprzętu do odbioru, jakiekolwiek radio zadziała. Można bez problemu słuchać w samochodzie. Słuchacze nie płacą za transfer danych. Niby jest on darmowy, ale pewnie spora część ludzi odbiera na telefonach, przez GSM. A to oznacza, że de facto płaci za transfer[1].

Zalety?

Co prawda streamu internetowego pewnie też da się słuchać w aucie, ale raczej nie będzie to „natywne” radio, tylko udostępnianie z telefonu[2]. TBH nie próbowałem nawet, poziom skomplikowania wygląda na niepomijalny, ale i tak pewnie będzie rwanie przez dziury w zasięgu. Wolę muzę z karty SD, przynajmniej w trasie.

No właśnie, zasięg. FM wygląda różowo, jeśli weźmiemy pod uwagę zasięg ogólnopolski. Przy stacjach lokalnych różowo nie jest i samochodowe zalety „w trasie” mocno tracą na znaczeniu. Jest napisane wprost, że budowa sieci FM nie zdarzy się od razu. Potrwa miesiące. Tymczasem wkrótce minie rok, od kiedy audycje zniknęły z Trójki.

Dochodzi też kwestia jakości. FM szumi. Szczególnie na słabszym sprzęcie, bez dobrej anteny. Owszem, często da się to rozwiązać, szczególnie jeśli mamy dobry sygnał. W praktyce, jeśli chcemy mieć dobrą jakość, łatwiej jest słuchać streamu z internetu. Pokrycie GSM w Polsce jest niezłe i nadal się poprawia. Może pora wymienić odbiornik radiowy w kuchni na coś, co wspiera streamy internetowe? Albo, jeśli jest on dobrej jakości, dopiąć mu stosowną przystawkę, zostawić go po prostu jako wzmacniacz z głośnikiem i cieszyć się stacjami z całego świata[3]?

No i na koniec: nie tylko Polska ma znaczenie. Nadawanie tylko w kraju via FM odcina od kilkunastu milionów potencjalnych słuchaczy na świecie. I liczba niepomijalna, i dla części może to być jedyny kontakt z krajem.

Stream

Na szczęście stream internetowy nie jest trudny do zrobienia. Tzn. samo zakodowanie audio do postaci cyfrowej i udostępnienie przez sieć. Wieki temu robiło to Radio Baobab. Dystrybucja do wielu odbiorców może być bardziej skomplikowana. Szczególnie, jeśli chcemy zrobić ją samodzielnie. Ale zapewne skalowanie można rozwiązać przez rzut monetą. Istnieją gotowe serwisy, które rozwiązują zagadnienie pojemności łącz. Nie zdziwię się, jeśli również załatwią ew. transkodowanie i udostępnianie na popularnych platformach.

Cieszę się więc, że słuchacze nie poddali się nostalgii i chcieli stream. Cieszę się, że idzie nowe. Dzięki temu może i ja włączę kiedyś Radio 357. Póki co nie miałem okazji. Zwłaszcza, że wymagają playera na stronie, nie dają linka do gołego streamu. A ten player coś u mnie nie działa.

Czy w ogóle inwestowanie przez Radio 357 w FM ma sens? Nie wiem. Ja FM nie potrzebuję.

[1] Radio internetowe, z uwagi na charakter korzystania, zużywa całkiem sporo transferu. Godzina streamu w popularnym wariancie 128 kbps to ok. 58 MB. Radio ma to do siebie, że gra godzinami. Słuchanie przez 8h to 0,4 GB. Zakładając słuchanie w pracy – 8 GB miesięcznie, czyli jak na pakiety u operatorów GSM ilość zauważalna.

[2] Przynajmniej w typowym aucie. Nowe są już domyślnie podłączone do internetu, więc tam może być to bardziej wygładzone, bez dodatkowych urządzeń, bezpośrednio z netu. Przynajmniej jako opcja, bo zwykłe FM też jest.

[3] Zakładając, że ktoś potrzebuje. Jeśli ktoś jest wierny jednej stacji i nigdy nie zmienia na inną, argument traci sens. A słuchanie jednej stacji przy pracy wygląda mi na całkiem powszechne. Tyle, że mając do wyboru stacje z całego świata może się okazać, że będzie to zupełnie inna stacja…