Posted by Kevin Hanson | Posted in Linux, Technology | Posted on 23-11-2009-05-2008
When was the last time you bought a CD? For me, it was back in college. I bought the Chris Brown CD, and it is still in my car CD player today. And no… i’m not addicted. Rather, my car’s stereo hasn’t been set to CD mode since then. I use my iPod through the auxiliary port input on the head unit. It can often times be difficult to get digital music anywhere besides a PC and an iPod, and many companies have stepped up to the plate to solve this solution. Getting music to play around the house is an issue. For a dorm room, you only need a single computer. For a household, you need multiple speakers in multiple rooms. Sonos, Logitech, Apple, and many others have been battling it out to come up with the perfect solution. After careful research, I decided to go with Logitech’s Squeezebox line of products. Like most “digital living room” products, you need a server of some sort to power it all. This is where things start to get expensive. So I set out to create a Squeezebox Server for under $100, and I was successful! Read on to find out how I did it.
Logitech’s Squeezebox Server software is open source. A side effect of this is that it’s available on a multitude of platforms: Windows, Mac, Linux, BSD – you’ve got it. Pick your flavor, and you’ll be good to go. The goal is to build a small, cheap, low power computer with one of those operating systems, load up squeezebox server, copy over my music, and then be ready to go with my new setup.
I looked at the hardware options for a squeezebox server, and I finally decided on an HP Thin Client. I came up with that decision based on this original, great article written over at SmallNetBuilder. I took a look on eBay, and I found the HP T5530. I was able to snag it for only $50 with free shipping! I then bought two flash drives. I bought a 2GB flash drive for the Operating System, Debian Linux, and I bought a 64GB flash drive for my music. Here are the specs of the T5530 thin client:
- VIA Eden 800mhz CPU
- 128mB RAM (with 16MB reserved for video, so actually 112MB usable)
- 64MB internal flash with Windows CE 5.0 installed
- Lots of USB 2.0 ports, including two internal “hidden” ports
And some pictures…
The computer was $50 with free shipping, and the two flash drives added up to around $45 after shipping. That brings us $5 below the $100 target. NICE! Thank you, eBay! Now I just need to get this sucker to work. I was slightly concerned that it wouldn’t be powerful enough for Squeezebox Server. We’ll see how the performance fared.
I plugged in a monitor and a USB keyboard to make sure it worked. Within a minute or so, I was at the familiar Windows CE home screen. That simply wouldn’t do – time to obliterate Windows and install Debian Linux. One of the major limitations of this system is the 64MB of flash as the hard drive. I needed a lot more space, and that’s what I bought the 2GB flash drive for. The HP thin client has these cool “internal” USB ports. You unscrew a panel, and there are a couple in there. I opened it up, and I popped the 2GB flash drive in. In another USB port, I had an external CD drive, and I had the Debian “netboot” installer on a CD in there. The netboot installer includes a VERY minimal amount of needed packages. Instead, it downloads packages as needed, allowing you to create a very small, minimal install. Considering how light the hardware is that I’m using, the smaller the install, the better.
The installation was a success. I was able to install and boot off the USB drive, where Debian was installed, and get the command line install. I used apt-get to install SSH and a few other packages. For those not familiar with apt-get, it’s the command line way to install software with Debian. It’s very easy. Just type one line like below:
And boom. SSH is installed. With SSH installed, I no longer needed to keep my monitor and keyboard plugged in. I plugged the device in next to my TiVo, connected the ethernet, and waited for it to boot up. Once booted up, I could SSH into the box from my MacBook Pro and continue work where I left off.
I had to install Squeezebox Server. On a Debian based system, the easiest way to install Squeezebox Server is to add it’s repository location to your sources.list file. This way you can use apt-get to install the software, just like I did with SSH. To do that, edit the
file. Add the following line to the top of it:
The type the following:
There will be a list of packages that need to be installed in addition to squeezebox server – make sure to type “y” for all of them, as they are needed by the squeezebox server software. Once it installs, time to test the software out and make sure it works! I rebooted the box for good measure, and once it was up, I typed in the browser windows of my MacBook Pro:
(10.0.1.18 represents whatever your squeezebox server computer’s IP address is)
Success! Squeezebox Server loaded up, and I was able to play around with the settings. I noticed that the Web UI was a bit sluggish, however. After doing some googling and investigation over at the Squeezebox Forums, I think I can attribute this performance issue to the lack of RAM on the thin client. With only 112MB of available RAM, it really is running on the low end of memory. That being said, it was time to load my music!
I formatted the 64GB flash drive with the FAT filesystem on my MacBook Pro, copied over my music, and stuck it into my thin client. I had to set the drive up to automount the music in /media/music/ . Once I did that, i logged back into the Web UI from my Macbook Pro and told Squeezebox Center that’s where my music was. I clicked the button to manually kick off a scan, and off it went.
I tested my Squeezebox Radio… SUCCESS! I was able to select my server as a music source, and all of my music was now available to be played on the device! So while the web user interface was, and still remains, sluggish, the actual playing of music on my Squeezebox device was seamless! So my mission was a success. If you’re curious about Squeezebox or other music server solutions, but you’re concerned about wasting a lot of money on the server, I really suggest trying it out with a thin client or similar computer. This has been a great success, and I look forward to building my next Squeezebox Server, for which I already have plans. I will write about them in a future post!
Thin Client Pros:
- Low Power
Thin Client Cons:
- Sluggish Web UI
NOTE: I’ve switched from the Thin Client to the Sheevaplug, one of the coolest pieces of technology I’ve played with in a while! Check out my article on getting it set up. Also, keep checking back for new posts. I’m going to make more about how to keep your server’s music in sync with your main computer.