Archiv rubriky: IT, PC, elektronika

Jak na boot Raspberry Pi ze sítě

Proč?

Doma používám Raspberry Pi k mnoha účelům – vzdálený SDR server, ADS-B přijímač, přijímač dat z meteostanice, audioserver, webkamera atd. – a často jsem se setkával s tím, že mi na RPi odchází SD karty. Jedno z možných řešení této nepříjemné situace je vyzkoušet boot ze sítě. Vzhledem k tomu, že mám server běžící 24×7 a jsem tak trochu maximalista, byl pro mě netboot jasná volba.

Předpoklady

Vycházel jsem z návodů, které byly pro RPi 3, ale nakonec to dopadlo tak, že by to mohlo fungovat i na jedničce. Otestoval jsem však jen na RPi 2. Takže moje konfigurace je následující:

  1. Raspberry Pi verze 2, SD karta s nainstalovaným a funkčním Raspbianem Lite
  2. Linuxový server s nainstalovaným NFS serverem

Jak na to

Vlastně to je docela jednoduché – shrňme to do několika kroků:

  1. obsah SD karty z RPi zkopírovat do adresáře na serveru, který zpřístupníme jako NFS export
  2. upravit cmdline.txt v boot partiton na SD kartě RPi
  3. upravit /etc/fstab nakopírovaný do adresáře na serveru

Fakt jen tyto tři kroky! A ano, bystřejší si již všimli, že ze sítě vlastně nebudeme bootovat, ale jen namountujeme root. To nicméně řeší v zásadě všechny důvody, proč bychom ze sítě chtěli bootovat, vyjma ceny SD karty, kterou ale považuji za zanedbatelnou. V této situaci vám totiž bude stačit klidně pársetmegová kartička, jejíž cena bude v řádu desetikorun.

1 – Zkopírovat systém na server

Aby se zachovala oprávnění, použijme rsync:
sudo rsync -xa --progress /mnt/sdkarta /nfs/rpi1
Zde je /mnt/sdkarta místo, kam jsme namountovali druhou partition s nainstalovaným raspbianem a /nfs/rpi1 adresář, který budeme exportovat jako NFS. To provedeme příkazem
echo "/nfs/rpi1 *(rw,sync,no_subtree_check,no_root_squash)" | sudo tee -a /etc/exports

2 – upravit cmdline.txt na SD kartě RPi

Můžeme buď nabootovat RPi klasickým způsobem a soubor /boot/cmdline.txt zeditovat v systému, nebo soubor upravit v jiném počítači. Boot partition je první a je čitelná i ve Windows, neb je na ní FAT filesystém. Soubor cmdline.txt tedy upravte následovně – od příkazu root= vše umažte a nahraďte následujícím:
root=/dev/nfs nfsroot=192.168.0.250:/nfs/rpi1 rw ip=dhcp rootwait elevator=deadline
kde samozřejmě nfsroot ukazuje na IP vašeho serveru a adresář na výše vytvořený, ve kterém je nakopírovaný systém.

3 – upravit /etc/fstab na SD kartě RPi

Ze souboru /etc/fstab na druhé partition SD karty odmažte nebo zakomentujte řádek mountující root partition z SD karty. Boot partition zachováme tak, jak je – jen se přesvědčte, že existuje adresář /boot a je prázdný, aby bylo kam parition připojit. Defaultně vypadá řádek takto:
/dev/mmcblk0p2 / ext4 defaults,noatime 0 1

Závěr

A to je vše, přátelé. Zkuste restartovat malinu s takto upraveným obsahem SD karty a po restartu mrkněte na výstup příkazu mount – tím se přesvědčíte, že / (root) opravdu není namountován z /dev/mmcblk0p2, ale z NFS:
root@sdrpi2:/pub# mount
192.168.0.250:/nfs/sdrpi2 on / type nfs (rw,relatime,vers=2,rsize=4096,wsize=4096,namlen=255,hard,nolock,proto=udp,timeo=11,retrans=3,sec=sys,mountaddr=192.168.0.250,mountvers=1,mountproto=udp,local_lock=all,addr=192.168.0.250)
devtmpfs on /dev type devtmpfs (rw,relatime,size=462068k,nr_inodes=115517,mode=755)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=22,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
configfs on /sys/kernel/config type configfs (rw,relatime)

Doplnění 29.12.2016 – konverze existující maliny na NFS root

Na serveru vytvořit adresář a vyexportovat jako NFS:

  1. sudo mkdir /nfs/webcam
  2. echo "/nfs/webcam *(rw,sync,no_subtree_check,no_root_squash)" | sudo tee -a /etc/exports
  3. sudo exportfs -a

Na malině namountovat NFS share, zkopírovat na něj běžící systém, upravit fstab a cmdline.txt:

  1. sudo mkdir /mnt/dest
  2. sudo mount -t nfs 192.168.0.250:/nfs/webcam /mnt/dest -o nolock
  3. sudo rsync -xa --progress --exclude /mnt / /mnt/dest
  4. + upravit /etc/fstab a /boot/cmdline podle výše uvedeného postupu.
  5. sudo reboot – a hotovo!

Uniden UBC125XLT – posluchač na cestách (recenze)

Úvod20160607_120444020_iOS

V rámci nadšení do sledování leteckého provozu příjmem ADS-B a ACARS zpráv jsem se začal zajímat i o poslech mluveného slova. Začal jsem, stejně jako v případě ADS-B a ACARSu na SDR přijímači. Nadšení nepolevovalo a objevila se potřeba poslouchat i na cestách nebo prostě jen bez počítače – ať už při spottingu okolo letiště, nebo jen pro ukrácení dlouhé chvíle při čekání na MHD a podobně. Původní myšlenka byla mít také možnost si s protistranou popovídat v rámci sdílených pásem, ale to jsem nakonec vyřešil jinak – tedy z původního požadavku na dualbandovou radiostanici se širokopásmovým scannerem vyšla jen ta smysluplnější část, kterou bylo pořízení samotného specializovaného scanneru. Vybral jsem nakonec Uniden Bearcat UBC125XLT, který jsem zakoupil od zavedené firmy v oboru – od ELIXu.

Předem upozorňuji čtenáře na dva drobné detaily:

  1. podobné zařízení mám v ruce poprvé, takže je možné, že budu popisovat věci, které jsou zcela evidentní nebo běžné – ale o to to bude možná zajímavější z pohledu „nezaujatého“ 🙂
  2. zatím jsem nečetl manuál (podle hesla „návod otevřít až když vše ostatní selže“) – ale o to bude opět zajímavější z pohledu intuitivnosti ovládání 🙂

V důsledku výše uvedených dvou bodů si nekladu za cíl popsat kompletně veškerou funkcionalitu, takže určitě bude následovat po delší době používání druhýčláneček, ve kterém vypíchnu to, co jsem v tomto nepodchytil.

Obsah balení

