Playing Real Audio and Windows Media on a LinkSys WML11B device. 9-3-2004 Updated: 12-30-2005 (added win32 support) Updated: 02-23-2007 (better win32 support, OS X support, documentation changes, updated arguments to mplayer, etc.) Updated: 02-24-2007 (supports uploading favorites to WMLS11B device) Updated: 03-18-2007 (fixed installation issues with Windows XP) Updated: 06-02-2007 (added support for .smil) Updated: 09-26-2008 (Modified firmware to support IMPORTANT! - You must update your LinkSys WML11B firmware to 1.07 or later in order for this to work. It does not work under firmware 1.06. Introduction ------------ This application provides a way to play Real Audio and Windows Media Streams on a LinkSys WML11B wireless music system. It probably can be adapted to work on other media devices that only play MP3 streams as well. Below are instructions for both Windows and Linux Installation (Linux or OS X) ---------------------------- 1) Download Java and install: http://java.sun.com/j2se/1.4.2/download.html (Not necessary for OS X) 2) Download lame and install: http://lame.sourceforge.net/download/download.html and install. To install from source: > cvs -d:pserver:anonymous@lame.cvs.sourceforge.net:/cvsroot/lame login [hit enter, no password necessary] > cvs -z3 -d:pserver:anonymous@lame.cvs.sourceforge.net:/cvsroot/lame co -P lame > ./configure > make > make install (as root) 3) Download mplayer and install: http://www.mplayerhq.hu/homepage/design7/dload.html To install from source: > svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer > cd mplayer > ./configure --disable-mp3lib > make > make install (as root) 4) Download MP3Server-1.5.zip http://home.comcast.net/~cgokey/java/mp3/MP3Server-1.5.zip 5) Unpack this software in your home directory. > cd ~ > jar -xvf MP3Server-1.5.zip > cd MP3Server/bin Edit config.inf and set the following variables: a) MKFIFO: path where mkfifo lives (e.g., /usr/bin/mkfifo) b) LAME: path where lame lives (e.g. /usr/local/bin/lame) c) MPLAYER: path where mplayer lives (e.g., /usr/local/bin/mplayer) d) wmls11b.ipaddress: IP address of your WMLS11B music system To determine this: e) Go to "Network Status" in your WMLS11B Music System and scroll down to IP Address - this is the value your want to enter here (e.g., it may be something like 192.168.2.107, but probably not... This number is assigned by your wireless router typically) Note: if you have more than 1 WMLS11B music system, you should include all IP addresses each separated by a space (e.g., wmls11b.ipaddress=192.168.2.106 192.168.2.107). In a later step, these IP addresses will be used to tell the software which machines to write your write stations to.) f) wmls11b.username: Username to the WMLS11B music system g) wmls11b.password: Password to the WMLS11B music system h) media.server.ipaddress: IP address of your local system used to serve out MP3 streams. To determine this: At the terminal console type: (as root) sh-3.00# ifconfig -a At the very top of the half page of information returned under eth0 the first two lines will similar but perhaps not exactly as this: eth0 Link encap:Ethernet HWaddr 00:03:6D:15:21:DF inet addr:192.168.2.100 Bcast:255.255.255.255 Mask:255.255.255.0 Thus the value you want ot enter here is 192.168.2.100. 6) Edit favorites.txt and assign a station name (e.g., call letters) with a URL pointing to the real audio or windows media stream. e.g., BBC_UK=http://www.bbc.co.uk/worldservice/ram/live_news.ram 7) chmod +x start_server.sh (To make it executable) ./start_server.sh --load-favorites (Note: the --load-favorites will ERASE all existing Favorites you have stored and rewrite your Music Server with the favorites listed in favorites.txt) To stop the server, use Ctrl-C... The next time you start the server, you don't have to use --load-favorites unless you updated your favorites.txt file. IMPORTANT NOTE: The --load-favorites option only works with WMLS11B 1.x firmwares. If you are using a 2.3.x firmware it will not work. You'll need to remove the --load-favorites parameter and launch it like so: ./start_server.sh And change your WML11B favorites manually. As an example of how to do this manually, consider if you had this line in your favorites.txt file: ERADIO=http://eradioportal.com/homefm.asx Then you'll need to go into the WMLS11B favorites section and add this entry: station name=ERADIO station url=http://:8000/ERADIO.mp3 (The media.server.ipaddress is the IP address of your local system used to serve out MP3 streams.) And you should be in business. 8) Test it ------- Go to your Favorites on your music system. You should see your Favorite stations loaded, select any of them to hear your tunes :) ==================================================================================== Installation (Windows) -------------------- 1) Download Java and install to c:\j2sdk1.4.2_10 http://java.sun.com/j2se/1.4.2/download.html [download the SDK] 2) Download MP3Server-1.5.zip and extract in c:\ http://home.comcast.net/~cgokey/java/mp3/MP3Server-1.5.zip (will create a c:\MP3Server directory) 3) Download mplayer and install into c:\ This is the offical download site... http://www.mplayerhq.hu/design7/dload.html As of 2/25/07, the link for mplayer is: http://www3.mplayerhq.hu/MPlayer/releases/win32/MPlayer-mingw32-1.0rc1.zip Download this and install to C:\ (will create a c:\mplayer directory) Download the all the codecs and install into c:\mplayer\codecs http://www1.mplayerhq.hu/MPlayer/releases/codecs/windows-all-20061022.zip (will create a c:\mplayer\codecs\windows-all-200610122 directory) Now move all codecs in c:\mplayer\codecs\windows-all-20061022\* to c:\mplayer\codecs. This is important otherwise mplayer won't work with real audio or windows media streams. e.g., Start->Run cmd.exe /C move c:\mplayer\codecs\windows-all-20061022\* c:\mplayer\codecs 4) Look in this folder c:\MP3Server\bin Edit config.inf and set the following variables: (You can also just copy c:\MP3Server\bin\config.inf.windows to c:\MP3Server\bin\config.inf) a) MKFIFO: path where mkfifo lives (use C:\\mp3server\\mkfifo) b) LAME: path where lame lives (use C:\\mp3server\lame) c) MPLAYER: path where mplayer lives (use C:\\mplayer\mplayer) d) wmls11b.ipaddress: IP address of your WMLS11B music system To determine this: Go to "Network Status" in your WMLS51B Music System and scroll down to IP Address - this is the value your want to enter here (e.g., it may be something like 192.168.2.107, but probably not... This number is assigned by your wireless router typically) Note: if you have more than 1 WMLS11B music system, you should include all IP addresses each separated by a space (e.g., wmls11b.ipaddress=192.168.2.106 192.168.2.107). In a later step, these IP addresses will be used to tell the software which machines to write your write stations to.) e) wmls11b.username: Username to the WMLS11B music system f) wmls11b.password: Password to the WMLS11B music system g) media.server.ipaddress: IP address of your local system used to serve out MP3 streams. To determine this: Start->Run ipconfig You should see some IP address (something like 192.168.2.100, although probably not this.) (You may also run this command from the DOS prompt) 5) Edit favorites.txt and assign a station name (e.g., call letters) with a URL pointing to the real audio or windows media stream. e.g., BBC_UK=http://www.bbc.co.uk/worldservice/ram/live_news.ram 6) Start->Run C:\MP3Server\bin\start_server.bat --load-favorites (Note: the --load-favorites will ERASE all existing Favorites you have stored and rewrite your Music Server with the favorites listed in favorites.txt) To stop the server, use Ctrl-C... The next time you start the server, you don't have to use --load-favorites unless you updated your favorites.txt file. Under Windows, this program unfortuantely leaves "dead processes" which needs to be cleaned up occasionally. As far as I can tell, they don't take up any CPU, but to remove them either reboot or run this script: Start->Run C:\MP3Server\win32\cleanup.bat IMPORTANT NOTE: The --load-favorites option only works with WMLS11B 1.x firmwares. If you are using a 2.3.x firmware it will not work. You'll need to remove the --load-favorites parameter and launch it like so: C:\MP3Server\bin\start_server.bat And change your WML11B favorites manually. As an example of how to do this manually, consider if you had this line in your favorites.txt file: ERADIO=http://eradioportal.com/homefm.asx Then you'll need to go into the WMLS11B favorites section and add this entry: station name=ERADIO station url=http://:8000/ERADIO.mp3 (The media.server.ipaddress is the IP address of your local system used to serve out MP3 streams.) And you should be in business. 7) Test it ------- Go to your Favorites on your music system. You should see your Favorite stations loaded, select any of them to hear your tunes :) DISCLAIMER: # IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY # FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES # ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY # DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # # THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE # IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE # NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR # MODIFICATIONS.