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 580 wykopów. Zobacz też inne wpisy z tego bloga, które trafiły na stronę główną.

9 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 :)

Dodaj komentarz

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