PPLkou mi balíček dorazil do druhého dne od objednání. Vše bylo skvěle zabaleno a elegantně vyvedená originální krabice na mě vykoukla ve zcela nedotčeném stavu. Po klasickém snifftestu jsem vybalil následující:20160609_190859746_iOS

  • vlastní scanner – Uniden Bearcat UBC125XLT
  • gumovou anténu s BNC konektorem
  • univerzální AC adaptér s evropskou a britskou koncovkou
  • USB kabel (mini B – A)
  • manuál v angličtině
  • dva AA NiMH akumulátory zn. Corun s deklarovanou kapacitou 2300 mAh
  • poutko na ruku
  • vypálené CD s manuálem v češtině ve formátu PDF

Sestavení samozřejmě nebyla žádná věda, takže jsem nasadil anténu, protáhnul poutko, vložil akumulátory a jde se na věc.

Základní seznámení

Technické parametry

Základní technické parametry jsou následující:

  • Kmitočtový rozsah 25-88 MHz, 108-174 MHz, 225-512 MHz, 806-960 MHz
  • Demodulace AM nebo FM
  • Ladicí krok 5/6,25/8,33/10/12,5 kHz
  • Rychlost skenování 90 nebo 270 (pomocí Turbo Search) kroků za sekundu

To by pro úplný začátek stačilo, parametry najde zájemce na stránkách výrobce – až na některé frekvenční rozsahy specifické pro USA je zřejmě vše stejné jako u modelu 125AT.

Ovládání

Ovládací prvky na stopětadvacítce můžeme rozdělit do několika skupin:20160609_190557624_iOS

  • tlačítka ovládající druh činnosti scanneru
    • Hold – slouží k pozastavení vyhledávání nebo skenování na aktuálním kmitočtu (alternativně Close Call – vyhledávání blízkých signálů)
    • Scan – aktivuje funkci skenování kmitočtů uložených v paměti
    • Srch – „search“ – aktivuje funkci vyhledávání v definovaných kmitočtových rozsazích a mezikanálových krocích (alternativně Service Bands – vyhledávání v předdefinovaných pásmech)
    • L/O – „lockout“ – vyřadí aktuální kmitočet/kanál ze skenovaného nebo vyhledávaného rozsahu (alternativně zámek – zamykání klávesnice)
  • tlačítka číselná – slouží zejména pro:
    • volbu bank pamětí pro skenování
    • volbu bank kmitočtových rozsahů pro vyhledávání
    • přímé zadání kmitočtu
    • alternativní funkce:1 – PRI – vstup do menu nastavení priority
      • 3 – STEP – vstup do menu nastavení mezikanálových kroků
      • 4, 6 – kurzor vlevo, vpravo
      • 7 – BEEP – akustická odezva klávesnice
      • 9 – MOD – přepínání demodulace
  • další tlačítka
    • power – zapnutí/vypnutí přístroje
    • E – vstup dat/položka menu nebo programování
    • Func – aktivuje alternativní funkci na jednotlivých tlačítkách
  • otočný volič, který je i stiskací
    • navigace v menu
    • ovládání směru skenování/vyhledávání (bez předchozího stisku)
    • ovládání hlasitosti (po stisknutí)
    • ovládání squelch (Func + stisk)

Obecně scanner pracuje ve čtyřech základních režimech:

  1. přímé zadání kmitočtu, který chceme poslouchat
  2. skenování kmitočtů uložených ve zvolené paměťové bance
  3. prohledávání vybraného kmitočtového rozsahu v definovaném mezikanálovém kroku
  4. prohledávání předdefinovaných pásem (Emergency, Freenet, PMR, Marine, Aircraft, CB Radio, HAM Radio)

Paměti pro skenování i vyhledávací rozsahy jsou děleny do bank. Bank je pro každou funkci 10 (s výjimkou předdefinovaných pásem, kde jich je jen 7) a jsou uživatelem nastavitelné. Celkem je paměťových pozic pro skenování 500, tedy v každé bance jde o 50 pozic. V případě vyhledávacích bank se pak nastavuje jen jeden rozsah pro každou banku. Základem tedy bude nastavit si vyhledávací rozsahy v kmitočtech, které nás zajímají. Dále je zcela na místě naplnit paměti pro skenování, abychom nemuseli pokaždé prohledávat celé pásmo – v takovém případě i přes rychlost skenování hrozí, že nám některé relace utečou. Takže jak na to?

Praxe

Modelový příklad

20160609_190702849_iOS

Představme si tedy typickou modelovou situaci. Jsme na výletě a pohybujeme se okolo neznámého letiště, kde chceme sledovat provoz. Na scanneru navolíme režim Search (tlačítko Srch) a číselnou klávesou navolíme pásmo, které budeme prohledávat. Ve výchozím nastavení je letecké pásmo v bance 5. Při vyhledávání můžou nastat následující situace:

  • scanner se zastaví na kmitočtu, kde je rušení -> kmitočet zamkneme tlačítkem L/O a vyhledávání pokračuje. Na takto uzamčeném kmitočtu se již nezastaví.
  • scanner se zastaví na kmitočtu, který zatím nechceme poslouchat -> pokračujeme ve vyhledávání buď opakovaným stiskem tlačítka Srch nebo otočením voliče ve směru, kam chceme pokračovat. Pokud vysílání na tomto kmitočtu pokračuje, při dalším průchodu přes tento kmitočet se scanner znovu zastaví.
  • scanner se zastaví na zajímavém kmitočtu, který chceme uložit -> kmitočet uložíme – stisk tlačítka E, otočným voličem výběr paměti (001500), tlačítko E pro potvrzení; následně možnost zadat další parametry paměti, např. alfanumerický název (Alpha Tag)
  • scanner se zastaví na zajímavém kmitočtu, který chceme poslouchat dále i po skončení aktuální relace -> pozastavíme prohledávání tlačítkem Hold a posloucháme 🙂

Tímto způsobem je možné si vytvořit základní databázi kmitočtů, ale není to úplně pohodlné.

Programování přes PC

Pro snadnější programování můžeme použít software pro PC na snadnější nastavení. Moc práce s hledáním jsem si nedal, ale pro začátek jsem našel software, který funguje velmi pěkně a splňuje zatím všechny mé požadavky. Tím je program Scan125 autora Nicka Baileyho. Předmětem tohoto článku rozhodně není se rozepisovat o tomto software, takže jen stručně, co umí:

  • vzdálené ovládání všech funkcí – v podstatě můžete mít skener doma u velké antény, na svůj domácí PC se připojit vzdáleně a mačkat čudlíky, jako kdybyste seděli u skeneru
  • přehledné nastavení paměťových bank a vyhledávacích rozsahů
  • nahrávání a třídění nahrávek dle různých hledisek
  • veškerá konfigurace i základních parametrů pohodlně z PC
  • program je freeware, registrace na webu je zdarma (bez registrace se po nějakém časovém intervalu zakážou některé funkce)
scan125

Hlavní okno programu

scan125-banks

Nastavení skenovacích a vyhledávacích bank

 

Zhodnocení

