Psion 5mx z Linuxem na pokładzie

Proces instalacji Debiana na małym, kompaktowym komputerze pracującym na dwóch zwykłych, wymiennych paluszkach, z pełną klawiaturą, monochromatycznym ekranem (16 kolorów) i w cenie około 200 zł.


Na początek mój filmik przedstawiający prezentowane tu Psiony w połączeniu z Ubuntu i Windowsem uruchomionymi na macOS:

Psion Revo+

Na początku za 100 zł zakupiłem na Allegro komputerek Psion Revo Plus, ale rozdzielczość (480×160) i wielkość dostępnej pamięci były niewystarczające – pozwalały tylko na uruchomienie uproszczonej wersji Debiana w połączeniu z BusyBox. Klawiatura tego modelu również pozostawia wiele do życzenia.

Psion 5mx

Zacząłem rozglądać się za wersją Psion 5mx z rozdzielczością 640×240. Pomysłowo składający się komputerek sprzed 20 lat, działający na dwóch zwykłych, wymiennych paluszkach, z doskonałą klawiaturą, pozwalający na umieszczenie karty CompactFlash 1GB, był idealnym wyborem.

Udało mi się zakupić go na OLX za około 200 zł w stanie prawie nieużywanym. Podobno przeleżał przez te lata w szufladzie i brak starć na klawiaturze na to wskazuje (pozdrawiam sprzedawcę).

Kopiowanie plików

… po irdzie wymagało instalacji pod Windows XP 32-bit programu Psion PsiWin 2.3.3 oraz przekierowania dongla USB irdy na wirtualny port COM3 oprogramowaniem IrCOMM2K 2.0.0 beta 3. W filmie powyżej przedstawiam kroki, które pozwalają na kopiowanie plików przez irdę w takim zestawieniu. Jest to szczególnie istotne, gdyż większość Psionów jest obecnie sprzedawana bez kabla RS-232, a nawet jeżeli znajdzie się urządzenie z takim kablem, to ciężko już o port szeregowy w dzisiejszych komputerach :)

W przypadku 5mx można zrezygnować z tej formy przesyłania plików – wystarczy transfer poprzez adapter USB->CF, który można kupić na Allegro już za około 20zł. Zainstalowałem w dual boot Debiana Etch i Debiana Woody z interfejsem graficznym. Przetestowałem dystrybucje od Openpsion, ale najlepsza okazała się wersja Kludged Linux Debian Etch. Pliki do tej wersji są dostępne po kontakcie z autorem (również pozdrawiam).

Opis przygotowania karty CF jest zawarty na stronie www.ajwells.net, ale UWAGA: aktualnie wymagane jest jeszcze ponowne sformatowanie pierwszej partycji DOS w systemie operacyjnym EPOC Psiona. Dopiero wtedy można kopiować na kartę bootloadera ARLO. Jeżeli chcemy instalować dodatkowe pakiety, to należy jeszcze utworzyć partycję swap zgodnie z opisem rozdziału Instalacja dodatkowych pakietów.

Niestety Psiony 5mx mają już swoje lata i nie przyjmują większości najnowszych kart CompactFlash. Z testów wynika jednak, że bezproblemowo współpracują z tymi kartami 1GB:

Xorg – graficzny interfejs użytkownika

Rozszerzyłem Kludged Linux / Debian Etch o GUI w oparciu o (wprowadzony właśnie w Etch i używany do dzisiaj) Xorg server oraz o przygotowany dla Psiona Xipaq server. Ze wszystkich przetestowanych menadżerów okien, ze względu na dostępne w Psionie 5MX tylko 16MB RAM, swoją funkcję najlepiej spełnia Fluxbox. Pracuje się na nim wygodnie i bez opóźnień, a dodatkowo bardzo czytelnie prezentuje terminal, który osiąga wtedy rozmiary 105×36 znaków. Poniżej zrzuty ekranowe z Fluxbox oraz z Window Makrer, który jest wzorowany na systemie NeXTStep firmy NeXT:

Poprawnie uruchomił się również menadżer okien IceWM i PicoGUI. Tego ostatniego nie liczę, bo to oddzielny i bardzo uproszczony software. W repozytorium jest dostępnych znacznie więcej menadżerów okien, ale ponieważ Fluxbox spełnia swoje zadanie, więc ich już nie testowałem.

