====== 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.