PinePhone prakticky

Z Wikiknih

Stránka s dostupným SW - https://wiki.pine64.org/wiki/PinePhone_Software_Releases

Komunikační kanály:

Běžná obsluha[editovat | editovat zdroj]

  • aktivace obrazovky
    • poklepání - pohotovostní režimu
    • - uspaný telefon
  • hlasitost - 🔉/🔊
  • vypnutí obrazovky -
  • vypnutí/restart telefonu - (2 s)
  • zamrznutý telefon - (8 s)
    • multi-distro - (15 s resp. počkat, dokud se neobjeví úvodní nabídka)
  • zobrazení nabídky (multi-distro) - při spouštění podržet 🔉 současně s
    • ve výchozím nastavení se spouští první systém na uSD kartě. Pro změnu stačí podržet tlačítko dokud nedojde ke zvýraznění položky

Distribuce[editovat | editovat zdroj]

Grafická rozhraní[editovat | editovat zdroj]

Scénáře použití[editovat | editovat zdroj]

Denní použití kombinované s testováním/vývojem[editovat | editovat zdroj]

  • eMM
    • "stabilní" prostředí pro denní použití
    • občasná aktualizace známé "spolehlivé verze)
    • Manjaro/PlaMo
  • uSD
    • testovací, vývojové a ukázkové prostředí
    • průběžná aktualizace dílčích distribucí (aktuálně 15)
    • multi-distro

Velké soubory např. obrazy PP je vhodné ukládat na větší úložiště - obvykle uSD.

Návody[editovat | editovat zdroj]

Aktualizace distribuce[editovat | editovat zdroj]