Co se mi líbí?

  • snadné ovládání
    • volba režimu skenování nebo vyhledávání na jedno stisknutí tlačítka + výběr nebo zrušení výběru banky na jedno stisknutí čísla
    • elegantní práce s otočným voličem – nastavení hlasitosti, squelche, přecházení mezi kmitočty v režimu Srch nebo paměťmi v režimu Scan atd.
  • přehledný displej zobrazuje všechny důležité informace, nic mi zde nechybí
  • intuitivnost – základní ovládání jsem zvládl celkem rychle i díky PC aplikaci Scan125
  • provoz na běžné tužkové baterie (při napájení klasickými alkalickými je třeba přepnout přepínač v bateriovém prostoru), vydrží určitě celý den; nabíjení z USB (USB nabíječky jsou všude)
  • vyměnitelná anténa – možnost připojení k velké diskoně a poslech vzdálenějších stanic
  • kvalitní provedení, rozměry tak akorát do dlaně

Na co si zatím zvykám?

  • banky jsou označené jen číselně a ani po jejich zvolení ať pro skenování nebo vyhledávání se nezobrazí nějaký uživatelský popis – pokud si nepamatuji, co přesně v které bance mám, tak to je pokus-omyl

Na co si asi nezvyknu?

  • už při prvním dni používání jsem narazil na limit počtu dočasných zámků kmitočtu, kterých je zřejmě 100; při vyhledávání v širším rozsahu se to docela rychle zaplní
  • při ručním ukládání není možné zvolit banku (1-10) a pak pozici v rámci banky (1-50), ale rovnou paměťovou pozici (1-500), kdy výběr pozice probíhá otočným voličem: ten tím brzy asi ukroutím 🙂
  • výrobce mohl použít USB micro konektor, který je funkčně stejný jako mini a většina dnešních zařízení ho používá – takhle musí majitel sebou tahat dva či tři USB kabely (mini pro Unidena; micro pro powerbanku, tablet či běžný smartphone; jablíčkáři navíc Lightning kabel)

Závěr

Scanner Uniden Bearcat UBC125XLT splnil moje očekávání. Za danou cenu je to slušně provedené zařízení, svůj účel plní velmi dobře a pohodlně se s ním pracuje. Pokud jste to dočetli až sem, tak Vám děkuji za pozornost a já si jdu teď přečíst manuál. Případné dotazy zodpovím v komentářích.

Mazda 6 GG (2003-2008) – montáž AUX vstupu na BOSE audiosystém

Před pár lety jsme si pořídili místo Toyoty Corolly E11 (1997) s benzínovou šestnáctistovkou krásnou Mazdu 6 (první generace facelift, 2006) s naftovým dvoulitrem. Nebudu se rozepisovat o detailech o autu a mrkneme se rovnou na detail, který hlavně mě celou dobu trápil:

Mazda je vybavená továrním audiosystémem Bose s in-dash měničem na 6 CD, zesilovačem (umístěný pod sedačkou spolujezdce), subwooferem ve speciální ozvučnici upevněné v rezervě pod podlahou kufru a sadou pěkně hrajících repráků. Potud je vše parádní až na dva detaily: rádio nepodporuje MP3 a zároveň nedisponuje žádným vstupem pro externí zdroj zvuku (ať AUX vstup, či USB nebo SD čtečku). Celý příspěvek

Diskless boot Windows 7 via iSCSI

Potřebujeme:
(1) server s dostatečnou diskovou kapacitou a operačním systémem Linux (v našem případě Atom + 3x 1.5TB disk v RAID5 pomocí mdraid a Linux Debian Squeeze)
(2) klient s DVD mechanikou a síťovkou podporující PXE boot a se síťovou konektivitou na (1) (v našem případě běžný desktop s Pentiem E5200, 4GB RAM a onboard síťovkou Atheros na desce ASUS P5QL-E)

Step-by-step:
a. zvolit na serveru místo, kam budou ukládána (já jsem zvolil soubor na disku; dd if=/dev/zero of=/mnt/data/volumes/iscsi_hdd_01.img bs=1M count=16384)
b. na serveru nainstalovat iSCSI target, v našem případě zvolen IET (apt-get install iscsitarget iscsitarget-dkms)
c. nakonfigurovat IET. V defaultu je všechno povoleno a není třeba konfigurovat autentifikaci, stačí přidat konfiguraci konkrétního targetu

Target iqn.2003-08.net.myslenka.grisu:vFile1
        Lun 0 Path=/mnt/data/volumes/iscsi_hdd_01.img,Type=fileio,IOMode=wt

d. nainstalovat a nakonfigurovat tftp server (apt-get install tftpd)
d1. vytvořit /tftpboot s plnými právy pro všechny
e. stáhnout si iPXE image pro Intel UNDI – undionly.kpxe – a uložit ho do /tftpboot (tudíž není nutné updatovat Boot ROM na síťovce)
f. na serveru nainstalovat ISC DHCP server, pozor na stávající DHCP v síti (apt-get install isc-dhcp-server)
g. nakonfigurovat ISC DHCP server pro pevný lease pro našeho klienta (2) dle MAC adresy.
g0. nastavit adresu serveru našemu pevnému leasu (next-server …)
g1. předhodit PXE image s iPXE našemu pevnému leasu (filename …)
g2. zabránit „boot loopu“ z důvodu opakovaného načítání iPXE image (if exists user-class…)
g3. při načteném iPXE sdělit adresu iSCSI targetu (option root-path… – toto už je option pro iPXE) – POZOR! Pro začátek necháme zakomentovaný, protože z něj ještě nechceme přímo bootovat.

host blackwhite {
  hardware ethernet 00:23:54:5e:7a:89;
  fixed-address 192.168.0.10;
  next-server 192.168.0.250;
  if exists user-class and option user-class = "iPXE" {
      filename "";
#      option root-path "iscsi:192.168.0.250::::iqn.2003-08.net.myslenka.grisu:vFile1";
  } else {
      filename "undionly.kpxe";
  }
}

…takže teď máme funkční a nakonfený iSCSI target i ISC DHCP server včetně TFTP. Můžeme začít instalovat Windows 

h. na (2) použijeme DVD s Windows 7 (v mém příkladu Win7 HP x64), v BIOSu nastavíme bootování z DVD jako primární (měl jsem i odpojený HDD)
i. zapneme (2) a v bootmenu vybereme boot ze sítě. Komp by měl dostat adresu od DHCP a spustit iPXE. Pomocí Ctrl-B se dostaneme do příkazové řádky iPXE.
j. nakonfíme iPXE, tedy přidělíme adresu z DHCP a „namountujeme“ iSCSI disk
j1. dhcp net0
j2. sanhook iscsi:192.168.0.250::::iqn.2003-08.net.myslenka.grisu:vFile1
j3. exit
k. mělo by se pustit bootování z DVD a s tím instalace Windows.
l. až bude po instalaci Windows, odkomentujeme řádek v konfigu DHCP a další bootování už pojede samo od sebe 

