AppleTV Posts

AppleTV 2 Gen – SSH-ongelma

 

1339150059

 

 

 

 

 

 

 

 

 

 

Törmäsinpä perin raivostuttavaan ongelmaan jailbreikatun AppleTV 2:n kanssa (versio 5.3 – iOS 6.1.4 – 10B809), kun pienehkön tauon jälkeen oli tarve ottaa Macilta SSH-yhteys ATV:n. Kun eteen pärähti virheilmoitus: ssh_exchange_identification: Connection closed by remote host eli yhteys katkaistiin heti alkumetreillä. Hämmentävää! Ensimmäisenä tutkailin tietysti Mac:n ~/.ssh – hakemiston sisällön. Olisiko siellä config-filetsussa jotain hämminkiä. Ei ollut. Macilta sai kyllä AFP:n yli yhteyden AppleTV:n, joten sitä kautta pääsin tutkailemaan /etc/-hakemistosta löytyvää hosts – tiedostoa, josko siellä olisi jotain epämääräistä. Eipä ollut mitään outoa sielläkään. Varmistin vielä, josko jostain syystä olisi hosts.deny ilmaantunut aparaattiin. Eipä ollut sitäkään häiritsemässä. Siispä testimielessä loin ATV:n hosts.allow – tiedoston, mutta eipä tämäkään auttanut ssh:n yli yhdistämisen ongelmaan.

Lisää pään raapimista ja googlausta. Hakutulokset antoivat viitteitä ongelman liittyvän OpenSSH_6.x – pakettiin. Kuitenkaan en ATV:lle ole tehnyt mitään sen kummalisempaa. Ainoastaan jailbreikannut Seas0nPass:lla ja asentanut FireCoren ATV Flash Black:n ja NitoTV:n, eli tästä voidaan olettaa, että jailbreakin myötä asennettu OpenSSH 6.x  ei asennu oikein tai jotain muuta mystistä. Miten tästä eteen päin? Uudelleen jailbreikkaus tuskin auttaa, jos ongelma lymyää itse jailbreakissa…Ensimmäisenä kokeilin NitoTV:n kautta kaikkien pakettien päivitystä ja erikseen myös OpenSSH:n päivitystä. Tuloksena oli vain ilmoitus, että OpenSSH on viimeisin versio.

Sekalaisista tiedonmurusista poimin vinkin, että OpenSSH:n versio 5.8p1-9 olisi ratkaisu ongelmaan. Siispä Googleen hakusanaksi: openssh_5.8p1-9_iphoneos-arm.deb ja paketti jemmaan tietokoneelle. Seuraavaksi pitäisi jotenkin pakottaa Cydia asentamaan vanhemman version OpenSSH-paketista. Koska järjestelmässäni toimi yhteys AFP:n yli pääsin helposti ronklaamaan ATV:n asetuksia. Ensimmäisenä siirsin laatamani .deb-paketin Cydian AutoInstall-hakemistoon. Näppärä työkalu tähän on muCommander, koska sillä onnistuu myös tiedostojen oikeuksien muuttaminen, joka tässä prosessissa on tarpeen. Cydian AutoInstall-hakemisto löytyy: /private/var/root/Media/Cydia/AutoInstall kun paketti on siirretty sinne muutetaan tiedoston oikeudet muCommanderilla: 744. Nyt paketti on jemmassa Cydian automaattisesti asennettavien pakettien hakemistossa, mutta tämä ei vielä riitä, sillä järjestelmään on asennettuna uudempi versio OpenSSH:sta.

Siispä Cydialle pitää kertoa, että halutaan asentaa vanhempi versio. Tämä onnistuu muokkaamalla: /private/var/stash/libexec/cydia/ hakemistosta löytyvää startup -tiedostoa. Suosittelen muokkaamaan tiedostoa suoraan päätteessä, vaikkapa nano:a tai vi:tä apuna käyttäen. AFP:llä liitetyt laitteet löytyvät päätteessä /Volumes/ – hakemistosta. ATV:n juurihakemisto liitetään: /Volumes/root – muokkauksen voi tehdä myös, jollain tekstieditorilla kuten vaikkapa TextMate:lla tai vastaavalla kunhan varmistuu, ettei tallennettaessa tiedostoon tule mitään epämääräisiä muotoilukomentoja.

Startup-tiedostosta löytyy rivi:

dpkg -i "${debs[@]}" 2>/tmp/dpkg.log 1>&2 , joka muutetaan muotoon: dpkg --force-downgrade -i "${debs[@]}" 2>/tmp/dpkg.log 1>&2

jolla pakotetaan asentamaan AutoInstall-hakemistosta löytyvä vanhempi versio OpenSSH:sta. Annetaan vielä muCommanderin avustuksella tiedostolle 744 oikeudet. Kokeilin muuttaa oikeuksia suoraan päätteessä chmod ja sudo chmod-komennoilla, mutta jostain syystä oikeudet eivät muuttuneet. Ainoastaan muutos onnistui muCommanderin avustuksella. Hämmentävää tämäkin! Seuraavaksi kiskaisin ATV:sta virtajohdon irti ja hetken päästä paraatti takaisin verkkovirtaan. ATV vilkutteli normaalia pidempään valoa ja tuntui, ettei se käynnisty ollenkaan, mutta tovin vilkuttelun jälkeen laite oli jälleen käynnissä. NitoTV:n kautta varmistin, että OpenSSH:n versio on 5.8p1-9 ja ei muuta kuin kokeilemaan Macilta ssh-yhteyttä. D’oh!  edelleen ilmoitus: ssh_exchange_identification: Connection closed by remote host.

