Back to index

Wireless audio mp3 jukebox

Sheevaplug with USB Audio speakers and USB WLAN

Combining the Sheevaplug with a USB WLAN card and a pair of USB speakers results in a DIY Squeezebox setup.

I used a pair of Logitech Z-5 USB Stereo Speakers which shows up in lsusb as Bus 001 Device 005: ID 046d:0a13 Logitech, Inc. and in ALSA as Logitech Logitech Z-5 Speakers at usb-orion-ehci.0-1.2, full speed

Configuring the Logitech Z-5 USB Stereo Speakers for Linux ALSA

Install the ALSA utilities and run alsaconf: apt-get install alsa-tools alsa-utils alsa-oss
alsaconf
cat /dev/sndstat
alsamixer
If the device is detected but you get mixer errors, try unplugging and replugging the speaker USB cable, or try a different USB port. I'm currently having some issues where the speakers need to be unplugged and replugged after a reboot for proper operation. The USB speakers are probably pushing the limits of how much power the Sheevaplug (and the USB hub in the middle) can deliver, especially when the USB WLAN adapter is also present. It's possible that sticking with wired ethernet and running the speakers directly from the main USB port on the Sheevaplug will result in improved stability.

Setting up MPD, the Music Player Daemon

If you have a samba share containing your audio files, consider mounting that: apt-get install smbfs
/sbin/mount.cifs //theserver/theshare /import/themountpoint -o guest,sec=none,iocharset=iso8859-1
You may also consider putting the last line in a "@reboot" crontab to automatically mount on boot.

Install mpd on the plug and build the database: apt-get install mpd mpc mpdscribble
cd /var/lib/mpd/music
ln -s /import/themountpoint theshare-alias
mpc update
(mpdscribble is of course optional; it lets you scrobble your plays to last.fm). Building the database may take a long time (hours), check status with mpc stats and get a hint of progress with lsof | grep mpd.

Setting up a mobile web frontend for MPD

Set up a web frontend using Lighttpd, PHP and one (or several) of the many web clients available here and here. apt-get install lighttpd php5-cgi php5-cli php5-gd php5-imap
lighty-enable-mod # (choose to enable fastcgi)

I've installed NeoMPC, MPDPlayer, ipodmp, mpdmote and orangeplayer. Typically you just unzip those inside /var/www

The idea is to use a mobile web browser device (for example your phone) to manage playlists, browse and search, and control mpd in general. You may want to ensure your sheevaplug gets a static IP; if you run your own DHCP (and optionally DNS) server for your LAN configuring this should be easy. For ISC DHCPd v3, assuming a DNS record for "entropy-wlan.e" is present, the syntax is: host entropy-wlan {
hardware ethernet 00:00:DE:AD:BE:EF;
fixed-address entropy-wlan.e;
}

Making the Logitech Z-5 Infrared Remote Control work in Linux

See separate page

Reading mail with flite/festival speech synthesis

See separate page