A teď moje zkušenost s rychlostí – je to na 100Mb síti, takže nic moc reprezentativního  až trochu poladím ten target, tak to zkusím po gigu.

Čerstvá instalace Windows 7 HP x64, jak dlouho trvaly části bootování:
10s inicializace PXE
5s inicializace iPXE a spuštění bootování z iSCSI
45s logo windows
10s od zobrazení kurzoru až po loginscreen
10s od odklepnutí hesla po zobrazení plochy

 

CoolerMaster Elite 330 – recenze

Vzhledem k tomu, že k dokončení projektu „Black&White“ – bigtoweru s vodním chlazením – jsem neměl dostatek času a energie, rozhodl jsem se pro radikální řez. Pořídit malý case na oko příjemný, s prostorem pro nějaký ten případný tuning.

Zvolil jsem CoolerMaster Elite 330. Objednal jsem přes internet v Czech Computeru a osobně vyzvedl na Lužinách. Vše proběhlo bezproblémově a doma jsem se pustil do rozbalování.

Jako každý jiný case i tento je dodáván v kartonové krabici a proti poškození je chráněn polystyrenovými vložkami. Dále byl case zabalen v igelitovém pytli a všechny lesklé části byly polepeny folií chránící proti poškrábání.

 

Uvnitř jsem nalezl kromě základní sady kablíků také pytlík se šroubky, návod k instalaci a jeden 120mm ventilátor značky CoolerMaster (jak jinak). Levá bočnice je uchycena dvěma šroubky s velkou hlavou (thumb screws), okno v této bočnici je přišroubováno, matky jsou s kulatou hlavou a koukají ven. V případě potřeby zjevně snadno nahraditelné za jiný design.

Pod předním panelem se skrývají dva panýlky – jeden s dvěma USB porty a 3,5mm jack konektory pro sluchátka a mikrofon, popř. FireWire port, který v základu představuje jen záslepka; druhý s indikační LED power (modrá) a HDD (červená). Dále jsou zde tlačítka power a reset. Obě diody jsou vyvedeny do předního panelu – modrá power do kruhového rámečku kolem power tlačítka a červená HDD pak do čiré plastové kapky. Obě LED jsou 3.5mm, neměl by být větší problém je nahradit případně jinou barvou.

Přední panel dále skrývá perforaci na 120mm ventilátor. Samotný přední panel je z větší části vyveden v perforovaném plechu – mřížce, která tvoří i záslepky na 5,25″ pozice, které jsou celkem 4. Veškerá perforovaná část je zároveň kryta tenkým molitanem, který funguje jako prachový filtr. Jsem upřímně zvědavý, jak budou tyto filtry vypadat po pár měsících provozu.

Pustil jsem se tedy do montáže základních komponent – zdroj bez problémů, 120mm ventilátor za přední stěnu taky v pořádku. První překvapení bylo u pevného disku – na můj vkus příliš vyčuhuje, ostatně díky umístění ventilátoru nejde zasunout ani hlouběji. Zajímavě řešený je rychloupínací mechanismus, který je vcelku funkční – jen se musí opatrně na otočný zámek, který se dá snadno překroutit a plast se snadno obrousí o plech.

 

Při montáži DVD mechaniky se mi ovšem podařilo rovnou ulomit packu, která drží záslepku pozice – moc pevně tedy nedržela.

Uchycení zbytku komponent už bylo hračkou – opět zajímavě řešený je rychloupínací systém rozšiřujících karet. Má ale jednu zásadní vadu, karty nelze fixovat šroubkem. A rychloupínací mechanismus je nefixuje proti vertikálnímu pohybu. To se ukázalo jako nepříjemná komplikace při instalaci USB bracketů, ale nakonec drží na svém místě. V tomto případě bych dal ale přednost klasickým šroubkům. I proto, že šroubky můžu manipulovat jen s jednou kartou, zatímco s tímto systémem uvolním všechny najednou – a USB brackety se mi „vysypou“…

Do celé skříně nakonec přišla namontovat ještě deska ASUS P5QL-E,grafika GeForce 8800GTS a na CPU chladič Freezer 7 r2. Uchytil jsem také dvě bílé a dvě UV 30cm katodové trubice – když už máme to okno a v létě bude LAN Party, tak proč ne 🙂

Celá montáž s důkladným úklidem kabeláže uvnitř mi zabrala něco přes dvě hodiny a výsledek vidíte zde na fotkách. Pro porovnání taky fotka s bigtowerem od chieftecu. A když jsem u toho porovnání – mechanické provedení a kvalita plechů je u CoolerMastera o několik úrovní níže, ale díky bohu nikde nic nerezonuje a neruší.

Migrace na RAID5 ze samostatného disku na NASu

Tak jsem se konečně dokopal k tomu, abych dokoupil k NASu další dva disky, které mi chyběly do trojice k RAID 5.
Hned v úvodu děkuji Foxovi za praktické rady při migraci.

Takže teď – jak jsem postupoval?

  1. namountovat a připojit disky ve vhodném pořadí. Stávající byl /dev/sda, tj. zbylé dva jsem připojil za něj – /dev/sdb a /dev/sdc.
  2. nabootovat ze single disku a na nových discích vytvořit samostatnou partition pro /boot (GRUB neumí bootovat z RAID 5, viz dále), jednu pro / a jednu pro data. U mě velikosti 256MB, 4096MB a zbytek.
  3. u všech partition nastavit typ na 0xfdh, což je Linux RAID Autodetect. /boot partitiony nastavit jako active.
  4. vytvořit pole – celkem standardně, jen jsem použil „missing“ pro označení, že pole bude po vytvoření degradované (možno prohodit umístění „missing“)
    1. pro /boot – RAID1: mdadm -C /dev/md0 -l1 -n3 missing /dev/sdb1 /dev/sdc1
    2. pro / – RAID5: mdadm -C /dev/md1 -l5 -n3 missing /dev/sdb2 /dev/sdc2
    3. pro data – RAID5: mdadm -C /dev/md2 -l5 -n3 missing /dev/sdb3 /dev/sdc3
  5. vytvořit filesystémy – mkfs.ext3 /dev/md0, mkfs.ext3 /dev/md1, mkfs.ext3 /dev/md2
  6. zkopírovat data na nově vytvořená pole:
    1. dd if=/dev/sda3 of=/dev/md1 bs=1M (root partition)
    2. dd if=/dev/sda2 of=/dev/md2 bs=1M (data)
    3. boot jsem zkopíroval ručně, protože jsem ho měl původně neoddělený
  7. upravit /boot/grub/menu.lst – root grubu je partition, která obsahuje /boot – takže takto (+ upravit root v parametrech jádra)
    1. title Debian GNU/Linux, kernel 2.6.26-2-amd64
      root (hd0,0)
      kernel /vmlinuz-2.6.26-2-amd64 root=/dev/md1 ro ramdisk=65535
      initrd /initrd.img-2.6.26-2-amd64
  8. spustit grub a nainstalovat ho na oba disky v RAIDu
    1. root (hd1,0)
    2. setup (hd1)
    3. root (hd2,0)
    4. setup (hd2)
  9. upravit /etc/fstab

 

