Friday, January 8, 2010

XBMC 9.11 Live on Acer Aspire Revo

I posted an entry last year detailing how to set-up the excellent Acer Aspire Revo as a high definition media streaming device using the equally excellent XBMC 9.04 software. The post proved quote popular, and thanks to everyone who commented on the article. Since then the XBMC have released the new 9.11 version, which I have recently installed onto my Revo.




Installing 9.11 is almost identical to 9.04, with a few steps removed due to 9.11 being more complete. In case it helps, below are the steps I took to get XBMC 9.11 working successfully on a Revo, using WPA protected wireless (with unhidden SSID only). I did note that some people have struggled installing from a USB memory stick. I've been using an external USB DVD-ROM drive which has simplified things, but I'm sure posts elsewhere can help regarding memory stick issues.

So, here's the installation sequence:

  • Physically install the Revo - connect HDMI, power, keyboard, Ethernet network cable (VERY IMPORTANT to start with) and in my case, a Windows MCE remote control USB IR adapter.
  • Switch on the power, and hit DEL to get to the BIOS settings. Disable Revoboot as this is not required.
  • Next, download XBMC 9.11 Live from this link.
  • I burned the ISO to a CD ROM, then plugged-in my USB CD drive to the Revo, inserted the CD, and rebooted.
  • Hit F12 to get the Revo boot menu. Select the CD ROM and proceed.
  • Follow the instructions to install XBMC Live to the hard disk, which is now a Debian-style text-mode installer. Just select the default options if in doubt. Once complete, reboot.
  • After about 20 seconds of boot time, I was greeted with the familiar XBMC welcome screen. Remote control working right out of the box. Before configuring XBMC itself, some system-level tasks are required first.
  • Since the WLAN does not work out of the box, I first install SSH from the command line by hitting CTRL+ALT+F2, logging in as XBMC user, and then typing: sudo apt-get install ssh
  • If you like, you can continue to use this command line to complete the set-up, but I found the text was cropped by my Sony TV, so instead I SSH'd from my main desktop PC using PuTTY.
  • Next, I performed a system update with sudo apt-get update and sudo apt-get upgrade. I then rebooted after this.
  • Next, SSH back into the box and install more essential packages for the WLAN to work: sudo apt-get install ntp wpasupplicant wireless-tools. Some of these packages are already installed in 9.11. I included NTP so the Revo can keep accurate time.
  • After another reboot, time to set-up the WLAN. My home network uses a hidden SSID which I have not managed to get the Revo to connect to. Having now unhidden my SSID it works. If anyone knows how to get this working with a hidden SSID then please post a comment! Additonally, I have WPA / WPA2 security enabled. First thing to do is sudo vi /etc/network/interfaces and make your file look just like mine:

# Used by ifup(8) and ifdown(8). See the interfaces(5) manpage or
# /usr/share/doc/ifupdown/examples for more information.


auto lo
iface lo inet loopback


auto eth0
iface eth0 inet dhcp


#iface eth0 inet static
#address 192.168.0.100
#netmask 255.255.255.0
#gateway 192.168.0.1


auto wlan0
iface wlan0 inet dhcp
pre-up wpa_supplicant -B -Dwext -iwlan0 -c/etc/wpa_supplicant.conf
post-down killall -q wpa_supplicant


  • Next, you need to configure wpa_supplicant. Two pieces of information you need are: a) your SSID, and b) your WLAN password. In my example below, I will use your_essid and your_ascii_key to replace my actual values used. A good reference for this part can be found here. First thing then is to get your HEX password by using the following command: wpa_passphrase your_essid your_ascii_key
  • Which will give you, as an example, this output in a terminal:

network={
ssid="test"
#psk="12345678"
psk=fe727aa8b64ac9b3f54c72432da14faed933ea511ecab1 5bbc6c52e7522f709a
}


  • Next, copy this, and then sudo vi /etc/wpa_supplicant.conf and make the file look like this:

