Turn a WRT350Nv2 into a Squeezeslave (networked audio)

Brought a WRT350N v2 from the flea markets last week ($20), installed OpenWRT 10.03.1 using the WinXP firmware upgrade utility. After that installed I then installed some additional packages (full list).

So at this point I was able to insert a cheap USB sound card in the rear and it would detect it. I was able to change the volume using alsamixer for testing.

Now for the frustrating part, cross compiling squeezeslave to execute it on the WRT350Nv2. I tried a few precompiled binaries, but they were no good. The basic steps I took were:

  • Download OpenWRT SDK.
  • Make sure you’ve gotten the required packages installed in your host machine, check here as a reference.
  • Download additional packages for the router using opkg or the web-interface, this will allow the use of the USB port and install alsa for sound control.
  • Download and extract squeezeslave source into the SDK packages directory (I chose packages because I was going to compile it as a IPKG package).
  • Use this Makefile.txt (the PATHs and others need editing if you want to use it).

If you have a use for it you can download the final cross-compiled binary here: squeezeslave. As a general list of dependencies for the router I have included a list of all packages installed and their version: OpenWRT_Packages

Once it’s all setup you just need to add squeezeslave to the startup scripts:

  • In the OpenWRT web interface, goto SYSTEM -> STARTUP scroll down to local startup and paste your details there:

“/usr/bin/squeezeslave -o3 -R -m00:00:00:00:00:07 -Msqueezeslave_WRT350N.log”

Listened to Comedy 104 channel for over 3hrs – very funny and it performed perfectly. The USB sound card I’m now using is a Topping TP30 which I has an inbuilt amp.

Issues while cross-compiling Squeezeslave:

  • Some of the support source files downloaded were different versions than the make file expected. Manually exctract the files to the directory that the script is looking for.
  • The Flac source files were painful, I forget the exact error I got, but it had to be compiled manually, and then I commented out the section in the Makefile. The attached Makefile still has this edit, remove it if your going to use it.

I know that cross-compiling can have issues, just read the error logs and persist 🙂 This whole experience has made me re-think my base OS for this project. I quite like openwrt as an embedded OS.


One thought on “Turn a WRT350Nv2 into a Squeezeslave (networked audio)

  1. Pingback: HP T5500 series Squeezeslave V2 | modlog.net

Leave a Reply

Your email address will not be published. Required fields are marked *