Samsung LE40B650 – konfigurace SamyGO firmware

Tak po delší odmlce je tu další pokračování seriálu.
Na začátku zrekapituluji, co jsme si povídali dosud:

1. díl – Samsung LE40B650 – pojednává o možnostech, které nám naše nová dává, zejména s důrazem na možnosti připojení do sítě.

2. díl – Samsung LE40B650 – flash firmware + download – rozvádí do bližšího detailu jak na to, pokud chceme updatovat firmware. Tak trochu příprava na to, co nás bude dále čekat 🙂

A co dnes? Povím něco více o prvním krůčku k SamyGO firmwaru.

K čemu SamyGO?

Nejdříve bych ale napsal, k čemu vlastně SamyGO je a pro koho je a není určen. Takže – SamyGO firmware se od standardního firmwaru – originálu od Samsungu (tzv. Level 1 z předchozích kapitol) – liší pouze tím, že zajišťuje při zapnutí televize (bootu systému) spuštění jednoho skriptu. Hlavní věc, kterou nám tato funkce umožní, je namountovat si CIFS (Windows) nebo NFS (Linux/UNIX obecně) sdílení ze sítě. Ve zkratce dále:

  1. již zmíněná možnost připojit CIFS (SMB – Windows) a NFS sdílení
  2. automatické spuštění telnet serveru
  3. přítomnost AR (Aspect Ratio) fixu

Vzhledem k tomu, že pomocí telnetu máme přístup ke konzoli systému, a dále máme k dispozici “autorun” skript, můžeme si už dělat prakticky cokoli. O tom více dále.

Připojení CIFS sdílení ze sítě je užitečné zejména proto, že umožní obejít DLNA při přehrávání médií ze sítě. K čemu je to dobré? Tak předně TV přes DLNA neumí přetáčet video. Tento problém při přehrávání ze sítě úplně odpadá, protože pro TV se síťově připojené sdílení tváří jako lokální disk (tj. např. flashka nebo USB HDD) připojený přímo do USB v televizi.

Jak tedy začít?

V této kapitole si ukážeme, jak se dají připojit “na zkoušku” CIFS sdílení ze sítě, bez nutnosti flashování firmwaru. Budeme potřebovat:

Vezmeme to opravdu jednoduše a budeme postupovat krok po kroku. Takže:
(pozn. 1. příkazy jsou tučně a můžete je až na ty, které obsahují složené závorky, přesně kopírovat do okna telnetu;  2. dodržujte velikost písmen, mezery, lomítka atd. – záleží na tom!)

  1. na flashce (říkejme jí F:) si vytvoříme adresář, pojmenujme ho třeba samygo – bude tedy v cestě F:\samygo
  2. pro další využití vytvoříme v rootu flashky ještě jeden adresář, s názvem sdilene – bude tedy v cestě F:\sdilene
  3. do adresáře F:\samygo rozbalíme oba dva stažené soubory, tedy jak SamyGOTelnetEnablerv0.01.tar.gz, tak i SELP-SambaKmod.zip. Z prvního rozbaleného souboru (telnet enabler) nám v adresáři F:\samygopřibude podadresář s názvem SamyGO a s několika soubory a podadresářem uvnitř. Z druhého rozbaleného (CIFS kernelový modul) nám přibude soubor cifs.ko, kompletně s cestou F:\samygo\cifs.ko
  4. flashku připojíme k TV – pokud máte k TV do USB připojeno něco dalšího, odpojte to, televizi vypněte, znovu zapněte a připojte pouze naši flashku (bude tedy jediné zařízení připojené přes USB) – platí to zejména pro jiné flashky, je to důležité pro další postup. USB WIFI modul by neměl vadit
  5. najedeme do nabídky zdrojů signálu, vybereme vloženou flashku
  6. ze zobrazené nabídky vybereme Content Library
  7. objeví se ne neznámá nabídka content library – je třeba se proklikat až k nabídce Games na flashce
  8. v nabídce Games z flashky bude vidět položka SamyGO – to je právě slavný telnet enabler – spustíme ho. Obrazovka by měla probliknout – na chvilku zhasne a znovu se rozsvítí ve stejné nabídce (”jako kdyby se nic nestalo”)
  9. a teď trochu oříšek, se kterým vám nepomůžu: potřebujeme znát IP adresu televize, abychom se k ní mohli připojit – jsou dvě možnosti:
    1. TV má nastavenou statickou adresu. Pokud je to tak, nastavili jste si tu adresu sami a známe ji. Zjistit se dá ale v Menu – Nastavení – Síť – Nastavení sítě .
    2. TV má nastavenou dynamickou adresu (bere si ji z DHCP). IP musíme zjistit z našeho DHCP serveru (obvykle to bude zřejmě nějaký home gateway-router). Pomůckou nám může být MAC adresa, kterou zjistíme pomocí funkce Test sítě v nabídce Menu – Nastavení – Síť – Nastavení sítě – Test sítě .
  10. z našeho PC s Windows si spustíme příkazový řádek a zadáme příkaz ve tvaru telnet {ip adresa televize} . Pokud se nám příkazový řádek nelíbí, stáhneme si prográmek PuTTY (zde odkaz na stránky autora –putty.exe ), ten spustíme, do políčka “Host Name (or IP address)” vyplníme IP adresu televize“Connection type” zvolíme telnet. Kliknutím na Open se připojíme.
  11. Pokud jsme vše až do tohoto kroku udělali správně (nejdůležitější je správně spustit telnet enabler – bod 7 a znát adresu televize), zobrazí se nám přihlašovací obrazovka. Jméno je root a heslo po nás nebude požadováno. Neděste se, zobrazí se chybová hláška -sh: id: not found – nic se neděje.
  12. Pokud jste se dostali úspěšně až sem, gratuluji – máte téměř vyhráno. Nyní se přesvědčíme, že máme dostupnou flashku tam, kde ji očekáváme. Zadáme příkaz mount a odešleme ENTERem. Měl by se nám zobrazit nějaký takový výpis:
    /dev/root on / type squashfs (ro)
    none on /proc type proc (rw)
    none on /sys type sysfs (rw)
    none on /dev/sam type tmpfs (rw)
    none on /dtv type tmpfs (rw)
    /dev/tbml7 on /mtd_boot type squashfs (ro)
    none on /mtd_ram type tmpfs (rw)
    /dev/stl0/14 on /mtd_rwarea type rfs (rw)
    /dev/tbml8 on /mtd_exe type rfs (ro)
    /dev/tbml9 on /mtd_appdata type squashfs (ro)
    devpts on /dev/pts type devpts (rw)
    /dev/stl0/13 on /mtd_tlib type rfs (rw)
    /dev/stl0/15 on /mtd_contents type rfs (rw)
    /dev/stl0/16 on /mtd_down type rfs (rw)
    /dev/stl0/12 on /mtd_wiselink type rfs (rw)
    /dev/stl0/17 on /mtd_swu type rfs (rw)
    none on /proc/bus/usb type usbfs (rw)
    /dev/sda1 on /dtv/usb/sda1 type vfat (rw,sync,fmask=0022,dmask=0022,codepage=cp437,iocharset=utf8,shortname=mixed)

    Pro nás je důležitý poslední řádek – v prvním sloupci je název zařízení (/dev/sda1), třetí sloupec je pak místo, kam je flashka namountovaná (/dtv/usb/sda1). U vás to může být jinak, ale flashka by měla být vždy mountovaná někam do adresáře /dtv/usb/… Pokud ji máte namountovanou jinam, v dalších příkazech používejte vaši cestu. Může to být např. /dtv/usb/sdb1 .

  13. A teď kouzlo kernelových modulů. Příkazem insmod /dtv/usb/sda1/samygo/cifs.ko zavedeme kernelový modul (něco jako “ovladač” ve Windows) na CIFS.
  14. A už jen připojit požadovanou složku ze sítě – příkazem mount -o user={jméno},password={heslo} -t cifs //{IP serveru}/{sdílená složka} /dtv/usb/sda1/sdilene
    1. {jméno} a {heslo} nahradíme jménem a heslem pro přístup k sdílené položce.
    2. {IP serveru}{sdílená složka} nahradíme IP adresou serveru a názvem sdílené složky. IP doporučuji použít z důvodu možných problémů s resolvingem jména. V názvu sdílené složky raději nepoužívejte diakritiku, mezery a podobně.
  15. Pokud příkaz proběhne v pořádku, nevypíše žádný text a skočí hned na nový příkazový řádek. O tom, že se vše připojilo korektně, se přesvědčíme zadáním příkazu mount. Ve výpisu by měla přibýt jedna položka.
  16. O tom, že jsou data k dispozici se přesvědčíme příkazem ls /dtv/usb/sda1/sdilene/ – měl by se vypsat seznam adresářů tak, jak jsou vidět ve sdílené složce.
  17. A nyní k tomu, jak si takto nasdílená data pustit? Úplně jednoduše – ve funkci Media Play v televizi zvolte jako zdroj flashku, na které najdete adresář sdilene (ten, který jsme si v bodu 2. vytvořili) a v něm obsah sdílené složky. Volia! 🙂