ctrl_interface=/var/run/wpa_supplicant
ap_scan=1
network={
ssid="your_essid"
proto=WPA RSN
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP
#psk="your_ascii_key"
psk=fe727aa8b64ac9b3f54c72432da14faed933ea511ecab1 5bbc6c52e7522f709a
}


  • Save this file and you are ready to test the connection. If all has gone well, running the following command will confirm you can connect via WLAN now: sudo wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -Dwext -dd
  • Hit CTRL-C to quit wpa_supplicant. You can now manually bring up the connection with sudo ifup wlan0, or just reboot.
  • And that's it for getting the WLAN working. The final base configuration required to ensure XBMC can play audio through the HDMI cable correctly is as follows:
  • Go into XBMC's settings, and select the following:
  • Audio output -> Audio output (digital) - Digital
  • Audio output -> Audio output device - hdmi
  • Audio output -> Passthrough output device - hdmi
  • Audio output -> Downmix multichannel audio to stereo - ON
  • The rest of the XBMC configuration is up to you, but having done the above, you have a solid, fully working system to build on.

Thanks for reading. Have fun!

25 comments:

  1. Thanks. I shall try this tomorrow on my Revo 1600.
    I followed your post from August to successfully get 9.04 on the machine.... But I want the latest now.

    ReplyDelete
  2. Great guide!

    But... Why set "Downmix multichannel audio to stereo" to ON? Doesn't that mean you're only getting stereo (ew!) sound from all your movies?

    PS - Any thoughts on upgrading XBMC Live 9.04 to 9.11 on the Revo?

    ReplyDelete
  3. Hi Darin - thanks for the feedback. I only need Stereo output as I don't own a surround sound system. You are right - enabling the downmix setting can probably be skipped by most people.

    I've not tried an in-place upgrade from 9.04 to 9.11. Since I keep all my media on a central server, a re-install of my Revo is a relatively short piece of work, so I'm always happy to format and re-install.

    Is anyone reading this who has tried a direct upgrade able to post their comments on how it went?

    ReplyDelete
  4. Hi Nick,
    Great post and thanks for all the info!
    Just got my Revo last week and I've been running 9.04 Live from a USB memory stick. I'm hoping to go to 9.11 later this evening (thanks to your post here). Just a quick question - are the Nvidia drivers included in the 9.11 ISO or do you need to add them manually?
    Thanks,
    Tom

    ReplyDelete
  5. Hi Tommy. Thanks for the note, and good luck with the 9.11 installation.

    I should have mentioned that yes, the ION NVIDIA drivers are now included in XBMC 9.11, so there is no need to install them separately as was the case for 9.04.

    Nick

    ReplyDelete
  6. Did you not need to install a driver for your WLAN?

    ReplyDelete
  7. There's no need to install a WLAN driver - the wireless on the Revo works automatically in XBMC Live.

    ReplyDelete
  8. 9.04 has been perfect on my revo, but now after installing 9.11 (twice over) it is continuly crashing back to the console.

    Ubuntu 9.10 XBMCLive tty1
    XBMCLive Login:

    Means i have to cntl+alt+del to reload

    Im going back to 9.04....

    ReplyDelete
  9. Thankyou Josh Lyon who posted a comment on my previous thread on how to fix a problem where, after performing an apt-get upgrade, XBMC does not launch, but instead a very small error window is displayed.

    This can be solved by SSHing into the Revo and issuing the following commands:

    sudo stop xbmc-live
    sudo nvidia-installer --update -a -s -f
    sudo start xbmc-live

    ReplyDelete
  10. Thanks so much for this. I had issues with a Revo 3610 and its wireless card. I had to follow the instructions here: http://forum.xbmc.org/showthread.php?t=71332

    Then I replaced your wlan0 wirh ra0.

    ReplyDelete
  11. Thanks Nick - Been trying to get wifi running on my R3610 for the last 7 hours using a number of 'guides' but yours worked first time!

    ReplyDelete
  12. Thanks 'Anonymous' for the feedback. We aim to please!

    ReplyDelete
  13. Hi Nick, thanks for this tutorial! I finally managed to enable my WLAN after 2 years :-)

    A quick not for beginners like me:

    using vi
    http://unixhelp.ed.ac.uk/vi/index.html

    :wq (save and quit your file in vi)
    before you paste nick's information press i in vi

    ReplyDelete
  14. I've tried to install XBMC live from the ISO CD through two different external DVD USB drives, and each time the install stops because it does not find appropriate drivers for the cdrom. It offers to input something other than dev/cdrom but I've no idea what to do. What's weird is that I can boot from the CD and lauch XBMC live ok from the CD. So why does it not see the drive when going into the installation mode ???

    ReplyDelete
  15. Nick what are you using for a NIC? A USB NIC I presume. Whats the brand and model???

    ReplyDelete
  16. Hi Anonymous. I'm just using the Revo's built-in wireless adapter - no external NIC required.

    ReplyDelete
  17. Just wanted to say thanks for the guide was a great help getting the wireless working with the 3610 but had to replace ra0.

    Also didn't both with putty just used the wired keyboard that came with version of the 3610 (linpus linux one).

    ReplyDelete
  18. @ Phil said...

    I had the same issue with a slim line DVD-rom drive and had to use a chucky monkey old school 4xCD-R drive.

    ReplyDelete
  19. to the people struggling with VI why not use nano?

    It included in the XBMC live distro and works by typing

    sudo /etc/network/interfaces
    instead of
    vi /etc/network/interfaces

    the beauty of nano is that it has a menu system that is ok to use.

    ReplyDelete
  20. also I had problems running the command

    sudo nvidia-installer --update -a -s -f

    Maybe because I was not waiting long enough?

    In the end I just ran sudo nvidia-installer and running through the menu options manually.

    ReplyDelete
  21. Thought I'd post this again here just in case someone missed the original blog post. Minor fix. I forgot to do the apt-get update in the original post:

    Just a quick note for people having issues with getting wireless working with the Acer Revo 1600. I have two of these beasties, one has a Atheros 5891 wireless card. The other has a RaLink 3090. The tutorial above works for the Atheros wireless but not for the RaLink. If you look at the bottom side of the device you will see the Wlan type. To configure the Ralink you must do the following:

    sudo apt-get install python-software-properties
    sudo add-apt-repository ppa:markus-tisoft/rt3090
    sudo apt-get update
    sudo apt-get install rt3090-dkms

    This will configure a private ppa to get the latest stable ralink 3090 module and build it for your system. Reboot now.

    Strangely the interface will not be called wlan0 but rather ra0. After rebooting. Do

    iwconfig

    To confirm that it shows up.

    You will have to modify the /etc/network/interfaces file to reference ra0 instead of wlan0.

    auto lo
    iface lo inet loopback

    auto eth0
    iface eth0 inet dhcp

    auto ra0
    iface ra0 inet dhcp
    pre-up wpa_supplicant -B -Dwext -ira0 -c/etc/wpa_supplicant.conf
    post-down killall -q wpa_supplicant

    The wpa_supplicant.conf file can stay the same.

    Then you can run:

    sudo wpa_supplicant -ira0 -c/etc/wpa_supplicant.conf -Dwext -dd


    I had to manually delete the following:

    sudo rm /var/run/wpa_supplicant/ra0

    and reboot to get it going.

    After reboot do an ifconfig to see the ipaddress of your ra0 interface.

    I hope this helps somebody else.

    ReplyDelete
  22. thanks for sharing that config SuperSlug - was exactly what I was looking for - worked like a charm

    ReplyDelete
  23. Hi Nick, thanks for the guide.

    Linux noob here..

    When I try the command to confirm that I can connect via wlan, I get this message:


    jack@XBMCLive:~$ sudo wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -Dwext -dd
    Initializing interface 'wlan0' conf '/etc/wpa_supplicant.conf' driver 'wext' ctrl_interface 'N/A' bridge 'N/A'
    Configuration file '/etc/wpa_supplicant.conf' -> '/etc/wpa_supplicant.conf'
    Reading configuration file '/etc/wpa_supplicant.conf'
    ctrl_interface='/var/run/wpa_supplicant'
    ap_scan=1
    Line: 5 - start of a new network block
    ssid - hexdump_ascii(len=8):
    63 68 61 74 6d 6f 72 74 chatmort
    proto: 0x3
    key_mgmt: 0x2
    pairwise: 0x18
    group: 0x18
    PSK - hexdump(len=32): [REMOVED]
    Priority group 0
    id=0 ssid='chatmort'
    ioctl[SIOCGIFFLAGS]: No such device
    Could not get interface 'wlan0' flags
    Failed to initialize driver interface
    Failed to add interface wlan0
    Cancelling scan request
    Cancelling authentication timeout



    It seems that I don't have a wlan0 interface on my revo... is that possible ?

    I've been around other sites trying to solve my problem (trying to figure out what I'm doing) and I always get lost in the ocean of linux forums...

    any clues ?

    ReplyDelete
  24. Nevermind my other comment, I was able to get it working with Superslug's comment.. thanks to both of you :)

    ReplyDelete
  25. this was very helpful ... thanks mate!

    ReplyDelete