W trybie graficznym działa przeglądarka WWW dillo, która obsługuje CSS oraz proste ramki html.

Po instalacji X-ów należy wykonać jeszcze:
dpkg-reconfigure x11-common
dpkg-reconfigure xserver-xorg

Poniżej fragment konfiga xorg.conf utworzonego metodą prób i błędów :) należy zastąpić tylko poniższe sekcje:
Section "Monitor"
Identifier "Generic Monitor"
Option "DPMS"
EndSection
Section "Screen"
Identifier "Default Screen"
Device "Generic Video Card"
Monitor "Generic Monitor"
DefaultDepth 4
SubSection "Display"
Depth 4
Modes "640x240"
EndSubSection
EndSection

Komendy przydatne podczas uruchamiania X-ów:
Xipaq :0
fluxbox -display :0
lub wmaker -display :0
DISPLAY=:0 xterm -geometry 40x9+4+44
xmodmap -display :0 ~/.Xmodmap

Wcześniej, dla poprawnej obsługi klawiatury Psiona w X-ach należy utworzyć plik ~/.Xmodmap następującą komendą:
printf "keycode 71 = Shift_L\nkeycode 63 = Shift_R\nkeycode 47 = Control_L\nkeycode 55 = Mode_switch\nkeycode 39 = Alt_L\nclear Lock\nadd Shift = Shift_L\nadd Shift = Shift_R\nadd Control = Control_L\nadd Mod1 = Alt_L\nadd Mod5 = Mode_switch\n" > ~/.Xmodmap

Połączenie z Internetem

Następnym krokiem było podłączenie komputerka do internetu, które jest możliwe również przez IrDę. Stabilne połączenie poprzez VirtualBox udało mi się uzyskać przy oszałamiającej prędkości 4,800 bit/s, gdzie moim pierwszym modemem w młodości był 14,400 bit/s :) Bez VirtualBox połączenia dochodzą do prędkości standardowego modemu 57600. W pierwszej kolejności należy zainstalować pakiet irda-utils. Poniżej kod pozwalający na zestawienie takiego połączenia.

Aktywacja połączenia poprzez IrDA

PC
modprobe irda-usb
modprobe ircomm-tty
irattach irda0
sleep 3
echo 4800 > /proc/sys/net/irda/max_baud_rate
echo 2000 > /proc/sys/net/irda/max_tx_data_size

Psion
irattach /dev/ttyAM0 -s 1
sleep 3
echo 4800 > /proc/sys/net/irda/max_baud_rate
echo 2000 > /proc/sys/net/irda/max_tx_data_size

Sprawdzenie połączenia po IrDA

PC
cat /dev/ircomm0
Psion
echo test > /dev/ircomm0

Zestawienie połączenia PPP

PC
pppd -detach local noauth lock 10.0.2.1: /dev/ircomm0 4800 &

Psion
pppd -detach local noauth defaultroute userpeerdns lock 10.0.2.2: /dev/ircomm0 4800 &

Udostępnianie połączenia internetowego

Po zapingowaniu adresów 10.0.2.1 i 10.0.2.2 odpalenie na PC najprostszej maskarady w iptables:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE

W przypadku połączenia po kablu RS-232 zamieniamy tylko prędkość z 4800 na 115200 oraz w Psionie port na /dev/ttyAM1.

Instalacja dodatkowych pakietów

Trzy dyski DVD z oprogramowaniem do wersji Etch Debina ARM można znaleźć tutaj: dvd1, dvd2, dvd3. Instalacja większych pakietów wymaga utworzenia 64MB partycji swap, ponieważ 16MB Psiona nie jest wystarczające dla pełnej obsługi apt i dpkg. Swap należy sformatować mkswap /dev/hdaX, dodać poprawny wpis do /etc/fstab /dev/hdaX none swap sw 0 0 oraz uruchomić ponownie urządzenie. Dopiero wtedy można aktywować partycję wymiany poleceniem swapon -a. Swap działa poprawnie jeżeli wynikiem komendy swapon -s będzie listing wykorzystywanych partycji wymiany. Po instalacji pakietów należy go deaktywować poleceniem swapoff -a ponieważ na dłuższą metę operacje na partycji swap mogą uszkodzić kartę CF.