Uf… bylo to náročné? Snad ne 🙂

Tak – teď už umíme spustit telnet, natáhnout kernelový modul a namountovat síťové složky. Super! Bohužel, s tímto postupem nám po vypnutí televize všechny sdílené složky zmizí. To je daň za to, že jsme nemuseli flashovat neoriginální firmware. Postup je po každém vypnutí/zapnutí (restartu) televize opakovatelný, s tím, že některé věci se zřejmě nebudou měnit (např. IP adresa televize, cesta, do které se připojí flashka atd.)

Příště si flashneme firmware SamyGO a připravíme skripty tak, aby se nám sdílené složky připojovaly samy po zapnutí TV. Těšte se!

A prosím Vás trošku o spolupráci, komu se podle postupu vše povedlo, napište mi tu do komentářů – nebo napište, co vám nefunguje. Případnou chybku doladím. 🙂


Samsung LE40B650 – flash SamyGO firmware

Flashování firmwaru, download SamyGO firmwaru

Pro velký úspěch prvního dílu tu je pokračování seriálu o televizi Samsung LExxB650xxx. Pro úplnost již na začátku uvádím, že veškeré postupy, které jsou zde popsané, děláte na vlastní riziko a já nemůžu a nebudu nést jakoukoli formou zodpovědnost, když si svou televizi použitím těchto postupů nebo souborů zde odkazovaných, uvedete do nepoužitelného stavu.

Level 1 – flashujeme originální firmware.

Tady je k dispozici pro pokusy s patchováním a úpravami standardní firmware od Samsungu. V předchozím postu jsem dával odkaz na download stránku – odsud pochází i tyto dva soubory.

Verze 2004.1 – stahujte zde: T-CHL7DEUC-2004.1.exe

Verze 2005.0 – stahujte zde: T-CHL7DEUC-2005.0.exe

Level 2 – flashujeme firmware NewAge.

Firmware NewAge je takový druhý krůček v poznávání toho, co s novou telkou můžeme dělat. Řeší jednu zásadní věc – nastavení poměru stran u videa přehrávaného funkcí Media Play (tzv. Aspect Ratio fix, nebo AR fix – v překladu “oprava poměru stran”). Varianta NewAge v1 řeší pouze jeden případ – v menu obrazu režim “Přizpůsobit” znamená roztažení obrazu na celou obrazovku a režim “Původní” znamená to, co v originálním firmwaru režim “Přizpůsobit” – tj. roztažení na celou obrazovku při zachování poměru pixelů 1:1.

Varianta NewAge v2 toho umí trochu víc – v menu Tools při nabídce obrazu zpřístupňuje více možností. Překládat to nebudu, ale tabulka je zde:

 Fit.............. same as in original firmware (fit the video to full screen by assuming 1:1 pixel aspect ratio)
 Original......... same as in original firmware
 Full Screen...... stretch the video to full panel screen (1366x768 or 1920x1080)
 4:3.............. 4:3 pixel aspect ratio
 Non Anamorph..... non anamorph aspect ratio (the average of PAL and NTSC non anamorph ITU-R BT.601 Standard aspect ratio)
 16:9............. 16:9 pixel aspect ratio
 Anamorph......... anamorph aspect ratio (the average of PAL and NTSC anamorph ITU-R BT.601 Standard aspect ratio)
 1.85:1........... 1.85:1 pixel aspect ratio
 2.35:1........... 2.35:1 pixel aspect ratio
 2.37:1........... 2.37:1 pixel aspect ratio
 2.39:1........... 2.39:1 pixel aspect ratio
 2.76:1........... 2.76:1 pixel aspect ratio

A teď ke stažení 🙂

NewAge v1 – stahujte zde: T-CHL7DEUC_Samsung_B650T2W_2004.1_MediaPlayer_AR_BugFix_v1_by_NewAge.7z (nebo zde ze stránek NewAge)

NewAge v2 – stahujte zde: T-CHL7DEUC_Samsung_B650T2W_2004.1_NewAge_v2.7z (nebo zde ze stránek NewAge)

Level 3 – flashujeme firmware SamyGO.

A teď to nejzajímavější – kvůli čemu jste možná tady. Opatchovaný firmware SamyGO! 🙂

Přikládám dvě verze, 2004.1 a 2005.0. Rozdíl je ve verzi aplikovaného AR fixu. Funkčnost je stejná, jako u příslušné verze NewAge firmwaru, tedy FW 2004.1 s patchem SamyGO má aplikovaný AR fix v2. FW 2005.0 má pak jednodušší AR fix v1.

