Linksys NSLU2: Osa 1 – Henkiinherättäminen

Linksys NSLU2 “Slug” on monikäyttöinen USB-Ethernet-silta. Linksys myy laitetta varsinaisesti verkko-NASsina, mutta koska pellin alla hyrrää Linux-pohjainen tekniikka, monet harrastajat ovat asentaneet NSLUhun mitä erikoisimpia Linux-distroja. Slugia voikin tällöin käyttää NASsina, web-serverinä, 1-wire-anturisovelluksena jne jne. Koska laite on vielä hyvin pieni (mahtuu helposti kämmeneen), toimii 5v jännitteellä ja on helposti modifioitavissa, ei mikään ihme että näillä purkeilla on kysyntää. Siispä ostin omani viidelläkympillä(!) käytettynä, voin kertoa ettei ollut helppoa löytää. Noh, myyjä ilmeisesti sitten unohti mainita että laite ei käynnisty. Firmiksessä on jotain vikaa tai sisälle on ajettu jokin distro mikä vaatisi järjestelmän USB-levyltä. Tästä alkoi ehkä painajaismaisin konffaus ikinä.

Reset-nappia kokeilin tietysti heti ensimmäisenä. Laite ei myöskään vastannut mihinkään sille tarjottuun IPhen. Uudelleenkäynnistäminen ei auttanut vaan tulos oli aina sama: Laite käynnistyy, Status-ledi palaa oranssina, jonka jälkeen kaikki ledit vilkkuvat sarjassa. Tämän jälkeen laite sammuu. Lueskelin NSLU-Linuxin sivuilta, että kyseessä on todennäköisesti huonosti onnistunut flashays. Hyvät uutiset: siihen löytyy recoverysofta UpSlug2, huonot uutiset: se on 16-bittinen konsolisovellus, joka ei tietenkään toimi 64-bittisessä Windows 7:ssa. Kaivettuani projektiläppärin esiin (ja tietysti akut olivat tyhjiä jne jne) sain softan käyntiin, mutta Slugia se ei löytänyt. Myöskään Linksysin oma EraseAll-sovellus (josta muuten NSLU2-sivustolla varoitellaan, ettei sitä tule käyttää missään tapauksessa) ei laitteeseen suostunut yhdistämään.

Ciscon laitteisiin tottuneina ajattelin että varmasti tähän pystyy flashaamaan firmwaren tftpllä. Ja siihen löytyikin ohjeet: NSLU2 pitää buutata RedBoot-tilaan, joka on NSLU2:sen Linuxin bootloader. Tämä ei olekaan mikään triviaali tehtävä. Kun laitteen käynnistää, se noin kahden sekunnin ajan ottaa itselleen IP-osoitteen 192.168.0.1 ja kuuntelee telnet-liikennettä portissa 9000. Kaksi sekuntia ei ole paljon. Jotta saadaan haastetta lisää, tämä ikkuna ei ole siinä kun Ethernet-ledi syttyy, vaan hieman sen jälkeen. Lisäksi heti yhdistämisen jälkeen pitää painaa Ctrl+C jotta päästään bootloaderin konsoliin. NSLU2-Linuxin ohjeet: TelnetIntoRedBoot.

Laitoin siis koneen IP-osoitteeksi 192.168.0.2 ja pingasin jatkuvalla syötöllä 0.1-osoitetta. Heti kun reply näkyi, Puttystä connect (asetukset tietysti valmiina) ja perään Ctrl+C. Ja ensimmäisellä kerralla sisään! Tässä vaiheessa syttyi pieni toivonkipinä, ehkäpä tämä purkki on vielä pelastettavissa. Seuraavaksi tyhjensin konfiguraatiot, ihan vain varmuuden vuoksi: ResetSysConf.

Seuraavaksi tutkailin ohjeita (ReflashUsingRedbootAndTFTP) ja löytyihän sieltä tftpllä flashaaminen. Tapaa ei suositella, koska UpSlug2 toimii paremmin, mutta tässä tapauksessa sepä ei onnistukkaan. Siispä asetin IPt ja asentelin koneelle tftp-palvelimen, jonne heitin jakoon Linksysin uusimman virallisen firmwaren V23R63 (sillä voi olla parempi aloittaa). NSLUsta otetaan load-komennolla yhteys tftphen ja ladataan tiedosto. Palvelin heitti herjaa file read errorista ja meinasin jo hiiltyä, mutta cksum-komento kertoi että tarkistussumma on oikea, joten kokonaisena se oli tullut perille. Tähän väliin flashays ja resetointi, melkein ehti kylmä hiki nousta kun odottelin tulosta….

Ja lopulta NSLU herää henkiin, vilkuttaa valoaan pari kertaa ja piippaa. Huh. Nopea asetusten resetointi ja yhteys 192.168.1.77 ja sieltähän se GUI löytyy. Purkki on noussut kuolleista :D

Jatkoa tarinalle seuraa kunhan keksin minkä firmwaren asennan tuohon ja mikä on sen lopullinen käyttötarkoitus. Miljoonalaatikolla on nyt kuitenkin toimiva NSLU2 jota voi käyttää tarpeen tullen projektissa kuin projektissa. Hieno sivusto tuo NSLU2-Linux.org, sieltä löytyy tähän purkkiin liittyen aivan kaikki.

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>