Pakiety instalujemy standardowym poleceniem dpkg -i po wcześniejszym odnalezieniu wymaganego pakietu na powyższych płytkach – lub montujemy każdy z dysków DVD na swoim serwerze WWW oddzielnie i podpinamy te repozytoria pod apta (który musimy wcześniej zainstalować przez dpkg). Poniżej przykładowy plik sources.list dla takiego rozwiązania, z założeniem, że 10.0.1.1 to adres IP waszego serwera domowego :)

deb http://10.0.1.1/dvd1/ etch main
deb http://10.0.1.1/dvd2/ etch main
deb http://10.0.1.1/dvd3/ etch main

i jeszcze tylko przygotowanie apt do poprawnego działania:

echo "10.0.1.1 iaccess.bp.com" > /etc/hosts
echo 'APT::Get::AllowUnauthenticated "true";' > /etc/apt/apt.conf.d/99auth

W Kludged Linux Debian Etch jest niepoprawnie zainstalowany telnetd, a procesor i prędkości połączenia nie zachęcają do korzystania z ssh, dlatego proponuję usunięcie sshd i naprawę telnetd – oczywiście w przypadku, gdy jesteście odpowiednio zabezpieczeni.

  1. dodanie wpisu do /etc/fstab
    devpts /dev/pts devpts gid=5,mode=620 0 0
  2. aby nie wykonywać restartu ręczne zamontowanie pts:
    mount -t devpts devpts /dev/pts
  3. zakomentowanie poniższej linii w /etc/pam.d/login, dzięki czemu możliwe będzie logowanie na konto root
    # auth requisite pam_securetty.so
  4. Po tych operacjach telnetd przeinstaluje się poprawnie:
    apt-get install --reinstall telnetd

Z ciekawostek: stan naładowania baterii sprawdzamy krótkim poleceniem ;)
printf "Baterie: %s\n" `cut -d" " -f7 /proc/apm`

Specyfikacja Psion 5mx

Procesor: 32-bit ARM 710T CPU @ 36.864 MHz, RAM: 16 MB, ROM: 10 MB,  karta pamięci: Type I Compact Flash do 1GB, rozdzielczość: 640×240, ekran: monochromatyczny (16 odcieni szarości), dotykowy, system operacyjny: EPOC, porty szeregowe: RS-232 i Infrared, zasilanie: baterie 2x AA, bateria awaryjna CR2032, dźwięk: głośnik 1/2 W, 8 Ohm + mikrofon, klawiatura: QWERTY 53 klawisze, rozmiar: 172x89x24 mm, waga: 350g (z bateriami), zakres temperatur: -5°C do 40°C.

Zakupy

Psiona 5mx można kupić na Amazonie i eBay-u, a czasami na OLX i Allegro (tylko kilka razy w roku, ale dużo taniej – od 150 do 300 złotych). Jeżeli interesuje nas wyłącznie tryb tekstowy, to można zakupić tańszego Psiona z uszkodzonym ekranem dotykowym, ponieważ uruchomienie boot loadera ARLO jest w EPOC możliwe bez używania rysika.

Jak sprzęt sprawuje się w praktyce?

Doskonale :) Debian na Psionie jest bardzo szybki, klawiatura działa poprawnie i jest wbrew pozorom bardzo wygodna. Klawisze wyglądają i zachowują się jak w klawiaturach pełnowymiarowych (w Psion Revo tylko „wyglądają”). Ekran dużo lepiej sprawdza się na świeżym powietrzu, niż w zamkniętych pomieszczeniach – w przeciwieństwie do najnowszych produktów dzisiejszych producentów. Psion przełącza się z trybu uśpienia natychmiast. Dwa paluszki alkaliczne działają kilkadziesiąt godzin, ale można też korzystać z akumulatorków wielokrotnego ładowania lub z samego zasilacza. Można ustawić automatyczne uruchamianie Linuxa po reboocie (bez oczekiwania na załadowanie EPOC z ROMu) lub powrót do systemu EPOC. 5MX jest wykonany bardzo solidnie i w przemyślany sposób. Komputerek będę chciał sprezentować synowi na jego 7 urodziny (z nadzieją, że temat zainteresuje go bardziej od gier), ponieważ Psion daje dużo więcej funu z obcowania z pełnym systemem, niż płytki Raspberry Pi czy Odroid. Zapewne przez kompaktowość w połączeniu z klawiaturą i ekranem oraz przez fakt korzystania ze sprzętu retro z dość małymi zasobami, ale z których (jak się okazuje) można jeszcze bardzo wiele wycisnąć :)