A k čemu vlastně ten SamyGO firmware je? Tak předně – automaticky zpřístupní telnet server na televizi, takže po jejím restartu 🙂 se k ní můžete připojit. Defaultní login je root bez hesla.

Tak a teď ke stažení. Oba tyto soubory jsem patchoval vlastními silami a oba vyzkoušel na své televizi s úspěchem. Neručím však za to, pokud se vám s vaší televizí po aplikaci těchto firmwarů stane cokoli zlého – může se stát leccos. 7Zip použitý ke komprimaci ale riziko snad snižuje díky tomu, že sám kontroluje integritu. Pro jistotu uvádím MD5 hashe jednotlivých souborů po rozbalení. (MD5 sumy si spočítejte po rozbalení 7Zipem u jednotlivých souborů prográmkem MD5sums pro Windows, ke stažení zde)

Verze 2004.1 s AR fixem v2 – stahujte zde: T-CHL7DEUC-2004.1.7z

[Path] / filename              MD5 sum
---------------------------------------------------------------
[T-CHL7DEUC-2004.1\T-CHL7DEUC\image\]
appdata.img.enc                d9265961c7e13f9deb61cc77af0d8eba
exe.img.enc                    9c0393138c2e66864cc1c5d7781a2ac0
info.txt                       7a8bfb77c1b945e0bc152cd1fcba363a
serial_temp                    ab8c406380b9e882128a73a101aefca4
validinfo.txt                  a307a0e2c73b41109aefd4ea32b45560
version_info.txt               f7ea7a48cf1ed5d461bb352a4fdace86

[Path] / filename              MD5 sum
---------------------------------------------------------------
[T-CHL7DEUC-2004.1\T-CHL7DEUC\]
crc                            d43bf6e0bc3bdc046d79e5ae140d5cbc
ddcmp                          d87dd8f80baf86539ade0ee8f20fe794
MicomCtrl                      b2d3625b06ffa08f8d005e5189daf9bb
rc.local                       61c2a7384edef49230336062949bfd93
run.sh.enc                     b67c6df475fca0cfad72f4df614feb6d

Verze 2005.0 s AR fixem v1 – stahujte zde: T-CHL7DEUC-2005.0.7z

[Path] / filename              MD5 sum
---------------------------------------------------------------
[T-CHL7DEUC-2005.0\T-HL7DEUC\]
crc                            d43bf6e0bc3bdc046d79e5ae140d5cbc
ddcmp                          d87dd8f80baf86539ade0ee8f20fe794
MicomCtrl                      b2d3625b06ffa08f8d005e5189daf9bb
rc.local                       61c2a7384edef49230336062949bfd93
run.sh.enc                     b67c6df475fca0cfad72f4df614feb6d

[Path] / filename              MD5 sum
-------------------------------------------------------------------------------
[T-CHL7DEUC-2005.0\T-HL7DEUC\image\]
appdata.img.enc                2de021cebfbbff8199b506fcc99b1cce
exe.img.enc                    0a696f9d5c7cdc9f13a5f4045c162f54
info.txt                       fb3466259a8ed1b7b71484e9ad20fb59
serial_temp                    fb5d7ddd746935f7c6c13c704d665d46
validinfo.txt                  ea7c6661d421d332fb03bf45fa16e43e
version_info.txt               93750dc44eb70109b8ada12a78e9ffec

A teď trochu praxe se SamyGO…

Můj soubor /mtd_rwarea/SamyGO.sh vypadá takto:

#!/bin/sh

# Enable Telnetd
mount -t devpts devpts /dev/pts
telnetd
sleep 20
/mtd_rwarea/mount2usb.sh # Run mount script

# Open back-door for fixing boot-loop situations
sleep 20       # Allow USB stick to settle
USB="/dtv/usb/sda1"    # USB mount-point

if [ -f $USB/usb.sh ];then
 $USB/usb.sh    # USB-File detected.
else
 if [ -f /mtd_rwarea/mtd_rwarea.sh ];then
 /mtd_rwarea/mtd_rwarea.sh # Run normal startup script
 fi
 if [ -f /mtd_rwarea/mount.sh ];then
 /mtd_rwarea/mount.sh # Run mount script
 fi
fi

exit

Na začátku skriptu jsem ponechal původní řádky zajišťující spouštění telnet serveru, ale vzhledem k tomu, že to tak často nevyužívám, z důvodu bezpečnosti by nebylo od věci to odtamtud vyhodit. Telnet server je možné si totiž kdykoli spustit “hrou” – o tom více někdy jindy. Následujícím příkazem, který spouští skript /mtd_rwarea/mount2usb.sh spouštím vlastní skriptík, který mi namountuje přes CIFS sdílené adresáře z mého NASu na flashku, kterou mám v TV připojenou do USB. Další řádky následující po komentáři “Open back-door…” už jsou u mě tak prakticky zbytečné. Nevím, proč jsem je nesmazal 🙂

Takže ten, kdo umí s linuxem, si jen stáhne CIFS kernel modul ode mě nebo ze Sourceforge stránek projektu SamyGO, nakopíruje si ho do adresáře /mtd_rwarea a pak jen nainsertuje do běžícího jádra klasickým příkazem insmod /mtd_rwarea/cifs.ko . Jinak korektní a fuknční použití mountu s tímto modulem je toto: mount -o user=jméno_uživatele,password=heslo -t cifs //IP_adresa/sdílená_složka /dtv/usb/sda1/prázdný_adresář_na_flashce .

Tolik pro začátek, dnes pro ty šikovnější a linuxu znalejší. Příště si povíme něco víc o telnet enableru a ukážeme si nějaké příklady jak si mountovat disky ze sítě přes CIFS.

 

Samsung LE40B650 – firmware

Samsung LE40B650

Kdo máte doma také tuto telku, nebo libovolný jiný model řady LExxB650xxx, možná budete překvapeni, když se dozvíte, že v ní běží Linux. Ano! Je to skutečně tak 🙂 A vzhledem k tomu, že si ji pořídilo pár geeků, kteří do toho “tak trochu dělají” – dá se s tou telkou dělat spousta divů.

Takže hezky postupně:

Level 1: umíme flashovat firmware.

Samsung nám nabízí na svých stránkách vždy nejnovější verzi, kterou najdete tady.

…když umíme flashnout firmware, můžeme pokročit dál. Kdo to nezvládá, neměl by se ani pokoušet 🙂

Level 2: nebojíme se aplikovat patchovaný firmware.

NewAge, zřejmě linuxový geek a tuner, nám nabízí patchnutý firmware. Co to všechno umí? Tak předně – a to je hlavní důvod – změnu poměru stran na tisíc způsobů u souborů přehrávaných interní funkcí Media Play. Nebudu rozebírat, víc se dočtete na jeho stránce. Co ale umí dál, je větší lahůdka – pomocí “contentu” spustitelného z televize povolí telnet server v televizi! A to je krůček k dalšímu levelu. Patchnutý FW 2004.1 (obsahuje podle mě lepší AR fix – v2) stahujte tady, patchnutý FW 2004.1 (starší patch, který má menší možnosti – jen opravuje defaultně podivně funkční možnost “Přizpůsobit” – stahujte tady.)

