2014 m. birželio 29 d., sekmadienis

Raspberry Pi ir TP-WN725N v2 WiFi siųstuvas


Raspberry Pi, kad ir kaip išgirtas ir populiarus būtų, vienui vienas nieko įspūdingo nedaro. Taip, galima pasigrožėti dėtalėmis, tačiau po poros minučių norisi su juo ką nors nuveikti, o tam reikia papildomos įrangos.

Vienas iš priedų, kurių man prireikė - belaidis internetas.Kadangi Raspberry Pi turi USB lizdus, nusipirkau USB WiFi kištuką.

Prieš pirkimą nesidomėjau ar visi WiFi kištukai veikia su Raspberry Pi, nes reikėjo pamatyti, ką galima rasti parduotuvėje. O parduotuvėje radau štai tokį TP-WN725N modelį. Pagal kainą (29 litai) pasirodė prieinamas, taip pat patiko tai, kad neužima daug vietos.

  
Dar būdamas parduotuvėje paieškojau internete informacijos ir radau, kad šis kištukas puikiai veikia su Rasberry Pi.

Tačiau ko nepastebėjau, tai kad šio kištuko yra dvi versijos, iš kurių antrai reikia šiek tiek pavargti diegiant draiverius.

Patikrinti, kurios versijos kištukas, galima pora būdų:
  1. Patikrinti užrašą ant pakuotės.
  2. Įkišus kištuką į Raspberry Pi USB lizdą, atsidarius terminalą ir įvedus komandą "lsusb" (list USB), kuri parodo prijungtus USB įrenginius.
Tarp įrenginių radus WiFi kištuką (bus kažkas panašaus į: "Bus 003 Device 004: ID 0bda:8179 Realtek Semiconductor Corp. RTL8188EUS 802.11n Wireless Network Adapter"), reikia atkreipti dėmesį į skaičių 8179, kuris nurodo, kad kištuko versija yra 2.

Antra versija reiškia, kad teks įrašyti draiverius patiems.

Štai visai neseniai iš naujo įrašiau Raspberry Pi operacinę sistemą Raspbian, nes norėjosi viską pradėti nuo nulio. Nepaisant to, kad draiverius šiam kištukui jau vieną kartą buvau įdiegęs, diegiant juos dar kartą, užtrukau kokias 6 valandas, nes susidūriau su problema - per naujas Raspbian leidimas su per nauju kerneliu, kuriam sunku rasti draiverio versiją. Todėl kartais verta įsidiegti viena laida senesnę versiją, kuria galima rasti raspberypi.org atsisiuntimų serveryje, archyvo direktorijoje.
Matyt, galima kaip nors ir pačiam pasidaryti draiverį naujausiai kernelio versijai, bet aš nenorėjau praleisti per daug laiko prie šio dalyko.

Kaip surasti draiverį? Aišku paieškant internete. Galima rasti įvairių sprendimų. pi3g.com siūlo net pridėti jų repositoriją ir draiverio diegimas bus toks paprastas, kaip "sudo apt-get 8188eu". Tačiau man tai nesuveikė (įtarių tą per naują kernelio versiją).
Radau svetainę www.fars-robotics.net, kurioje yra ganėtinai aiškios draiverių diegimo instrukcijos.

Pirmiausia reikia pasitikrinti, kurią kernelio versiją turime. Tai galima padaryti su komanda "uname -a", kuri parodo sistemos informaciją. Pasirinkimas -a (all) nurodo, kad parodytų pilną informaciją. Gauname eilute, kuri atrodo panašiai į: "Linux raspberrypi 3.10.25+ #622 PREEMPT Fri Jan 3 18:41:00 GMT 2014 armv6l GNU/Linux".
3.10.25+ #622 parodo kernelio versiją ir kurią draiverio versiją reikės parsisiųsti. www.fars-robotics.net yra sąrašas versijų, tarp kurių reikia susirasti savąją. Mano atveju tai "3.10.25+ #622, #624 - 8188eu-20131219.tar.gz". 8188eu-20131219.tar.gz nurodo kokį failą reikės atsisiųsti sekančiame žingsnyje.

Atsisiunčiame draiverį su komanda "wget https://dl.dropboxusercontent.com/u/80256631/8188eu-20131219.tar.gz". Reikia atkreipti dėmesį, kad paskutinė adreso dalis turi būti tas failas, kuris atitinka kernelio versiją.

Toliau išarchyvuojamas parsisiųstas archyvo failas. Tai galima padaryti komanda "tar -zxvf 8188eu-20131219.tar.gz"

Toliau įdiegiamas draiveris:
"sudo install -p -m 644 8188eu.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless" ir "sudo insmod /lib/modules/$(uname -r)/kernel/drivers/net/wireless/8188eu.ko".

Galiausiai "sudo depmod -a". Štai draiveris ir įdiegtas. Dabar reikia perkrauti Raspberry Pi su komanda "sudo reboot".

Įvedus komandą "ifconfig" turėtų atsirasti wlan0 interneto priėjimas.


Dabar beliko prisijungti prie WiFi tinklo ir Raspberry Pi turės galimybė naršyti inetrnetą.

Grafinėje aplinkoje, berods, yra įrankis belaidžio interneto konfiguracijai, tačiau galima tai padaryti ir per komandinę eilutę.

Interneto prisijungimo nustatymai yra interfaces faile, kuris yra /etc/network/ direktorijoje, į kurią nukeliauti galima komanda "cd /etc/network".