Przydatne linki


Ten wpis znalazł się na stronie głównej serwisu wykop.pl, otrzymując 590 wykopów. Zobacz też inne wpisy z tego bloga, które trafiły na stronę główną.

11 myśli na temat “Psion 5mx z Linuxem na pokładzie

  1. Mistrzowskie zniechęcenie dzieciaka do jakiejkolwiek dalszej zabawy z komputerami :3

    Na twoim miejscu kupiłbym mu X200, wrzucił libreboota oraz Debiana i poinstruował „co się z czym je”, przy okazji instalując eclipse czy codeblocks (bo nie oszukujmy się, dzieciak raczej nie będzie chciał kodzić w notatniku)

    1. Tak wielkiego laptopa nie będzie mógł wszędzie ze sobą zabrać. Klawiatura w X200 też jest dla niego nieco za duża. Raczej nie będzie korzystał z notatnika – może z VIMa (o ile mu się spodoba ;-)

    1. W prezentowanej tu przeglądarce dillo nie działa Javascript, a Firefox na Psionie raczej nie pójdzie :) sprawdzę ;)

  2. jedno pytanie jak z polskimi literami
    brak lawisza alt gr
    swoja droga nastepca tez nie ma alt gr. no ale ma juz normalny procek

    1. Wyświetlają się poprawnie – pisać polskich znaków do tej pory nie potrzebowałem, ale widzę, że lewy ALT jest podpięty pod lewy klawisz Menu. Sprawdzę jak z pisaniem z polskimi znakami na dniach i dam tu znać.

    2. Na razie nie udało mi się uzyskać polskich znaków z klawiatury Psiona – przyznaję jednak, że nie poświęciłem na próby więcej niż 30 minut ;). Zadanie nie jest na liście moich priorytetów, także na razie odpuszczam :) Jestem przekonany, że jest to możliwe, bo w ustawieniach klawiatury jest jeszcze opcja (oprócz AltGr) wykorzystania samego Alt.

    1. Prace administracyjne, instalowanie, ogólne pisanie – klawiatura jest super.
      Kodowanie wychodzi niestety dość kiepsko :( Dlaczego? Tutaj powiększenie klawiatury:
      https://jm.iq.pl/wp-content/uploads/2018/05/psion-5mx-linux-debian-etch-e@2x.jpg
      W kodowaniu często trzeba robić wygibasy między uzyskiwaniem znaków specjalnych klawiszem SHIFT (przypis na górze klawisza) albo klawiszem FN (przypis pod spodem klawisza). Do krótkich programów i prostych skryptów OK, ale pisania całego projektu sobie nie wyobrażam :)

  3. wszystko pieknie tylko nie ma polskich liter (altGR) zreszta to jest bolaczka, ktora zniechecila mnie do zakupu yogi czy podobnych. https://liliputing.com/2018/06/one-mix-yoga-preview.html
    nawet gadalem z projektantem klawiatury, ale no coz. Poprosil mnie grzecznie bym spadal na drzewo.

    Na razie szukam dobrej klawiatury, a jest kilkanascie fajnych projektow, zazwyczaj zwykle arduino robi za sterownik i masz klawiature jak marzenie

    1. Kupiłem Gemini PDA z polską klawiaturą hardware’ową i polskie znaki są dostępne. Brakuje w niej tylko litery ć – problemy początkowych produktów crowdfundingowych :) ale z tego co słyszałem, to już rozwiązali ten problem software’owo. Jestem przekonany, że gdyby przysiąść do problemu polskich znaków w Psionie, to również znajdzie się rozwiązanie. Warto, bo 5mx za 200 zł posiada dużo lepszą klawiaturę od najnowszego Gemini PDA.

Pozostaw odpowiedź Mareczek Anuluj pisanie odpowiedzi

This site uses Akismet to reduce spam. Learn how your comment data is processed.