…když se nebojíme flashovat patchovaný firmware, můžeme pokročit dál. Kdo se bojí, nesmí do lesa!

Level 3: nebojíme se patchovat firmware.

Parta chlapíků kolem projektu SamyGO, nám nabízí na svých stránkách patche, pomocí kterých zajistíme spuštění vlastního skriptu po startu televize, stejně jako nabízí ke stažení různé kernelové moduly. (pokud nevíte, co je kernelový modul, nečtěte dál) K čemu je to ale dobré? Dobře – jeden z kernelových modulů, které nabízí, je CIFS – pořád nic? Ano! Obejdeme DLNA a nasdílené složky z domácího NASu si připojíme k televizi napřímo. Ptáte se, k čemu je to dobré? Tak zaprvé – odpadá nutnost ladění a údržby DLNA serveru, zadruhé – funguje veškeré přetáčení a podobné vlastnosti, jako při přehrávání z USB zařízení; zatřetí – je to vysoce transparentní a velmi dobře funkční.

… a když se nebojíme patchovat, žádné dveře pro nás nezůstanou zavřené!

Tak co? To jde, ne? 🙂
Pokračovat budeme za čas s nějakým FAQ kolem této telky a s přímými linky na stažení jednotlivých verzí FW, které jsou odzkoušené a bezpečné.

 

Homemade NAS aneb výkonné síťové diskové úložiště za málo peněz

Úvod

Donedávna jsem jako diskové úložiště používal jednodiskový NAS boxík D-Link DNS-323. Měl jsem v něm 750GB WD AAKS. Celé řešení fungovalo velmi dobře, mimo jiné jsem v NASu používal plný Linux, a tak jsem měl prostor si vše nakonfigurovat plně ke svým potřebám. Přenosové rychlost nebyly ideální, pohybovaly se od 3 do 6MB/s, ale pro mé účely zpočátku dostačovaly. Nicméně po tom, co se mi disk odporoučel do věčných lovišť, musel jsem chtě nechtě uvažovat alespoň o bezpečnosti – a je to tak vždycky: že Vám jde o data si uvědomíte, až když o ně (málem) přijdete. Já o ně naštěstí nepřišel, ale musel jsem někam „odložit“ to, co jsem v tom disku měl. Tedy: koupil jsem 1.5TB Samsunga F2, NAS boxík prodal a 7500AAKS poslal do reklamace. A co teď?

Požadavky

Cílem bylo následující:

  • dosáhnout zabezpečení dat, tj. RAID. Mirror se mi nejevil uspokojivý, protože vyžaduje režii 50%. Začal jsem tedy uvažovat o RAID5 jako požadavku. Tj. 3 disky, režie 33%.
  • zvýšit propustnost
  • zachovat široké možnosti nastavení (linux optimální)
  • zachovat malé rozměry
  • zachovat nízkou hlučnost

V úvahách jsem měl několik možností, z nichž hlavní byly:

  • 4diskový NAS od QNAPu, Synology nebo D-LINKu s cenou 10 tis. Kč a více bez disku
  • homemade řešení s něčím, co se uchladí pasivně

Řešení

Nakonec jsem zvolil vlastní řešení a vydal se dokonce cestou custom case. Takže – config je následující:
MB: Intel D510MO – Mount Olive s dvoujádrovým Atomem 1.66GHz s integrovanou grafikou přímo v CPU, s dvěma gigovými síťovkami, dvěma SATA porty, PCI slotem a dvěma DDR2 sloty
RAM: levnější 1GB DDR2 800 od Zeppelinu
PSU: to je zajímavější – s ohledem na požadavky jsem zvolil PicoPSU 80W, který jsem koupil z eBaye za cca. 1200 Kč

A to nejzajímavější – case. Ten jsem si nechal vyrobit podle vlastního návrhu z plexi. Jak to dopadlo posuďte sami 🙂

–obrázky—

Case má celkové vnější rozměry 18x18x18cm (požadavek na malé rozměry splněn). Záměrně jsem nefotil zadní stěnu, kterou nemám ještě dobře vyřešenou. Je to trochu složitější s konektory, nicméně pracuji na tom – cílem je, až tam budou 3 disky, zadní stěnu udělat pořádně. Zatím tam mám jeden disk a zadní stěnu mám udělanou narychlo – během půlhodinky s dremelem takže si dokážete představit, jak to vypadá.

Celková cena se dostala cca. na 4000 Kč – výroba case stála asi 900 Kč a komponenty si najdete na libovolném eshopu 🙂

Praxe

Čeho jsem se v praxi obával nejvíce bylo, jak se mi celá sestava uchladí, až ji do case uzavřu. Teoretický návrh skříně s větracími otvory vpředu dole (nasávací) a vzadu nahoře (vyfukovací) bez jediného výpočtu se ukázal jako správný – největším topičem je CPU a přirozeným prouděním si kolem RAM nasává studený vzduch otvory v přední stěně dole. Následně ohřátý vzduch stoupá , přidává se k němu teplo z disku a odchází otvorem v zadní stěně. Dokonce je cítit, jak vzduch proudí, při přiložení ruky k otvorům. Tj. díky úspěšnému zajištění průchodu vzduchu se mi podařilo splnit další požadavek, nízkou hlučnost.

Vzhledem k tomu, že jde o sestavu plně PC-compatible, nainstaloval jsem Linux Debian ve variantě Lenny, AMD64 SMP. Funguje výborně. Další požadavek splněn – plně konfigurovatelný systém.

Posledním požadavkem, který mám zatím vyřešený, je propustnost. Ono už se to očekávalo samo sebou, ale zmínit to musím 🙂 Gigabitový interface si samozřejmě žádal posílit ethernetovou infrastrukturu v mé domácí síti – pořídil jsem si tedy i router s gigovým switchem. No, nebudu zdržovat – běží to naprosto luxusně: při běžných transferech tam a zpět přes SMB dosahuji rychlostí 30-60MB/s. Při sekvenčních přenosech velkých bloků dat potom 50-75MB/s. Testoval jsem i přenosy RAM disk – RAM disk a dostal jsem se až někam k 95 MB/s.
Tady dva příklady přenosů přes SMB:
–obrázky–

Budoucnost

Na budoucí upgrady jsem připraven – do case se mi vejdou ještě další 3 disky, mám tam připravený taky 4port SATA RAID řadič, tj. mám k dispozici celkem 6 SATA portů. Ještě musím vyřešit ten zadní panel – zejména otvory pro konektory. Taky úplně dobře nevyšly vnitřní rozměry, takže MB mi asi o 1mm přesahuje ven, ale to nebude problém vyřešit vyfrézováním drážky do zadní stěny.

Závěr

Požadavky byly splněny při zachování nízké ceny – maximální spokojenost. Co víc si přát? 🙂