Sadan euron serveri

sääteli montun ääreltä keskellä sunnuntai-iltapäivää, 7.8.2005.

Topfeldin erinomaisuuden innostamana siitä piti saada loppukin ilo irti. Niinpä laitteen kaveriksi hankittiin Linksys Network Storage Link for USB 2.0, tai tuttavallisemmin NSLU2. Kyseessä on pieni (tavan IDE/SATA-kovalevyä pienempi) laite, jossa on ulkoinen virtalähde, 10/100 verkkoliitin ja kaksi USB2-porttia.

NSLU2

Alun perin laite on tarkoitettu USB-kovalevy(je)n jakamiseksi Windows-verkolle. Hallinta tapahtuu WWW-pohjaisen järjestelmän kautta, ja käyttäjiä sekä tiedostojakoja voi määrittää tarpeen mukaan. Laitteessa on Intelin IXP420-prosessori, 8MB flash-muistia ja 32MB RAM:ia. Firmware on rakennettu embedded Linuxin avulla, joten merkittävä osa sen lähdekoodista on GPL-lisenssin mukaisesti saatavilla. Niinpä laitteen firmware voidaankin korvata kolmansien osapuolien vastaavilla.

NSLU2:lle löytyy parikin vaihtoehtoista firmware-toteutusta, joista itse valitsin unslung 5.x beta-firmiksen. Se pyrkii olemaan mahdollisimman identtinen alkuperäisen firmwaren toiminnallisuuden osalta, mutta tuo toki omat lisukkeensa soppaan. Keskeisimpänä ideana on mahdollisuus ajaa laitteella Linux:ia vähintään 256MB USB-muistikammalta tai -kovalevyltä.

Itselläni oli joutava 512MB Kingstonin USB-kampa hyllyssä jouten, joten siitä syntyi miniserverin root-tiedostojärjestelmälle koti. Kohtuullisen suoraviivaisen ja verrattain yksinkertaisen asennuksen jälkeen NSLU2 olikin muuttunut pieneksi Linux-palvelimeksi. Jutun juoni on siinä, että yksi tuolle NSLU2 Linuxille toteutetuista sovelluksista on puppy, joka tuo altair.exe:n (se Windows-sovellus, joka keskustelee USB:n välityksellä Topfieldin kanssa) toiminnallisuuden Linux-ympäristöön komentorivipohjaisena. Näin minulla on siis pieni, meluton 24/7 käynnissä oleva UNIX-ympäristö, joka on verkossa ja Topfieldiin kytkettynä!

EPG-tietojen päivitys

Tarkoitus on ajaa NSLU2:lla webbiserveriä, joka tarjoilee näkymän EPG-tietoihin, ja mahdollistaa ajastusten hallinnan. Samalla se voinee näyttää tiedostohierarkiankin. Tallennusten siirtelyyn webbipohjainen järjestelmä on liian hidas, sillä siirtonopeudet ovat olleet itselläni ~5Mbps luokkaa ilman turbo-modea (joka kytkee Topfieldin kaukosäätimen pois päältä nopeuttaen siten siirtoja ilmeisesti jopa ~15Mbps hitauteen asti).

Ennen kuin webbipohjainen ajastusten hallinta on mahdollinen, täytyy EPG-tietojen olla riittävästi sinne päin. HTV:n kaapelijakelussa turhan monilta kanavilta puuttuu EPG-tiedot kokonaan, tai niistä tulee vain menossa olevan ja seuraavan ohjelman tiedot (ilmeisesti satelliittijakelussa tyypillinen tapa; lienee suoraan sieltä ”periytynyt”). Onneksi Topfieldille on TAP, joka mahdollistaa EPG-tietojen päivittämisen: EPG_uploader.

EPG_uploader lukee määrämuotoisia tiedostoja Topfieldin levyltä, ja syöttää niistä EPG-tiedot laitteen muistiin. Kun tiedostot on vielä nimetty päivämäärien mukaan, TAP osaa poistaa vanhat automaattisesti. EPG-tiedot nollautuvat standby-tilassa, mutta käynnistyksessä TAP lukee jälleen tiedostot uudelleen. Piti siis vain saada kyseiset tiedostot Topfieldiin.

NSLU2:n pieni mutta pippurinen suorituskyky riittää kotikutoisen Perl-skriptin ajamiseen. Skripti hakee webistä kaipaamieni kanavien ohjelmatiedot ja muotoilee ne sopivaan muotoon. Toinen shell-skriptin pätkä ajaa NSLU2:n cronissa aamuisin ja huolehtii tarvittavat tiedostot Topfieldille. Koska laite on päällä aamuisin jo Jag’s EPG:n päivitysajon vuoksi, ei erityisempää ongelmaa syntynyt.

Muita mahdollisuuksia

Webbipohjaisen ajastusten hallinnan lisäksi tarkoitus on ajan mittaan toteuttaa muitakin pikku juttuja. Arkistoitavaksi haluamani tallenteet voisi vaikkapa siirtää katselun jälkeen nimettyyn hakemistoon, josta NSLU2:lla pyörivä tarkistusrutiini voisi tiedostot poimia ja siirtää toiselle verkkoon kytketylle tietokoneelle. DVD:lle on jo pari tallennusta poltettu menestyksekkäästi, mutta prosessi vaatii vielä pientä viilausta. Vastaavasti Topfieldin levytilaa voisi dynaamisesti siivoilla muutenkin, ilman TAP-armeijan lataamista laitteelle. Ja onhan ”slugille” keksitty muutakin käyttöä.

Yksi vastaus

  • 1
    Kimmo vastaa:

    Ainakin alkuperäisessä käyttötarkoituksessaan NSLU2 on hitaampi kuin Buffalo LinkStation. Molemmat kun ovat Linux-pohjaisia, niin molemmissa pitäisi voida ajaa esim. poppyä. (Toki jos poppy on ”oikein” kirjoitettu, niin sitä voi käyttää myös NetBSD:n alla.)

    NSLU2:n valtiksi Topfieldin parina kuitenkin noussee juuri sama syy, minkä takia itse pidän LinkStationista: NSLU2:ssa kovalevy on ulkoinen. USB-kammalta ajaminen tekee laitteesta hiljaisen. Toivon mukaan kirjoitettavat alueet ovat kuitenkin keskusmuistia käyttävällä virtuaalilevyllä. Vai voiko kampoja nykyään jo kirjoittaa loputtomasti?

    Odotan kärsimättömänä oman Topfieldin hankkimista. Nyt Artsilla on kuitenkin vielä pari kuukautta aikaa hioa systeemit täydellisiksi, ennenkuin alan häiritsemään kysymyksillä. 🙂

RSS: Artikkelit / Kommentit