Wiphi update

I recently blogged about buying an Acer Aspire Revo to sit under my TV.

It arrived as planned and setting it up was fairly straightforward.

I’ve had it for about six weeks and I’m mighty pleased with it.

It’s small, quiet and looks pretty cool too.

I plumped for Boxee as an interface to my music and videos and although it crashes now and again I quite like it.

It crashes less now that I am using the standard Ubuntu nVidia drivers from apt (I previously downloaded the latest drivers from the nVidia site but half my videos wouldn’t even play).

It runs so quiet I have now set it up to run email, DNS and DHCP thereby enabling me to shut down the large (noisy) tower PC that was previously performing those tasks.

I reckon with the electricity I save it’ll have paid for itself in 2-3 years!

Boxee has really impressed me.

The ease with which I can play videos has got me ripping my existing DVDs so I can watch them through Boxee.

For me at least the age of disk-based media has passed – I can’t be doing with disks anymore.

Much as with my CDs once I rip them I put them in a box at the back of a cupboard and never refer to them again.

Wiphi Mark II

Almost five years ago I decided to build a “DIY streaming media thingy” to play music in the living room.

I went ahead and built it and very good it was too.

But it’s been getting a bit long in the tooth and it is a little too large for the TV stand so I have reluctantly decided to retire it.

The idea of doing without a PC in the living room lasted about two days before I was back on QuietPC planning Wiphi Mark II.

I had my eye on a case but after doing the maths I realised it was going to cost a fortune to build a new PC from scratch.

I was just about ready to abandon my plans when I caught sight of one of these on The Gadget Show.

I got even more excited when I found out there was a Linux version for £180 (annoyingly they were going for £150 a few months ago).

The Linux versions do seem to be rarer than hen’s teeth at the moment but I managed to track one down from eBuyer eventually.

Software wise I think I’m going to try out Boxee instead of my homebrew Wiphi code – I’m a little sad to give up on it but it’s quite clunky and basic compared to all the whizzy stuff you get with Boxee.

I’ve also found a useful guide to getting it all set up.

It arrives on Saturday.

That’s my weekend sorted then. 🙂

Making Wiphi Good

BBC News has an article about the Slim Devices’ Transporter wi-fi music player.

As usual when I read about such things I tend to compare it to wiphi, the music player that I built.

It’s interesting to note the amount of work that would have to be done to get Wiphi up to the spec of something that is commercially available.

Visual appeal

My player looks attractive initially.

But it’s a bit chunky, and the green VFD display is not very readable.

Ideally it would be half that height and have a blue LCD display.

It would also have a nice responsive dial for controlling the volume.

It could also do with a nice logo.

Remote control

It doesn’t have a dedicated remote – it’s just configured to use any remote that works with LIRC.

Building a remote control from scratch is beyond my skills.

User interface

The overall user interface isn’t too bad, but it’s not slick.

There’s no indication of what is going on until the box has booted (takes a few minutes as it boots over the network).

The only interface is the remote control and the display panel at the front – which is a bit limiting. It needs an on-screen display on the TV ideally.


I wrote the software myself – it’s essentially some “glue code” (written in Java) between MPD, LCDproc and LIRC.

If it goes wrong and crashes the only way to deal with it is to ssh in and look at log files.

It is MPD based though – I could set it up so that I could control it from a Web browser on another machine for example.

There’s no way to configure it beyond hacking XML files and restarting the box. That could be fixed – but would require a Web interface of course.


It would obviously need a lot of work to get it up to speed.

Also, the software work is far more likely to happen than the hardware work.

I’m not really good with hardware stuff, plus I’ve spent enough on kit for it already.

It’s an academic question anyway, I’m unlikey to give up my day job and build music players for a living.


The competition

I visited a friend recently and he had some sort of Streaming Media Server atop his TV.

It was a commercial system (boo! hiss!) called a Pinnacle Showcenter.

Anyway, it looked pretty nice.

Quite a bit smaller than the one I had built.

It had some funky blue LEDs, but my case has funky blue LEDs.

It doesn’t have an LCD panel though, so I win on that one.

But one really nice thing that it did do was to show photos as a slideshow on the TV.

“I can do that” I thought.

So I will.

First step, buy a cheapo (silent) video card with TV out.

Next step, write some code to display photos. On-screen display of photo titles would be a nice touch too.

Watch this space.