Iš pradžių padarome atsarginę kopiją "cp interfaces interfaces.bak".

Tada atidarome interfaces failą su teksto redaktoriumi (nano, vi ar dar kokiu nors). Aš naudoju nano, nes jis yra įdiegtas ir nėra painus. Taigi, "sudo nano interfaces".
Viską ištriname ir įkopijuojame:

auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
auto wlan0
iface wlan0 inet dhcp
wpa-ssid "ssid"
wpa-psk "slaptažodis"

Arba jei jūsų SSID paslėptas:

auto lo

iface lo inet loopback
iface eth0 inet dhcp

auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-scan-ssid 1
wpa-ap-scan 1
wpa-key-mgmt WPA-PSK
wpa-proto RSN WPA
wpa-pairwise CCMP TKIP
wpa-group CCMP TKIP
wpa-ssid "ssid"
wpa-psk "slaptažodis"

iface default inet dhcp

Vietoje ssid įrašomas tinklo pavadinimas, o vietoje slaptažodis - prisijungimo prie tinklo slaptažodis.

Išsaugojus interface failą galima perkrauti Raspberry Pi ir pradėti naudotis internetu.

Kiek vaizdesnes prisijungimo prie interneto instrukcijas galima rasti adafruit svetainėje.

Tai štai ir visas Raspberry Pi prijungimas prie interneto su TP-WN725N pagalba. Galbūt kam nors tai pravers, o jei ne, tai bus man atmintinė ateičiai.

2014 m. birželio 24 d., antradienis

Vienas iš CyanogenMod spąstų naujokams

Nuo pat šių metų pradžios mano telefone sukasi ne paprasta Google išleidžiama Android operacinė sistema, o CyanogenMod.

CyanogenMod yra atviro kodo Android distribucija išmaniesiems telefonams ir planšetiniams kompiuteriams. CyanogenMod turi daugiau funkcijų ir nustatymų nei paprasta Android sistema, o mane CyanogenMod įsirašyti paskatino tai, kad Google tiesiog ėmė ir atsisakė palaikyti Galaxy Nexus išmaniuosius telefonus - jokių Android atnaujinimų. Tačiau CyanogenMod dėka mano telefonas ir dabar visai gerai tvarkosi su pačia naujausia 4.4 Android KitKat.
Daugiau informacijos apie CyanogenMod galima rasti jų wiki.

Kaip ir kompiuteryje, pradėti perrašinėti sistemas telefone iš pradžių buvo nedrąsu, tad pasirinkau kuo lengvesnį kelią - CyanogenMod installer, kurį paleidus kompiuteryje CyanogenMod ROM į telefoną įrašomas minimaliomis naudotojo pastangomis.

Programa pateikia instrukcijas, telieka jas vykdyti (paspausti ką nors ant telefono ekrano, prijungti telefoną prie kompiuterio ir panašiai). Taip galimybė sugadinti telefoną tampa ganėtinai menka.



Taip įrašytą sistemą sėkmingai naudojau, tačiau kai kas nedavė man ramybės.
CyanogenMod turi įvairius versijų išleidimo ciklus - nightly (kas dieną naktį), M snapshot (kas mėnesį), RC (release candidate) ir stable (stabili versija). Kiekviena iš šių versijų laipsniškai skiriasi. Nightly turi pačias naujausias funkcijas, tačiau yra neišbandyta ir gali turėti klaidų, o tuo tarpu stabilios versijos išleidžiamos palyginti retai, tačiau yra gerai išbandytos.
Nesu plinai įsitikinęs, tačiau atrodo, kad CyanogenMod installer įrašo stabilią versiją ir tai yra logiška, nors galėtų leisti pasirinkti. Štai toks pasirinkimo nebuvimas ir nedavė man ramybės.

CyanogenMod nesėdi rankas sudėję ir vis tobulina savo operacinę sistemą. To pasekmė - naujos funkcijos, kurias norisi išbandyti. Tačiau iškilo bėda - per CyanogenMod installer įrašytos sistemos niekaip negalėjau atnaujinti ar bent pakeisti kokio stabilumo versijos noriu. Tai pasirodė keista, nes pasidomėjus pasirodė, kad nustatymuose turi būti pasirinkimas, kokių versijų atnaujinimus norima gauti, o štai šio pasirinkimo kaip tik savo telefone ir neradau.

Visai neseniai atradau, kad CyanogenMod installer įrašo modifikuotas versijas, o viena iš modifikacijų kaip tik ir yra šio pasirinkimo panaikinimas. Kodėl taip yra, neįsivaizduoju.

Tai sužinojęs, nusprendžiau įsirašyti CyanogenMod įprastu būdų - per komandinę eilutę. Viskas išėjo labai sklandžiai bei greitai ir dabar gaunu visus įmanomus atnaujinimus.

Šis būdas taip pat yra geresnis tuo, kad, skirtingai nuo CyanogenMod installer, veikia ir su Linux.

Kadangi CyanogenMod įrašymas gali skirtis priklausomai nuo telefono ar planšetinio kompiuterio, lengviausia instrukcijas rasti į Google įrašius "CyanogenMod install [jūsų aparato pavadinimas]".

Jei yra noro ir drąsos pasižaisti su telefono operacinėmis sistemomis, siūlau pabandyti CyanogenMod - gal ims ir patiks?