Provádí se prostřednictvím správce aplikací/balíčků dané distribuce[pozn. 3] včetně volby, zda používat bezpečně otestovanou nebo vývojovou variantu. Z důvodu případných problému je vhodné pořizovat záznamy úprav např. takto pro Manjaro/PlaMo:

  • otevřít terminál nebo se připojit pomocí ssh
  • (přepnutí na nestabilní větev # pacman-mirrors --api --set-branch unstable[pozn. 4])
  • vytvořit složku pro záznamy # mkdir ~/pacman_logs a předpnout se do ní # cd ~/pacman_logs
  • # yes | pacman -Syyu --noconfirm | tee ~/pacman_logs/pacman-$(date +%F-%T).log
    • dostupné aktualizace vypíše příkaz # pacman -Syup
  • přidat nové balíčky
    • stáhnout seznam balíčků nového vydání[2] # wget <URL vydání PP><soubor>-pkgs.txt
    • vypsat do souboru aktuální balíčky # pacman -Q > pkgs.txt
    • instalovat chybějící # yes | pacman --overwrite "*" -S $(diff --new-line-format="" --unchanged-line-format="" <(cut -d' ' -f1 <soubor>-pkgs.txt) <(cut -d' ' -f1 pkgs.txt) | sed ':a;/$/{N;s/\n/ /;ba}') | tee ~/pacman_logs/pacman-$(date +%F-%T).log
      • nemá-li nové vydání žádné nové balíčky, objeví se chybové hlášení error: no targets specified (use -h for help) tj. Pacman nemá co instalovat
      • (částí diff --new-line-format="" --unchanged-line-format="" <(cut -d' ' -f1 <soubor>-pkgs.txt) <(cut -d' ' -f1 pkgs.txt) | sed ':a;/$/{N;s/\n/ /;ba}' lze vypsat chystané změny před jejich provedením)

Aktualizace firmware modemu[editovat | editovat zdroj]

Modem je připojen pomocí USB, tudíž informace o něm lze získat pomocí $ lsusb (z balíčku usbutils). Příslušný software "Pinephone Modem SDK" obsahuje také návod, ale některé kroky stojí za přiblížení, byť vše lze vykonat jediným příkazem (viz. níže pod jejich popisem) s nainstalovaným balíčkem android-tools:

  • krok 2: firmware je ke stažení jakopackage.tar.gz na konci bloku ve sbalené sekci Assets, verze jsou drobná čísla vlevo od bloků jako např. 0.4.2. Recovery firmware je potřeba jen výjimečně.
    • balíček neobsahuje žádný adresář, tudíž přehlednější rozbalení bude s jeho vytvořením # mkdir v0.4.2 && tar xzvf package.tar.gz -C v0.4.2/
    • počínaje krokem 5 je nutné jednotlivé příkazy volat z vytvořeného adresáře tj. po # cd v0.4.2
  • krok 3: obvykle stačí # echo -ne "AT+QFASTBOOT\r" > /dev/EG25.AT[pozn. 5]
  • krok 5: je prvním, ve kterém se provádí změny, tudíž ještě můžete couvnout příkazem # fastboot reboot z kroku 8
  • krok 6: s tímto hlášení jsem se nesetkal. Pouze OKAY a Finished
  • krok 7: existuje novější verze jádra. Soubor boot-mdm9607.img nahraďte mdm9607-perf-boot.img (zdroj)
  • krok 8: přepnutí do běžného režimu lze ověřit stejně jako v kroku 4, jen je třeba chvilku počkat, než modem nastartuje. Výpis pak bude
    $ lsusb
    ..
    Bus 002 Device 007: ID 2c7c:0125 Quectel Wireless Solutions Co., Ltd. EC25 LTE modem
    ..
    
  • (+ krok 9:) - ověření výsledků
    # echo -ne "AT+ADBON\r" > /dev/EG25.AT  # povolí na modemu ADB
    # adb shell openqti -v # verze firmware
    openQTI Version 0.4.2 
    
    od verze 0.5.0 lze použít
    # mmcli -m any --command="AT+GETSWREV"
    
    # adb shell uname -a # verze jádra
    Linux mdm9607 3.18.140 #309 PREEMPT Thu Nov 11 06:15:29 CET 2021 armv7l GNU/Linux
    

Všechny kroky trvají maximálně několik sekund. Najednou je lze vykonat spuštěním skriptu # ./flashall za méně než 30s. Postup obsáhleji komentoval např. Sebastian Späth. Před ověřením výsledné verze je potřeba asi půl minuty počkat na restart modemu, jinak hlásí "error: couldn't find modem".

Doporučuje se upravit některá nastavení modemu.

S modemem lze také komunikovat pomocí SMS zasláním příkazu na číslo +22 33 44 55 66 77.

AT příkazy[editovat | editovat zdroj]

Nevyzrálost ekosystému linuxového mobilu občas vede k nutnosti komunikovat se modemem pomocí AT příkazů. Jejichž použití naznačuje PinePhone wiki, nováčkům pomůže obecnější pojednání. Zde pár tipů:

  • # mmcli -m any --command="AT+QGMR" - výpis verze firmware modemu jako rychlý test funkčnost AT příkazů pomocí mmcli[pozn. 6]
    • hodnota any parametru -m řeší problém s proměnlivou hodnotou indexu modemu 0, 1, atd.
    • # echo AT+QGMR | atinout - /dev/EG25.AT - - totéž pomocí atinout Vhodné v případě problémů s ModemManagerem. Na rozdíl od nmcli umožňuje zadat AT příkaz také malými písmeny
  • # mmcli -m any --command="AT+QGPS=?" - výpis podrobností o příkazu
  • # mmcli -m any --command="AT+QGPS?" - výpis aktuálně nastavené hodnoty
  • # mmcli -m any --command="AT+QGPS=1" - nastavení hodnoty na 1, což aktivuje GPS modul[pozn. 7]
  • příkazy obsahující další funkce (zde nastavení GPS)
    • výpis podrobností je shodný např. mmcli -m any --command="AT+QGPSCFG=?"
    • výpis hodnot se musí vypořádat s tím, že názvy funkcí se vkládají do "
      • # mmcli -m any --command='AT+QGPSCFG="NMEASRC"' - celý příkaz v parametru se vloží mezi '
      • # echo AT+QGPSCFG=\"NMEASRC\" | atinout - /dev/EG25.AT - - před každou " se připíše \
    • nastavení hodnoty je obdobné
      • # mmcli -m any --command='AT+QGPSCFG="NMEASRC",1'
      • # echo AT+QGPSCFG=\"NMEASRC\",1 | atinout - /dev/EG25.AT -

Manuální připojení k WiFi[editovat | editovat zdroj]

  • zjistit dostupné sítě $ nmcli dev wifi list
  • připojit se # nmcli --ask dev wifi connect <SSID>
  • přesvědčit se o přiděleni IP adresy $ ip a s wlan0

Nouzové ovládání[editovat | editovat zdroj]

Vzhledem k intenzivnímu vývoji může nastat situace, kdy systém linuxového telefonu např. po aktualizaci nenastartuje korektně a nelze jej tudíž ovládat pomocí dotykové obrazovky. V příznivějším případě bude fungovat běžné ssh, v méně příznivém lze využít postup pro připojení pomocí seriového kabelu, kde alternativou k Emacs terminálu je např. # picocom -b 115200 /dev/ttyUSB0.

Poloha, navigace a trasování[editovat | editovat zdroj]

Ačkoliv PP dosud nemá vyřešeno určování směru pomocí magnetometru, příjem signálu[pozn. 8] satelitní navigace využívající NMEA standard funguje. Z podrobného pojednání se může hodit:

  • rychlé ověření stavu a vyzkoušení z příkazové řádky
    # mmcli -m any --location-status                                                                                                                    
      --------------------------------                                                                                                                                      
      Location |         capabilities: 3gpp-lac-ci, gps-raw, gps-nmea, gps-unmanaged, agps-msa, 
               |                       agps-msb
               |              enabled: 3gpp-lac-ci
               |              signals: no
      --------------------------------
      GPS      |         refresh rate: 3600 seconds
               | supported assistance: xtra
               |   assistance servers: http://xtrapath1.izatcloud.net/xtra3gr.bin
               |                       http://xtrapath2.izatcloud.net/xtra3gr.bin
               |                       http://xtrapath3.izatcloud.net/xtra3gr.bin
    případně AT příkazu, kde 0 = vypnuto, 1 = zapnuto
    # mmcli -m any --command="AT+QGPS?"
    
    # mmcli -m any --location-enable-gps-nmea
    successfully setup location gathering
    
    nebo zapnutí
    # mmcli -m any --command="AT+QGPS=1"
    (vypnutí)
    # mmcli -m any --command="AT+QGPSEND"
    
    # mmcli -m any --location-get
    
    výpis NMEA komunikace pak
    # screen /dev/EG25.NMEA  # ukončuje se pomocí Ctrl+a, k
    
  • nebo pomocí JavaScriptu v prohlížeči. Kód stačí v PP uložit jako HTML soubor a otevřít v prohlížeči (Firefox při každé aktivaci geolokace vyžaduje souhlas na rozdíl od svižnějšího GNOME Web)
  • šikovnou aplikaci kombinující mapy (i offline), navigaci a trasování je osmin
    • Nextcloudová aplikace PhoneTrack se příliš neosvědčila, protože není schopna fungovat bez mobilních dat, což v terénu bývá problém

Poznámky

  • inicializace navigace (získání almanachu pozic satelitů) může trvat i několik minut, tudíž první údaje bývají nesmyslné
  • interakce s GSM modemem
    • vypnutí mobilní sítě způsobí vypnutí také přijímače navigačního signálu. Totéž platí pro mechanický vypínač
    • JavaScript a lokalizační služby v prohlížečů obecně vyžadují mít aktivní mobilní data. Netýká se CLI nebo osminu
    • problém bude v ModemManageru.
  • HW a SW specifikace, zejména manuál s AT příkazy pro GNSS
  • získání pozice pomocí AT příkazu $ mmcli -m any --command="AT+QGPSLOC" nefunguje, ale nezdá se, že by to něčemu vadilo

Přepnutí zvukového systému[editovat | editovat zdroj]

Linuxový svět zavádí PipeWire namísto PulseAudia. Systém však není dostatečně vyzrálý, tak je občas potřeba mezi oběma systémy přepnout a zároveň ponechat nainstalované příslušné balíčky s ohledem na existující závislosti. Následujíc je platné pro Manjaro/Phosh, ale situace u jiných distribucí bude obdobná

  • PipeWire
    • vypnutí
      # systemctl --machine=manjaro@.host list-unit-files --user | grep pipewire  #  zjištění názvů služeb
      (# ls -la /usr/lib/systemd/user/ | grep pipewire  # obdoba předchozího)
      # systemctl --machine=manjaro@.host --user stop pipewire.service pipewire.socket pipewire-media-session  # vypne PipeWire
      # su manjaro -c "XDG_RUNTIME_DIR=/run/user/1000 pw-cli info 0"  # ověření
      # systemctl --machine=manjaro@.host --user mask pipewire.service pipewire.socket pipewire-media-session  # zabránění spuštění PipeWire
      # systemctl --machine=manjaro@.host --user list-unit-files --state=masked  # ověření
      
    • spuštění je opakem předchozího, ověření výsledku je identické
      # systemctl --machine=manjaro@.host --user unmask pipewire.service pipewire.socket pipewire-media-session  # ukončí blokování PipeWire
      # systemctl --machine=manjaro@.host --user restart pipewire.service pipewire.socket pipewire-media-session  # spuštění PipeWire
      
  • PulseAudio
    • vypnutí
      # systemctl --machine=manjaro@.host list-unit-files --user | grep pulseaudio  #  zjištění názvů služeb
      (# ls -la /usr/lib/systemd/user/ | grep pulseaudio  # obdoba předchozího)
      # systemctl --machine=manjaro@.host --user stop pulseaudio.service pulseaudio.socket  # vypne PulseAudio
      # su manjaro -c "XDG_RUNTIME_DIR=/run/user/1000 pactl info"  # ověření
      # systemctl --machine=manjaro@.host --user mask pulseaudio.service pulseaudio.socket  # zabránění spuštění PulseAudia
      # systemctl --machine=manjaro@.host --user list-unit-files --state=masked  # ověření
      
    • spuštění je opakem předchozího, ověření výsledku je identické
      # systemctl --machine=manjaro@.host --user unmask pulseaudio.service pulseaudio.socket  # ukončí blokování PulseAudia
      # systemctl --machine=manjaro@.host --user restart pulseaudio.service pulseaudio.socket  # spuštění PulseAudia
      

Reflash eMMC[editovat | editovat zdroj]

Manjaro/PlaMo

  • spustit mobil z uSD a otevřít terminál nebo se připojit pomocí ssh
  • stáhnout obraz PP[2] $ wget -c -t 0 --timeout=60 --waitretry=60 -P <cílová složka> <URL vydání PP>
  • ověřit úplnost staženého souboru porovnáním čísla v <URL vydání PP><soubor>.sha1 s výstupem $ sha1sum <soubor>
  • vypsat bloková zařízení, kde řádek 4 odpovídá uSD a 7 eMMC (velikost napoví 😉)
    # lsblk
    NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
    ..
    mmcblk0      179:0    0  58.9G  0 disk 
    ├─mmcblk0p1  179:1    0   196M  0 part 
    └─mmcblk0p2  179:2    0  58.7G  0 part /
    mmcblk2      179:8    0  29.1G  0 disk 
    ├─mmcblk2p1  179:9    0 213.6M  0 part 
    └─mmcblk2p2  179:10   0  28.9G  0 part
    ..
    
  • provést reflesh eMMC (trvá několik minut). Jde o nevratný krok, tedy je vhodné si 3x zkontrolovat znění příkazu
    # unxz --stdout <soubor> | dd  of=/dev/mmcblk2 bs=1M oflag=direct status=progress
    6354919936 bytes (6.4 GB, 5.9 GiB) copied, 1310 s, 4.9 MB/s
    12425216+0 records in
    12425216+0 records out
    6361710592 bytes (6.4 GB, 5.9 GiB) copied, 1310.81 s, 4.9 MB/s
    
    druhý pokus
    6360510976 bytes (6.4 GB, 5.9 GiB) copied, 1237 s, 5.1 MB/s
    12425216+0 records in
    12425216+0 records out
    6361710592 bytes (6.4 GB, 5.9 GiB) copied, 1241.73 s, 5.1 MB/s
    
  • restartovat mobil a spustit systém na eMMC

Reflash pouze zaváděcího oddílu eMMC[editovat | editovat zdroj]

Manjaro/PlaMo

  • spustit mobil z eMMC či uSD a otevřít terminál nebo se připojit pomocí ssh
  • stáhnout obraz PP $ wget -c -t 0 --timeout=60 --waitretry=60 -P <cílová složka> <URL vydání PP>
  • ověřit úplnost staženého souboru porovnáním čísla v <URL vydání PP><soubor>.sha1 s výstupem $ sha1sum <soubor>
  • dekomprimovat stažený soubor $ unxz <soubor> tj. získat <obraz PP>
  • zpřístupnit obraz jako bloková zařízení # losetup -Pf <obraz PP>
  • vypsat bloková zařízení, kde řádek 3 odpovídá obrazu PP, 6 uSD a 9 eMMC
    $ lsblk
    NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
    loop0          7:0    0   5.9G  0 loop 
    ├─loop0p1    259:0    0 213.6M  0 part 
    └─loop0p2    259:1    0   5.7G  0 part 
    mmcblk0      179:0    0  58.9G  0 disk 
    ├─mmcblk0p1  179:1    0   196M  0 part 
    └─mmcblk0p2  179:2    0  58.7G  0 part /root/mnt2
    mmcblk2      179:32   0  29.1G  0 disk 
    ├─mmcblk2p1  179:33   0 213.6M  0 part /boot
    └─mmcblk2p2  179:34   0  28.9G  0 part /
    ..
    
  • provést reflesh zaváděcího oddílu eMMC. Jde o nevratný krok, tedy je vhodné si 3x zkontrolovat znění příkazu
    # dd if=/dev/loop0p1 of=/dev/mmcblk2p1 bs=1M oflag=direct status=progress
    222020096 bytes (222 MB, 212 MiB) copied, 8 s, 27.7 MB/s
    437501+0 records in
    437501+0 records out
    224000512 bytes (224 MB, 214 MiB) copied, 8.0737 s, 27.7 MB/s
    
  • nahradit obsah složky /lib/modules/ (možná je lepší původní obsah ponechat)
    # mount /dev/loop0p2 mntImgPar2
    # rm -fr /lib/modules/*
    # cp -r mntImgPar2/lib/modules/* /lib/modules/
    (možná také # cp mntImgPar2/etc/mkinitcpio.d/linux-pinephone.preset /etc/mkinitcpio.d/)
    
  • restartovat mobil do reflashnutého systému a provést provést aktualizaci

Sdílení internetového připojení (tethering)[editovat | editovat zdroj]

  • USB kabel
    • (v dohlednu by mělo fungovat automaticky)
    • vytvořit a aktivovat rozhraní usb0[pozn. 9]
      $ wget https://gist.githubusercontent.com/bmatusiak/ca96afe69cf3e16783d18f1650aafb50/raw/427c1b5acaf7f446e00cfdab2587f90f8c8c01bc/usb_gadget_setup.sh  # stažení příslušného kódu
      $ chmod +x usb_gadget_setup.sh  # nastavení souboru jako spustitelného
      # ./usb_gadget_setup.sh up  # vytvoření a aktivace zařízení
      
      • vznik zařízení již při startu PP lze zajistit systémovou službou pomocí souboru /etc/systemd/system/usb_gadget_setup.service
        [Unit]
        Description=Creats USB gadget
        
        Wants=network.target
        After=syslog.target network-online.target
        
        [Service]
        Type=simple
        ExecStart=/root/usb_gadget_setup.sh up
        Restart=on-failure
        RestartSec=10
        KillMode=process
        
        [Install]
        WantedBy=multi-user.target
        
      • s povolením automatického spuštění # systemctl enable usb_gadget_setup.service
    • a síťové spojení pro NetworkManager
      • vytvoření # nmcli con add type ethernet con-name usbTethering ifname usb0 ipv4.method shared
      • aktivace # nmcli con up usbTethering
      • začlenění rozhraní pod správu NetvorkManageru[pozn. 10] souborem /etc/NetworkManager/conf.d/80-usbTethering.conf
        [device]
        match-device=interface-name:usb0
        managed=true
        
  • WiFi - v aplikaci nastavení mobilu zvolit "Hotspot" a vyplnit požadované položky

Mutli-distro místo iptables používá modernější nftables, na což většinou nejsou distribuce připravené, tudíž je potřeba pro spojení na Internet vytvořit směrovací tabulku ručně:

  • kontrola aktuálního stavu # nft -s list ruleset
    • aplikace nft je v balíčku nftables
  • v případě prázdného výpisu je třeba vytvořit tabulku, zřetězení i pravidlo vytvořením souboru /etc/nftables.conf[pozn. 11]
    flush ruleset
    
    table inet nat {
            chain postrouting {
                    type nat hook postrouting priority srcnat; policy accept;
                    oifname "wwan0" masquerade 
            }
    }
    
  • a povolit automatické načítání # systemctl enable nftables.service
  • aplikovat nastavení # systemctl restart nftables.service

Při testování, obzvlášť, je-li k dispozici více síťových rozhraní (WiFi, ethernet, .. viz. výstup $ ip a), pozor na priority (hodnoty "metric" ve výpisu $ ip r) a zapnutý firewall.[pozn. 12]

Sdílený root případně primární uživatel[editovat | editovat zdroj]

Při přepínání do jiných systémů multi-distra se hodí jednotné místo pro uživatelská data jako jsou stažené soubory, fotografie či historie příkazů. Toho se dá dosáhnout namapováním domovského adresáře do vyhrazeného btrfs podsvazku pomocí úpravy souboru fstab

# mkdir ~/m
# mount /dev/mmcblk0p2 m
# cd m/
# btrfs subvolume list .  # výpis stávajících
# btrfs subvolume create multi-root

# vim /etc/fstab  # v případě aktuálního systému. Obdobně v příslušných podsvazcích ostatních

přidáním řádku /dev/mmcblk0p2 /root/ btrfs subvol=multi-root,compress=zstd 0 2.

V případě roota již není díky standardizaci potřeba nic dalšího. Postup u primárního uživatele mobilu je analogický, žel běžně se dle distribucí liší názvem, číslem či domovským adresářem, a je tak při sjednocování potřeba postupovat individuálně. Společné je sjednocení UID/GID např. na nekolizní hodnotě 1111 úpravou souborů /etc/passwd a /etc/group i nastavení vlastnictví podsvazku pojmenovaného třeba multi-home pomocí # chown -R 1111:1111 <domovský adresář>.[pozn. 13]

  • Manjaro/Phosh
    • manjaro:users /home/manjaro
    • nastavit User=1111 v /usr/lib/systemd/system/phosh.service[pozn. 14]
  • Manjaro/PlaMo
    • <volí uživatel při prvním spuštění>:<shodné s názvem uživatele> /home/<název uživatele>

Zvýšenému riziku poškození dat primárního uživatele díky např. jinému formátu databází pro ukládání SMS se dá čelit pořizováním btrfs snímků.

Snímek obrazovky[editovat | editovat zdroj]

  • Phosh
    • GUI: ne
    • CLI: # su manjaro -c "XDG_RUNTIME_DIR=/run/user/1000 XDG_PICTURES_DIR=~/Pictures grim"
  • PlaMo
    • GUI: zcela rozbalit horní panel, kliknout na Screenshot
    • CLI: nefungovalo

Vypnutí USB napájení[editovat | editovat zdroj]

Hodí se, když nechcete vyčerpávat baterky notebooku, který máte propojený USB kabelem s PP - # echo 0 > /sys/class/power_supply/axp20x-usb/online. Jednička napájení opět aktivuje, stejně jako znovupřipojení kabelu, restart apod. Nezapomeňte, že se vypnutím napájení začnou uplatňovat předvolby řízení spotřeby.

Vzdálená plocha[editovat | editovat zdroj]

Při častých experimentech nebo obyčejném psaní SMS by se může hodit obsluhovat mobil přímo z počítače. Toho lze dosáhnout:

  • spuštěním VNC serveru na PP # su manjaro -c "XDG_RUNTIME_DIR=/run/user/1000 WLR_BACKENDS=headless WLR_LIBINPUT_NO_DEVICES=1 wayvnc -k cz &"[pozn. 15]
    • wayvnc nepodporuje rozšířené kódování schránky, tudíž takto lze přenášet pouze ASCII znaky[3][pozn. 16]
  • a připojením se z počítače pomocí nějakého VNC klienta prostřednictvím ssh a přesměrování portů, tedy po spuštění $ ssh -i ~/.ssh/<soukromý klíč> -L 5900:localhost:5900 root@<IP adresa PP> připojíme VNC klienta na localhost:5900
    • objeví-li se při pokusu o navázání spojení oznámení o jeho ukončení, je na PP potřeba ručně aktivovat obrazovku a znovu se připojit

Vzdálené přihlášení roota[editovat | editovat zdroj]

  • předpokladem je připojení do stejné sítě např. pomocí WiFi a vygenerované ssh klíče
  • v terminálu mobilu dočasně povolit přihlášení roota pomocí hesla nastavením PermitRootLogin yes v souboru /etc/ssh/sshd_config
  • restartovat službu # systemctl restart sshd
  • na počítači spustit $ ssh-copy-id -i ~/.ssh/<veřejný klíč> root@<IP adresa PP>
  • vrátit PermitRootLogin na původní hodnotu (obvykle prohibit-password) a opět restartovat službu sshd
  • vzdáleně se připojit k PP $ ssh -i ~/.ssh/<soukromý klíč> root@<IP adresa PP>
  • při častém používání
    • povolit automatické spouštění služby systemctl enable sshd
    • usnadnit přihlašování (zadávání hesla) autentizačním agentem)

Zpětná vazba, hlášení závad[editovat | editovat zdroj]

Závisí na zkušenostech, protože chyba může být specifická pro distribuci, grafické rozhraní (GNOME, KDE) nebo aplikaci včetně jádra systému. Nejjistější, nikoliv však nejefektivnější a nejrychlejší, je použít zpětnou vazbu distribuce.[pozn. 17] Bývá potřeba uvést podrobnosti o použitém HW a SW, např. pro Manjaro/PlaMo[pozn. 18]:

  • verze PP např. PinePhone v1.2b
  • prostředí
    $ uname -a
    Linux manjaro-arm 5.14.5-1-MANJARO-ARM #1 SMP PREEMPT Thu Sep 16 16:39:22 UTC 2021 aarch64 GNU/Linux
    $ kf5-config --version
    Qt: 5.15.2
    KDE Frameworks: 5.86.0
    kf5-config: 1.0
    
    $ export $(cat /proc/$(pidof plasmashell)/environ | tr '\0' '\n')  # při volání z ssh viz. https://wiki.postmarketos.org/wiki/Plasma_Mobile#Running_Apps_from_SSH_session
    $ plasmashell --version
    plasmashell 5.22.5
    
  • software většinou podporuje dotaz <název aplikace> --version, nebo lze využít správce pacman -Q <název balíčku>. Výpis podrobnějších informací (-Qi) navíc napoví, kam se zpětnou vazbou:
    $ plasma-phonebook --version
    plasma-phonebook 21.08
    $ pacman -Q plasma-phonebook
    plasma-phonebook 21.08-1
    $ pacman -Qi plasma-phonebook
    Name            : plasma-phonebook
    Version         : 21.08-1
    Description     : Phonebook application for Mobile Devices running Plasma
    Architecture    : aarch64
    URL             : https://www.plasma-mobile.org/
    ..
    

Řešení problémů[editovat | editovat zdroj]

Triky, jak se dostat z problémových situací

  • restart grafického prostředí # systemctl restart phosh.service
  • restart modemu když např. nefunguje vytáčení # systemctl restart ModemManager.service

Poznámky[editovat | editovat zdroj]

  1. uSD karta se samozřejmě doporučuje větší, aby byl prostor pro uživatelská data, aktualizace nebo další distribuce.
  2. Pro hlášení závad se doporučuje především bugs.kde.org/. Pokud zde příslušná aplikace/komponenta není, pak invent.kde.org/.
  3. Prostředí PlaMo zavádí na distribucích nezávislou aplikaci Discover, ale zatím není dostatečně odladěná.
  4. Zjištění aktuální větve Manjara $ pacman-mirrors --get-branch.
  5. /dev/EG25.AT je pouze názornější alias pro /dev/ttyUSB2
  6. Slouží ke správě ModemManageru z příkazového řádku a tudíž bude vždy nainstalován.
  7. V tomto případě nelze nastavit hodnotu 0 přímo, ale voláním # mmcli -m any --command="AT+QGPSEND"
  8. V místnosti prakticky nereálné.
  9. Kód obsahuje nepodstatné chyby a věci, které nejsou pro sdílení připojení nezbytné, je tedy vhodné si jej dle potřeb trošku doladit např. takto.
  10. Zajistí se tím např. obnova při restartu NetworkManageru
  11. Vznikne-li vzorový soubor již instalací balíčku (např. Manjarno), pak jej stačí upravit
  12. Ověření stavu závisí na distribuci/operačním systému. Neprázdný výpis tabulek (# iptables -L nebo již zmíněný # nft -s list rulese) jej dává tušit, ale nemusí být aktivní.
  13. Tuto změnu je nutné promítnout do některých zde uvedených příkazů např. XDG_RUNTIME_DIR=/run/user/1111
  14. Tento soubor je často přepisován při aktualizaci systém, tudíž bývá potřeba upravat opakovaně.
  15. Lze zadat též IP adresu, ale není to doporučený postup.
  16. To např. v kombinaci s aktuálním připojením pomocí KRDC vede ke komolení diakritiky ve schránce celého systému tj. nejen při přenosu lokální počítač - PP
  17. Opačnou strategií je dávat podněty přímo tam, kde je kód zveřejněn.
  18. Údaje o HW a prostředí lze vyčíst v Nastavení > Informace o systému, ale nejdou zkopírovat.

Reference[editovat | editovat zdroj]

  1. Contributing. Plasma Mobile [online].  [cit. 2021-09-20]. Dostupné online. (en)
  2. 2,0 2,1 GitHub - manjaro-pinephone/plasma-mobile: Manjaro Plasma-Mobile. GitHub [online].  [cit. 2021-09-19]. Dostupné online. (en)
  3. Wayvnc does not accept non-ASCII characters · Issue #119. GitHub [online]. Komunita wayvnc, 2021-12-20 [cit. 2021-12-20]. Dostupné online. (en)