Eden od nepogrešljivih elementov pri delu na projektih vgrajenega Linuxa je dostop do vaše naprave prek vmesnika serijske konzole. Za to mora imeti računalnik, na katerem razvijate vgrajeni sistem, serijska vrata. Vendar ima danes zelo malo računalnikov serijska vrata, zato namesto njih uporabljamo pretvornike USB v serijsko.
Na koncu boste podrobno razumeli, kaj so serijske konzole in kako delujejo v Linuxu.
Nastavitev pretvornika USB v serijski
Skoraj vsak serijski pretvornik USB, ki ga najdete na trgu, Linux samodejno prepozna. Priključite poljuben USB pretvornik v računalnik in uporabite dmesg ukaz za iskanje imena datoteke naprave.
dmesg
V zgornjem primeru vidite VirtualBox v razdelku proizvajalca, saj je gostitelj distribucija Linuxa, ki se izvaja na VirtualBoxu. Tu se bo ime proizvajalca spremenilo glede na pretvornik, ki ga uporabljate. Vidite lahko tudi, da je serijski pretvornik, ki ga uporabljate, povezan s sistemom z imenom, kot je npr ttyUSB0.
Uporabite lahko serijski pretvornik, ki ga vaš sistem prepozna prek datoteke naprave
/dev/ttyUSB0. Odvisno od distribucije, ki jo uporabljate, se datoteka naprave samodejno ustvari pod /dev imenik, ki prikazuje glavne, pomožne in vrste naprav. Za serijske pretvornike USB je shema poimenovanja običajno ttyUSB0, ttyUSB1, in ttyUSBX za vsak simultani prevod.Če odstranite in znova vstavite serijski pretvornik USB, medtem ko ga uporablja aplikacija, sistem izda novo številko napravi.
Avtorizacija dostopa do serijskih naprav
Privzete pravice dostopa do nameščenih datotek pretvorniške naprave USB so običajno naslednje:
ls -l /dev/ttyUSB0
# Izhod
crw-rw 1 korensko klicanje 188, 46. julij 17 15:34 /dev/ttyUSB0
Ob pregledu zgornjega rezultata lahko ugotovite:
- Pismo c na začetku vrstice pomeni, da je to naprava, ki temelji na znakih
- Lastnik datoteke je korenski uporabnik in uporabnik ima privilegije za branje in pisanje
- Skupinski lastnik datoteke je klicanje skupina in uporabniki, vključeni v to skupino, imajo tudi dovoljenja za branje in pisanje
- Ostali uporabniki nimajo nobenih pravic za branje in pisanje v datoteki
Če ste trenutno prijavljeni kot običajni uporabnik, ki ni član skupine za klicanje, ne morete brati in pisati v serijski pretvornik USB. Če želite rešiti to težavo, morate trenutnega uporabnika narediti za člana klicne skupine ali urediti udev datoteke pravil v vašem sistemu.
Za udobje lahko uporabite prvo tehniko. Za začetek uporabite id ukaz za določitev, katerim skupinam pripada vaš uporabnik:
id
Dodajte svojega uporabnika v skupino z uporabo adduser oz uporabniški mod ukaz:
# Za Fedoro
sudo usermod -aG dialout UPORABNIŠKO IME# Za Debian
sudo adduser USERNAME dialout
# Za Arch
sudo usermod -a -G uucp UPORABNIŠKO IME
Članstvo v skupini postopek je zdaj končan. Vendar pa sistem preveri informacije o članstvu v skupini med prvim korakom prijave v grafičnih sejah in jih nato posreduje vsem tekočim procesom.
Posledično se morate odjaviti iz trenutne grafične seje in se nato ponovno prijaviti oz znova zaženite vaš stroj da bodo spremembe začele veljati. Po zaključku te operacije boste imeli dostop za branje/pisanje do naprave za serijski pretvornik.
Kako se povezati s serijskimi konzolami v sistemu Linux
Ko potrebujete dostop do računalnika ali omrežne konzole, se lahko obrnete na aplikacije serijske konzole. Običajno za to potrebujete dostop prek SSH. Vendar pa je z vidika programske in strojne opreme v nekaterih primerih možno dostopati do konzole tudi z uporabo samo serijskih vrat.
Tovrstne primere boste najpogosteje našli na starejših računalnikih. Spodaj je nekaj najboljših aplikacij za serijsko konzolo, ki vam bodo ustrezale.
Uporaba Minicom
Minicom, staro, a še delujočo aplikacijo, lahko namestite v svoj sistem na naslednji način:
# Na Fedori, CentOS in RHEL
sudo njam namestite minicom# Na Debianu in Ubuntuju
sudo apt-dobiti namestite minicom
# Na Arch Linux
sudo snap namestite minicom
Ko aplikacijo zaženete prvič, bo poskušala odpreti datoteko naprave, kot je npr /dev/modem privzeto. Konča se, ko ne najde datoteke. Če želite odpraviti to težavo, lahko neposredno zaženete zaslon z nastavitvami aplikacije z -s parameter:
minicom -s
Ime naprave lahko nastavite tako, da pritisnete A in hitrost serijskih vrat s pritiskom na E ključ. Potem, ko izstopite z Izhod, lahko uporabite ustrezna serijska vrata.
Ko ste na glavnem zaslonu aplikacije, se lahko vrnete na konfiguracijski zaslon z Ctrl + A + O, zapustite aplikacijo z Ctrl + A + X, aktivirajte način preloma vrstice z Ctrl + A + Win poiščite pomoč pri drugih bližnjicah z Ctrl + A + Z.
Uporaba GTKTerma
Minicom na splošno uporabljajo napredni uporabniki Linuxa in zato ni priporočljiv za začetnike. Novinci v sistemu Linux lahko namestijo GTKTerm, grafični emulator serijskega terminala za Linux. Aplikacijo lahko namestite v svoj sistem z naslednjimi ukazi:
# Na Fedori, CentOS in RHEL
sudo dnf -y namestite gtkterm# Na Debianu in Ubuntuju
sudo apt-dobiti namestite gtkterm
# Na Arch Linux
yay -S gtkterm
Ko zaženete aplikacijo, boste morali nastaviti ime naprave in parametre hitrosti prek Konfiguracija > Vrata meni, kot sledi:
Shranite nastavitve kot privzete, da olajšate kasnejšo uporabo.
Uporaba zaslona
Če poznate zaslon za upravljanje z več terminali, bi vedeli, da ga lahko uporabite tudi za dostop do serijskih vrat. Tukaj so ukazi za namestitev:
# Na Fedori, CentOS in RHEL
sudo dnf -y namestite zaslon# Na Debian, Ubuntu in Linux Mint
sudo apt-dobiti -y namestitveni zaslon
# Uporabite Snap za druge distribucije
sudo snap namestite zaslon --klasično
Po namestitvi lahko zaženete tak ukaz za povezavo s serijsko konzolo:
zaslon /dev/ttyUSB0 115500
Zdaj lahko vzpostavite povezavo s serijskimi vrati v sistemu Linux
Možnost dostopa do vašega sistema Linux prek serijskih vrat je zelo uporabna funkcija, zlasti če ne želite priključiti monitorja na SBC (Session Border Controller).
Ker je avtorizacija serijske konzole vgrajena v jedro Linuxa v času prevajanja, bi morali imeti vsaj osnovno razumevanje jedra Linuxa in njegovega delovanja.