NitoTV uudelleen auki ATV:sta ja kokeilemaan OpenSSH-paketin päivitystä. Kas päivitys löytyi ja asentui. Uusi yritys tietokoneelta ja vihdoin ssh-yhteys toimii! Oletan, että jailbreakin myötä asennettava OpenSSH 6.x ei asennu oikein tai jotain riippuvuuksia jää asentumatta, koska kun pakottaa Cydian asentamaan OpenSSH:n vanhemman version ja sen jälkeen päivittää OpenSSH:n uudempaan toimii tämän jälkeen SSH-yhteys normaalisti.

 

ATV2 Virittely paremmaksi viihdelaitteeksi

AppleTV 2 tuo Omppufirman mainio pieni härpäke median toistamiseen eksyi äskettäin käsiini Elisa Viihteen mediatoistimen sisältävän harmaan Netgem-boksin vaihduttua uudempaan (ja uskomattoman rupuiseen) Pace:n menetin myös mahdollisuuden toistaa verkkolevyllä majailevia mediatiedostoja, joten hankintaan päätyi Applen atv2. Sellaisenaan mielestäni atv2 on turhan rajoittunut saillä aparaatilla ei voi toistaa materiaalia NAS:lta, mutta jailbreikattuna pikkuinen härpäke taipuu mitä merkillisimpiin suorituksiin. Ideana oli viritellä mustasta laatikosta edes välttävä mediatoistin viihdekäyttöön.

Jotta AppleTV taipuisi monen moisen median toistamiseen myös verkkolevyltä vaatii se iOS-laitteille tyypillisen jailbreak:n, sekä paremman mediasoitin-sovelluksen sisuksiinsa. Näissä toimenpiteissä apuun ryntää Seas0npass-jailbreak ja XBMC (aiemmin tunnettu nimellä Xbox Media Center). Oman projektini aloitin jailbreikkaamalla ATV2:n, joka on varsin simppeli toimenpide vaikkapa näiden ohjeiden mukaisesti. Seuraavaksi sujautetaan XBMC sisuksiin. Tätä kirjoittaessa XBMC on versiossa 11.0 Eden.

Asennus:

  • Ota SSH-yhteys koneeltasi ATV2:n – ssh root@ATV2.IP.OSOITE -oletussalasana on: alpine
  • Komenna:  apt-get update
  • Seuraavaksi:  mkdir -p /Applications/AppleTV.app/Appliances
  • apt-get install org.xbmc.xbmc-atv2
  • mkdir -p /Applications/XBMC.frappliance
  • wget http://mirrors.xbmc.org/apt/atv2/deb/org.xbmc.xbmc-atv2_11.0-3_iphoneos-arm.deb
  • dpkg -i org.xbmc.xbmc-atv2_11.0-3_iphoneos-arm.deb
  • rm org.xbmc.xbmc-atv2_11.0-3_iphoneos-arm.deb

…ja näin XBMC-asennus on valmis. Seuraavaksi ATV:n valikoista XBMC käyntiin ja asetuksia ihmettelemään. Tässä artikkelissa en sen kummemin käsittele XBMC:n asetusviidakkoa, sillä ne ovat aina mieltymyksen ja käytettävän television mukaisesti määräytyvät. XBMC:n perusteemat ovat varsin mukiin menevät, mutta haikailin hieman tyylikkäämpää ja samalla myös ATV2:n heppoisen raudan huomioiden mahdollisimman kevyttä teemaa. reFocus-teema miellytti eniten silmääni ja lähdinkin rakentelemaan viihdeboksiani sen pohjalle.

reFocus:n ulkonäköön pääsee vaikuttamaan asetuksien kautta suhteellisen paljon. Sieltä voi halutessaan lisätä ja poistaa päävalikossa näkyviä toimintoja, mutta jos haluaa lisätä jotain ekstraa vaatii se aina teematiedoston suoraa editoimista. Omassa kokoonpanossani halusin saada Elisa Viihde– ja TV-Kaista lisäosat suoraan etusivulle, joten hommaan käydään käsiksi muokkaamalla teematiedostoa: HomeMenu.xml

Esimerkin valossa malliksi Elisa Viihde- ja TV-Kaista – plugareiden lisääminen päävalikkoon:

<item id=”23″>

<label>tv-kaista</label>

<onclick>xbmc.ActivateWindow(Video,plugin://plugin.video.tvkaista)</onclick>

</item>

<item id=”24″>

<label>elisa viihde</label>

<onclick>xbmc.ActivateWindow(Video,plugin://plugin.video.elisa.viihde)</onclick>

</item>

Oma viritelty XBMC näyttää tätä kirjoittaessa alla olevan kuvan mukaiselta:

XBMC:n vahvuus piilee laajan mediatiedostojen tuen lisäksi myös laajassa lisäosien tarjonnassa. Lisäosia löytyy laidasta laitaan niin xbmc:n omasta ohjelmavarastosta kuin myös harrastajien tuottamina sekalaisista ohjelmavarastoista. Listaa plugineista löytyy mm. XBMC:n wikistä.

Loppulausumana voin lämpimästi suositella ATV2:sta viihdelaitteeksi etenkin jos järjestelmääsi kuuluu vaikkapa verkkolevy jolloin XBMC:n avustuksella ATV2 nousee aivan uudelle tasolle. ATV2:ssa ei ole ensimmäisen mallin tapaan ollenkaan sisäistä levyä vaan mallia on lähdetty suunnittelemaan nimen omaan striimausta silmällä pitäen. Laitteen vaatimaton 8GB flash riittää kuitenkin mainiosti XBMC:n ja liudan lisäosien asentamiseen. Tätä kirjoittaessa AppleTV 3:a ei käsittääkseni pysty jailbreikkaamaan, joten XBMC on toistaiseksi ensimmäisen ja toisen mallin huveja.