====== iTunes Server ======
The DNS-323 is delivered with an iTunes Server included. This server is the open source [[http://www.mt-daapd.org/|mt-daapd]] server, version 0.2.4.This is the recommended stable release of mt-daapd which also supports iTunes 6.0.4.
After 0.2.4, mt-daapd evolved into [[http://fireflymediaserver.org/|FireFly]], self-titled to be //The best open-source media server for the Roku SoundBridge and iTunes//. FireFly is work-in-progress, but Roku has decided that one of the nighly builds are //good enough// for their customers and released [[http://www.rokulabs.com/support_sb_dwnld_firefly.php|version 1.0]].
In short, there is no FireFly version 1.0 from the developer, [[http://www.pedde.com/|Ron Pedde]] but Roku, the corporation, has decided to define one. See this [[http://forums.fireflymediaserver.org/viewtopic.php?t=5554|thread]] for information about this issue.
====== FireFly on the DNS-323 ======
There are, at least, three ways to get FireFly running on the DNS-323. Either through the [[chroot_debian|debian]] chroot or as a standalone application. Third one is just to use the Firefly v1.00 extension (dns323_Firefly_v1.00) package from Dlink (only available from Firmware Version 1.08 onwards). This package includes FireFly Server svn-1696 version and can be installed as ADD-ON directly from Web GUI. With this possibility from iTunes SERVER tab a link to FireFly Web Pages will be available without any other work.
===== FireFly in Debian Chroot =====
To get started, chroot into a debian Sarge system on the DNS-323 following this [[chroot_debian|howto]].
Next step is to install the files that [[http://fireflymediaserver.org/|FireFly]] depends upon.
apt-get install libsqlite0
apt-get install libsqlite0-dev
apt-get install libid3tag0-dev
Then, download and extract one of the [[http://nightlies.mt-daapd.org/|nightly]] releases, e.g. the [[http://nightlies.mt-daapd.org/dl.php?FILE=mt-daapd-svn-1498.tar.gz|SVN-1498]].
Next step is to compile it:
./configure
make
make install
Create a mt-daapd.conf, use example from ./contrib directory and place it in ''/usr/local/etc/''.
Additionaly, you need a few directories not present in the debian sarge distrobution:
mkdir /usr/local/etc
mkdir /usr/local/var
mkdir /usr/local/var/cache
mkdir /usr/local/var/cache/mt-daapd
Now you're ready to start your [[http://fireflymediaserver.org/|FireFly]] server. Issue the command ''mt-daapd'' and you're all set. Though, I recommend you to start it with '-f' the first time.
===== FireFly in Standalone Mode =====
First, set up your [[crosscompile]] toolchain and download {{:howto:build_firefly_pa1.tgz}}.
FIXME The file contains a bug and needs to be edited. On line 196, remove the ''exit'' command.
This file contains a script which downloads, patches, compiles and installs all files required by FireFly. It also includes a number of patch files required for this package to [[crosscompile]].
Extract the file in the GPL directory created while [[crosscompile|crosscompiling]] and execute the script ''./build_firefly''.
This should result in a file called dns323_mt-daapd-svn-1498.tar.gz which you transfer to /mnt/HD_a2 and extract using ''lnx_bin/busybox3 tar xvz -f dns323_mt-daapd-svn-1498.tar.gz''.
The files installed are updated versions of files already present on the DNS-323. In order to use this package you need to point out the directory for the shared libraries used.
In order to start [[http://fireflymediaserver.org/|FireFly]] execute the following, but first make sure that the iTunesServer is turned off.
export LD_LIBRARY_PATH=/mnt/HD_a2/lnx_bin/lib
/mnt/HD_a2/lnx_bin/mt-daapd -f -c /mnt/HD_a2/lnx_bin/mt-daapd.conf
Note that the argument ''-f'' starts the [[http://fireflymediaserver.org/|FireFly]]server in foreground. This in combination with debug mode ''-d 9'' is a great tool when starting FireFly for the first time as it shows you potential errors. Omit these flags to start a deamon instead.
When [[http://fireflymediaserver.org/|FireFly]] is up and running, access it from your browser on port ''3689'', e.g. ''http://192.168.0.200:3689''. The adminstors password is default set to ''mt-daapd''. This is easlily changed by modifying the ''mtdaapd.conf'' file.
===== Standalone - The Easy Way =====
**NOTE** = New version has been posted here:
[[http://files.hesse-n.com/ch3snas/|Firefly mt-daapd-svn-1735-1.tgz / CH3SNAS]]
.
**Method 1** Use WinRAR and FTP Access:
- Turn off original iTunesServer from D-Link from WEB GUI, **IMPORTANT**
- Download {{:download:dns_323_firefly_svn_mt-daapd-svn-1498_pa2.tar.gz}}
- For the version with FLAC support compiled in, download {{:download:dns323_mt-daapd-svn-1498-with-flac.tar.gz}}
- Use WinRAR to decompress all the files in the archive (Do **not**, I repeat, do **not** try to use Winzip to extract the contents of the tar file. If you do that, you will not be able to start FireFly.)
- Use an editor such as Notepad++ edit the entry on line 78 in mt-daapd.conf to point to your music files (i.e. if your music files are in a folder called Music, then change the entry to 'mp3_dir = /mnt/HD_a2/Music').
- Use FTP access to place the files in \\NAS\HDD_1 or \\NAS\Volume_1 (depends on FW version)
- Telnet into device and execute (note that each line is a separate command)
cd /mnt/HD_a2
export PATH=/mnt/HD_a2/lnx_bin:$PATH
export LD_LIBRARY_PATH=/mnt/HD_a2/lnx_bin/lib
/mnt/HD_a2/lnx_bin/mt-daapd -f -c /mnt/HD_a2/lnx_bin/mt-daapd.conf
**Method 2** Use TAR and Telnet on the DNS-323 (see bottom of this section for updated version):
- Turn off original iTunesServer from D-Link from WEB GUI, **IMPORTANT**
- Download {{:download:dns_323_firefly_svn_mt-daapd-svn-1498_pa2.tar.gz}}
- For the version with FLAC support compiled in, download {{:download:dns323_mt-daapd-svn-1498-with-flac.tar.gz}}
- Place the file in \\NAS\HDD_1 or \\NAS\Volume_1 (depends on FW version)
- Telnet to device and execute:
cd /mnt/HD_a2
lnx_bin/busybox3 tar xvz -f dns_323_firefly_svn_mt-daapd-svn-1498_pa2.tar.gz
export PATH=/mnt/HD_a2/lnx_bin:$PATH
export LD_LIBRARY_PATH=/mnt/HD_a2/lnx_bin/lib
/mnt/HD_a2/lnx_bin/mt-daapd -f -c /mnt/HD_a2/lnx_bin/mt-daapd.conf
You will see the output from the program as it runs, and need to press CTRL+C to stop it when you are done testing. When you've started the server, access it on port 3689 using your regular [[wp>Web_browser|browser]]: ''http://192.168.0.200:3689''. The admin password is defualt set to be ''mt-daapd''.
[Updated Version]
This version has fixed a lot of issues with crashing and not finding files (seems to maybe be with larger DB's only), but looks to also be a more current version of firefly. Installation instructions are included at the link.
http://files.hesse-n.com/ch3snas/
===== Standalone - fun_plug =====
The FireFly server can also be started using the [[fun_plug]]. Provided that you have already tested your setup, this [[fun_plug]] will do the trick:
#!/bin/sh
if [ -f /mnt/HD_a2/lnx_bin/mt-daapd ]
then
export PATH=/mnt/HD_a2/lnx_bin:$PATH
export LD_LIBRARY_PATH=/mnt/HD_a2/lnx_bin/lib
/mnt/HD_a2/lnx_bin/mt-daapd -c /mnt/HD_a2/lnx_bin/mt-daapd.conf
fi
A file that contains this code can be download here: {{:download:firefly_funplug_startup_script-0.1.tar.gz}}. See the [[fun_plug]] documentation on how to install a funplug script.