Archive for the ‘Hardware’ Category

XBMC on the O2 Joggler with touchscreen support

Sunday, May 9th, 2010

Equipment Required :

  • O2 Joggler - £50 on offer last month
  • 4GB or more USB stick
  • First off we must remember the O2 joggler uses the 'Poulsbo' or US15W chipset from Intel which is basically very badly supported software-wise in linux. We need to use the Intel proprietary IEGD driver to get any kind of openGL acceleration. Because of this, and the fact I did not have enough time to make it work nicely in Arch Linux nor Meego, I went for a prebuilt Ubuntu image for the joggler.

    I used disca's 1.3 build which requires a 4GB USB stick. Follow the instructions here to install it to your usb stick using dd or other.

    Open the joggler to fit your USB flash drive (or very cheap SSD!)
    This is not essential, however it leaves an empty USB port (to use with a USB sound card!) and makes the device look much neater. However you may want to leave that till the last minute. Also do not do this if you love Wifi. If you want wifi, buy a USB hub.

    Open the joggler - this is actually really easy - just carefully take away the sticker on the bottom of the device. Unscrew the 4 small screws, and just pull. There are plastic 'clips' on either side and two on the top. This should not be too hard to do. Here is a youtube video if you are still worried.

    Remove the Wifi card. This required me to take off two bits of tape, and pull away at the foam holding it in place a little. Then just place your USB stick inside. After all is done, close it up and boot. Bootup is actually faster than the original openpeak software! Once booted, an SSH server is in place (user: joggler, password: joggler) so I would ignore the onscreen keyboard and everything else.

    Installing XBMC
    I chose to go with an SVN build of XBMC, but feel free to get a stable build, there should be no difference. I shamelessely took the instructions from this blog. I'll make it quicker and up to date for Ubuntu 9.10 (karmic koala)

    Add the following repository to /etc/apt/sources.list:

    deb http://ppa.launchpad.net/team-xbmc-svn/ppa/ubuntu karmic main
    deb-src http://ppa.launchpad.net/team-xbmc-svn/ppa/ubuntu karmic main

    Import the key from the PPA, update our local database and install xbmc.

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 64234534
    sudo apt-get update
    sudo apt-get install xbmc

    We just need to launch XBMC once, and then set it to windowed mode using a USB keyboard or synergy - Settings -> System -> Video Output -> Resolution.

    Installing and configuring openbox
    You'll need a window manager in order to be able to start XBMC in non fullscreen mode to get the mouse emulating touchscreen to work. This is a little annoying but it's the easiest workaround (and only) I could find. Openbox was used because I'm (a little) familiar with it, otherwise this can work in gnome or anything else you want as long as you manage to take the decors and borders off completely.

    sudo apt-get install openbox
    mkdir ~/.config/openbox
    cp /etc/xdg/openbox/rc.xml ~/.config/openbox
    vi ~/.config/openbox/rc.xml

    You'll want to remove everything between the "applications" xml tags and insert something like this.

    <applications>
            <application name="*">
                    <decor>no</decor>
                    <shade>no</shade>
                    <maximized>true</maximized>
            </application>
    </applications>
    

    vi ~/.config/openbox/autostart.sh

    You'll want to use something like this to autostart XBMC. I also autostart a synergy client so I can use the mouse and keyboard from my desktop PC. If you don't know this great piece of software go take a look at their homepage.

    (sleep 3s && xbmc) &
    (sleep 3s && synergyc holm) &
    

    To get openbox to become the default choice, I got lazy. Just login to gnome, log out, then choose the openbox session at the GDM login. This will make it your default choice. I'm too used to having .xinitrc being so easy in Arch Linux, and after a lot of searching could not find an easy way to do it in ubuntu. If anyone knows of a way please tell me!

    Fixing the XBMC skin (SVN version only)
    If you have launched XBMC and are using the SVN version, then you'll notice a little graphical corruption. This is because the US15W in the joggler can't handle some of the unpacked textures that ship with the SVN builds. This fix was quite hard to find, but look here if you are interested in why this is this exact problem exists.

    It's actually quite a simple fix (i'm going to assume you don't want to install SVN on the joggler):

    svn co http://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/9.11_Camelot/skin/Confluence
    mv Confluence Confluence_stable
    scp -r Confluence_stable joggler@joggler:.xbmc/skin/

    Then just change the skin to Confluence_stable in Settings->Appearance->Skin

    Ok all is done! Now mount some music/video using some NFS/SMB shares and you're good to go! Also check out UPNP if like me you have other XBMC HTPCs around, it's very impressive if a little worrying. To make it a nice setup and not just an experiment, I use a USB soundcard to be able to have a good sound quality. Otherwise the joggler speakers and headphone jack are terrible. I use an old Edirol UA-1EX that I had lying about. Anything using the snd-usb-audio module in linux should work very well.

    Notice, some things are impossible to do with just touchscreen in confluence. I'd recommend having a go with Confluence Touch! skin. But there are quite a few different ones. So far I haven't found one I really like.

    Fixing sound playback
    This is a problem with XBMC and lots of audio sound cards. Basically the audio gets garbled as the sound buffer runs out of memory. I've had this on my acer revo and my O2 joggler with the external soundcard (I bet the problem is the same on the internal speakers). The easy fix is to use pulseaudio (which has a massive buffer). If you're using Gnome on the joggler ubuntu build then it will work. But using only openbox you'll need to start pulseaudio. Just add this to your autostart.sh

    (sleep 1s && pulse-session) &
    

    You'll have to make sure that your XBMC audio playback device is set to your default Pulseaudio sound card. gnome-volume-controller will help you set a default card.

    Making Confluence faster
    You'll notice the confluence skin is a little slow at displaying images. So i just resized and croped them all to the right size for the joggler (800x480). I also replaced the default music one and changed the apple to a tux... (i'm not even sure where that one gets displayed!). Grab the .tar.gz here. You'll have to extract it in the backgrounds folder in the confluence skin folder. My advice is to copy the confluence skin folder from '/usr/share/xbmc/skin/Confluence' to '~/.xbmc/skin/ConfluenceSmall'.

    Review of the Tyan S3115 board (S3115GM2N)

    Wednesday, April 14th, 2010

    The Tyan S3115 is an Atom board made by Tyan for small servers. I bought one for just that and thought I'd share since I couldn't find much information on it. There are many cheap Atom boards out there in the mini-itx form factor. Most are between £60-£110, maybe a little more for the Nvidia ION boards with Wifi. So why the hell would you want to pay £150 for one? The S3115 board comes in 4 versions. The S3115GN is useless, buy a cheap Intel D510 board - it only has 2 sata, the 945 graphics and no iKVM. The S3115GMN doesn't have a entry on the tyan site, but from the product number it should the same but with one network card missing. The last version is the S3115GM2N-B which just seems to lack the PCI/PCI-E x1 combo favoring a PCI only approach. However a cookie for the first person to find anything but the S3115GM2N on sale in the UK... I bought mine from Ballicom, who I'd never used before but where very good.

    The S3115GM2N has a measly 8MB for the tiny Aspeed AST2050 graphics card, 4 usb ports (two at the back, two on the board), 4 sata ports (although one is so stupidly placed I don't know how you would use it...). The only downside of the board seems to be the maximum of 2GB of RAM, using SODIMM sticks, unlike the D510 board from intel which takes one stick of up to 4GB of normal DDR2. The board is cerified to work on RHEL5.2 and RHEL5.4 in both 64bit and 32bit.

    The board comes in the typical tyan box, along with a driver CD, 2 sata cables, a backpanel and a manual with a page saying 'china only'. Great! Also they forget to tell you that the 'iKVM' password for root is 'superuser'.

    So far all seems pretty good, be carefull the board turns num lock on at boot, so on laptop keyboards watch out!

    Inside the O2 Joggler

    Wednesday, January 13th, 2010

    Today I give you some nice pictures of the £99.99 flop that is the O2 joggler by OpenPeak Inc sold by O2 in the UK.

    The product in itself is terrible. If you can get it connected to your network, it refuses to do anything before it updates itself. It uses some weird ports to do it's updates on, and once you have it running, you'll discover most features that are planned - well aren't there at all. Luckily O2 will be happy to just refund the thing entirely without questions! Possibly due to the fact the thing is just wholly broken.

    Either way, the hardware in it is quite impressive for the money. It is based around the "Poulsbo" Intel System Controller Hub US15W. Itself and the atom Z520 CPU should take around 4.5W of power.

    On the Joggler there are 512MB of DDR2 (4 x 1 Gbit chips). The wifi is simply a wifi dongle without a case plugged in to the USB port. Anyways enjoy the pictures.

    Moblin 2.0 on Acer Revo (pt1) – Nvidia Ethernet (forcedeth)

    Tuesday, June 23rd, 2009

    For fully working revo on moblin 2.1 go here

    This howto will serve as how you can easily add a driver that is in the linux kernel but isnt in moblin inside a custom moblin kernel.
    In this case we are going to add the forcedeth driver for the MC79 chipset than is the in the Acer Revo.

    1. Download the kernel source rpm and install it

    2. go to /rpmbuild/SOURCES/ and add these lines in config-netbook (doesnt really matter where but I put it after the ATH5K line)
    CONFIG_FORCEDETH=y
    CONFIG_FORCEDETH_NAPI=y

    if you want the drivers built as modules replace the y by m but it will mean that the kernel is a little slower to boot etc..

    3. go to ../SPECS and execute rpmbuild --target=i586 -bb kernel.spec

    rpm -ivh --force kernel-netbook-2.6.29.4-9.1.moblin2.i586.rpm

    and there you go, you know have forcedeth working in your kernel.

    Moblin on Acer Revo (pt2) – Nvidia Graphics

    Tuesday, June 23rd, 2009

    For fully working revo on moblin 2.1 go here

    So you just bought a Acer revo and put moblin and it's so slow that it makes you cringe? Well here is how to fix it.

    So first we need to install Nvidia's proprietary "nvidia" module. In order to do this we have to recompile xorg-x11-server to have xinerama support. Then we need to install it and after that install the nvidia modules. Below are some dumb proof instructions. Feel free to mail in or comment some changed.

    1. yum install make gcc binutils glproto libX11-devel mesa-libGL-devel mesa-libGL xf86driproto randrproto renderproto fixesproto damageproto xcmiscproto xextproto bigreqsproto resourceproto fontsproto inputproto videoproto compositeproto scrnsaverproto resourceproto xineramaproto openssl xorg-x11-xtrans-devel openssl-devel libfontenc-devel libfontenc pixman-devel pixman libXau-devel libXau libxkbfile-devel libxkbfile libXfont libXfont-devel libXinerama libXinerama-devel xorg-x11-xtrans-devel libpciaccess-devel libdrm-devel rpm-build flex byaccxorg-x11-util-macros dbus-1 hal xv xvfixes raw7 xpm xi xrender xmuu dmx xt xdmcp xext xres xf86vidmodeproto xf86dgaproto evieproto dri2proto hal-devel libtool-ltdl-devel libXv libXv-devel libXres-devel libXext-devel libXt-devel libXdmcp-devel libdmx-devel libXmu-devel libXrender-devel libXpm-devel libXfixes-devel xorg-x11-proto-evieext libXaw-devel libXi-devel byacc

    2. Download the nvidia drivers (I used 185.18.14)

    3. download moblin xorg-x11-server source rpm. (I used 1.6.1-6.2)

    4. install the src.rpm package with "rpm -i"

    5. Go to /root/rpmbuild/SPECS/ and open the file xorg-x11-server.spec, find the line that says --disable-xinerama and change to --xinerama-enable

    6. in the same dir, execute rpmbuild --target=i586 -bb xorg-x11-server.spec

    7. reboot and add a lone 3 at the end of the grub line by pressing e and then e again.
    DJA metions that "vga=0 3" instead of "vga=current" might be needed in newer versions

    8. log in as root and execute yum remove xorg-x11-server. Go to /etc/yum/yum.conf and tell yum not to bothere with GPG checks by setting gpg_checks to 0

    9. go to /root/rpmbuild/RPMS/i586/ and install all packages in there with yum install xorg*. If you cant get your network up in command mode then download the missing packages by hand and install them at the same time with yum.

    10. Install the Nvidia driver by executing it. Dont bother going on their ftp site. Let the installer make you an xorg.conf

    11. reboot normally. Remove the quiet and vga=current lines could help.

    credit goes to people in this thread who helped : http://lists.moblin.org/pipermail/dev/2009-June/005210.html

    CPU change on Acer Aspire 5315

    Wednesday, February 25th, 2009

    Ok so you have an Acer Aspire 5315 with a Celeron Processor. You're annoyed, it overheats, it causes you pain, it's slow, it only has one cpu, it doesnt even have an FSB at 667Mhz to use that PC2-5300 ram they put in. The really annoying bit, it doesnt even has speedstep, so the battery life sucks and it eats through your leg with the heat generated.

    So what do you do? Buy a laptop cooler and be annoyed everytime it overheats? or you could just tell your girlfriend that yes, it keeps crashing for no reason and it's because she's using it wrong...

    Wait! you have an Intel GL960 chipset in there....
    (have a look at the specs) - 553mhz memory support, SATA, X3100 etc...

    http://www.intel.com/products/notebook/chipsets/gl960/gl960-overview.htm

    oh but wait...

    http://www.intel.com/products/notebook/chipsets/gm965/gm965-overview.htm

    Looks like the same thing to me... X3100 back here, but 800/667mhz FSB support! oh wait i can get a core2duo with this!

    --## CAN'T STRESS IT ENOUGH. THIS WORKED FOR ME. MIGHT NOT FOR YOU. DON'T EVEN TRY TO BLAME ME. DO THIS AT YOUR OWN RISK. YOU WILL VOID YOUR WARRANTY. IT IS UNSUPORTED. AND YES IT WILL WORK ON WINDOWS FINE AS WELL ##--

    So off on ebay I bought a T5250 SLA9S 1.5GHz for £16 with postage. Now with a little luck i can put it in and all will be dandy.

    For searching compatible CPU's I used the forum here :

    http://forum.notebookreview.com/showthread.php?t=206137

    Now it seems that this hack works for only the laptops with purple/pink sockets. Check before you buy a CPU. My laptop was from switzerland and had a purplish socket. I wanted to spend as little money as possible, but the following are said to be working (you might be overclocking your ram to 800mhz with some of these!) - any socket P CPU should work. Reported working in the forum thread :

    T5250/T5450
    T7500
    T8100/T8300
    T9300/T9500

    note : 4gb of ram apparently causes BSODs. I haven't tried it on linux and have only 2gb of ram anyways. But if someone could check it out, that would be cool.

    So first step, power off, then take the battery out. (please take the battery out folks... it's not hard...)
    2nd - take all the screws out of the big panel.
    3rd - get a flathead screwdriver and force the little plastic clips to bugger off. Don't worry if you snap one or two, the screws are there to hold it in place after all. (this will require considerable force but really it's easy once you've done it a few times)
    4th - unscrew that fan. You might want to dust it. You'll also want to unplug it
    5th - carefully, unscrew each of the screws around the CPU. take them off diagonally one turn on each screw and slowly go round unscrewing them little by little.
    6th - take the heatsink out, and dust that too. Take the goo off with cleaner, alchohol is just fine (no need for that expensive arctic cleaner rubbish) - water does a pretty good job too...
    6th - turn the screw towards the unlock section on the ZIF socket.
    7th - Take the old CPU out, put the new one in.
    8th - screw the screw towards locked. Hold the cpu down while doing this
    9th - Put heatpaste/thermal glue/thermal pad or something on the CPU
    10th - optional - put the heatsink on, press down on the CPU, take it off again and make sure the thermal grease has spread onto the heatsink evenly and well. Wipe excess off.
    11th - screw the heatsink back on
    12th - put the fan back on and plug it in, screw it back in. Make sure the wire does not touch the copper heatpipe to the heatsink
    13th - put the cover back on and screw it in.
    14th - Boot!

    Ok, if your not successful, revert the CPUs and maybe update the BIOS and try again. I was on version 1.33, which was pretty recent.

    On linux speedstep works straight away, switching from 1.0ghz to 1.5ghz, both cores are detected and everything is working very nicely. CPU is at 47C/48C under full load and the fan is slightly moving when it's under full 100% load.

    (incidently the cpuburn package on ubuntu provides the burnP6 utility. Run one per core and check for the CPU usage with htop or top)

    Still hasnt crashed and the fan is so silent its unbelievable really, as it was so noisy before.

    There we go a cheap laptop got a lot better and stopped crashing.