Network booting linux

For my project I decided from the very start I was not going to install a hard drive.

So, I needed some other way to boot the machine.

Options were:

  1. Network.

  2. USB stick.

  3. Compact Flash card (via a USB card reader).

  4. Compact Flash card (via a IDE based card reader).

I already own the kit to do 2 and 3, and needed to buy a wireless network card that could do 1 (or so I thought) so I discounted 4 on the basis that I didn’t want to spend money needlessly (haha, I wish).

I then discounted option 3 as I needed my card reader for getting photos off my camera.

I finally discounted option 2 as my USB stick is USB 1 and is slooooow.

So, network booting it is.

As previously documented, the wireless network card didn’t support network boot, so I eventually bought a “wireless bridge” that is completely transparent and allows the onboard network card to boot.

Initially I had thought it would be a complete pain to do network booting as I was unable to find instructions that completely matched what I was trying to do (most involved NFS in some way).

Fortunately though, a friend pointed me to instructions on his site that I was able to follow, and combined with instructions on booting Linux from compact flash I was able to muddle through it all.

I initially built my disk image by roughly following the compact flash instructions.

I did this by putting a spare hard disk into the box and installing a stripped down Slackware 10 on it.

This involved a fair level of faffing around as I tried to find a balance between disk space and convenience (could I live without having vim installed, that sort of thing).

I then roughly followed the network booting instructions to get my PC to network boot with my new disk image.

The main difference from the compact flash instructions was to set the final boot system as /dev/ram as the entire OS would run in RAM once it was booted.

The big mistake I managed to make was to set the root image to be so big that it wouldn’t boot (presumably as there was not enough free RAM) – the only symptom was that the OS hung at the point it said “RAMDISK: Compressed image found at block 0”.

It took me a while to figure out that it was too large.

I did some more trimming and ended up with a 274MB disk image that compressed to 78MB.

274MB might seem a lot but it had to include Java and all the libraries for music playback.

After all this faffing I finally had a machine that would boot from the network and run entirely in RAM.

It was worth it in the end.

Case built

A week ago my PC stuff arrived.

Here’s a summary of what has gone on in the meantime.

I built the case within the day. The heatsink and fan run very quiet indeed (almost inaudible at the lowest setting but still keeping the CPU around 48C).

The PSU fan is also nearly silent.

I also bought a blanking plate for the drive bay too that is silver although it only arrived today at work so I don’t know if it matches yet.

So, that was the good news.

The bad news is two-fold.

The LCD panel I bought doesn’t fit. 🙁

The only way to make it fit would be to cut the circuit board (that holds it in place) to the correct size.

I was unwilling to do this, partly as it might end up looking crap (I’m not the best at that sort of work) and partly as I didn’t want to start hacking away at something brand new.

So, after a few days of umming and ahhing I bought the recommended green VFD panel instead.

It doesn’t look as good and is smaller too so I wasn’t the happiest about that.

The other bit of bad news was that my wireless network card doesn’t support network booting so I have put it on ebay and bought a device that turns any wired network device into a wireless device.

I can then use the onboard wired network card that does support network booting.

So, a few teething troubles but I’m still on track for a Christmas Day go-live.

The kit has arrived

My PC case has arrived!

Initial thoughts.

It’s quite tall considering it’s got only one front bay.

There is no cover for the front drive bay, although there is a pull-down flap, so it only looks bad if you open the flap. This is annoying, but I guess they expect you to put a CD-ROM drive in there. I won’t be so will need to get a nice looking cover from somewhere.

The heatsink and fan are huge. Hope they fit.

And the entire thing is freezing cold as it’s just come off the UPS van, so I think I’d best leave it to warm up for a while as it’s condensation city at the moment.

I have already created a stripped down Slackware install to put onto it.

For now I will boot it off a USB memory stick as network booting looks like a configuration nightmare.

The OS it boots from will run in RAM and be read only.

To speed things up today I will stick a spare hard disk in it.

Once I’m happy it all works I’ll dump the install to the usb stick and boot from there.

Wiphi photos

Some photos of the Wiphi LCD panel.

I don’t have a box for it yet so there is nothing else to see really.

The main title screen

A track playing

Changing the volume

The menu system – browsing a playlist

The volume bar disappears five seconds after the volume button on the remote is released.

The menu bar disappears after ten seconds of inactivity.

Multi-threaded innit.