I am thinking of buying the ZyXEL NSA325 v2 NAS. One of my primary requirements is to use it to run the Squeezebox server. I'd be very interested to hear from anyone who has tried this. Comments on smoothness of operation; ease of installing Squeezebox server (and version used) would be particulalry appreciated. Many thanks.
Results 1 to 10 of 35
Thread: ZyXEL NSA325 v2 NAS and LMS
-
2014-11-27, 04:51 #1
- Join Date
- Jun 2007
- Location
- United Kingdom
- Posts
- 22
ZyXEL NSA325 v2 NAS and LMS
-
2014-11-27, 14:41 #2
Been running a NSA310 for a good few years now, and it hasn't missed a beat!
I suspect that all the Zyxel NAS drives will be on the same level of LMS as mine (why would Zyxel create work for themselves?) so it will be 7.7.1, and yes it is easy to get working, as it's supported from the Zyxel website.
The "heavy lifting" aspects of LMS do not work, so no transcoding or resampling on the fly. Alac files do not play, nor do Ape, Musepack or Wavpack.
Server administration is best performed from a web browser, not the admin app.Chris :)
-
2014-11-28, 00:07 #3
- Join Date
- Jun 2007
- Location
- United Kingdom
- Posts
- 22
-
2014-11-28, 06:15 #4
- Join Date
- Oct 2010
- Location
- UK
- Posts
- 307
I've very recently obtained a NSA325 v2, mainly for running LMS. I'm very pleased with it. Mine is fitted with a single WD RED 2GB disk.
Pluses:
- Good spec for an ARM NAS: 1.6GHz processor and 512M ram, making it very good value for money.
- Very low power for a server left on 24/7. Only 10W (measured) while playing music, and 6.5W after the disk spins down when there is nothing playing.
- Neat single box solution - no mess of cables and multiple boxes and power supplies. The variable speed fan is pretty quiet too.
- Nice for Linux DIY, using an FFP USB stick.
Minuses:
- Official ZyXEL LMS package is a little dated at 7.7.1, and has transcoding disabled. It works fine, but will probably never be updated.
A little background on the LMS support: I wanted something I could support in the long term by myself, without relying on official LMS support from the NAS vendor or relying on others in the community to maintain a 3rd party package such SSODS. So I've done the DIY thing to get 7.8.1 and 7.9 running on the NSA325 v2.
I've used an FFP USB stick (zyxel.nas-central.org/wiki/FFP-stick) to build CPAN libraries for LMS that are compatible with the Linux kernel that runs on the NAS. LMS 7.9.1 nightlies are running fine. This process is quite straightforward, if you aren't afraid of the linux command line.
One of the nice things about using FFP is that there is no meddling with the ZyXEL firmware or installing anything on the disks - you can simply remove the USB stick and the NAS is back to stock. I've got LMS installed entirely on the USB stick - it could be cloned and plugged into any NSA325 and just work...
I rate the performance of this NAS as excellent. While playing flacs the processor is idling at 1% load with LMS using only 15% of the memory. Transcoding is also absolutely fine - playing iTunes aac files on a duet receiver the processor load is around 20%, and the NAS will handle simultaneous transcoding of 4 different aac streams to 4 different players without missing a beat.
A full scan of my 10000 flac track library takes about 10 minutes. For comparison, the same scan on a 6 year old but decent spec win7 desktop PC takes about 5 minutes with the library on its local disk, or 14 minutes with the music on the NSA325 connected by Gigabit ethernet (and it is a fast NAS - 50MB/s). I imagine that those with 100K+ track libraries would find this NAS a bit slow for scanning compared to an X86 PC/server, but for my size of library it is absolutely fine. Ignore the naysayers that say an ARM based NAS isn't up to the job!
-
2014-11-29, 00:37 #5
- Join Date
- Jun 2007
- Location
- United Kingdom
- Posts
- 22
-
2014-12-29, 08:28 #6
- Join Date
- Nov 2005
- Posts
- 67
-
2014-12-29, 12:35 #7
- Join Date
- Oct 2010
- Location
- UK
- Posts
- 307
LMS 7.9 on ZyXEL NSA325 v2
I wrote some notes a while back to remind myself what I did to install LMS 7.9 on the NSA325 - I've distilled them here.
[Edit: Instructions and attachments updated on 13 Feb 2017]
First of all you need to set up an FFP stick. Start with a FAT32 formatted USB stick of 4GB or more. I've used a SanDisk-Ultra-Speed-Flash-SDCZ43-016G-G46, which is fast and very tiny. I'll repeat the pertinent parts of instructions from here: http://zyxel.nas-central.org/wiki/FFP-stick.
Download FFPStick-2013-11-24.zip from http://downloads.zyxel.nas-central.o...elf/FFP-Stick/. If you are adventurous there is a more up-to-date version to try in the beta directory there. Extract the contents of the zip file onto the USB stick, and rename nsa310_check_file_C0.libzy.so to nsa310_check_file_C0, replacing the original nsa310_check_file_C0. Then plug the stick into one of the ports on the NSA (not the front USB3 port on the NSA325, that doesn't work), make sure telnet is disabled in the ZyXel web config (you don't want two telnet daemons), and reboot the NSA box.
This will repartion the USB stick to add an ext3 partition, download the ffp stuff onto it and reboot with ffp up and running with a telnet daemon active. It takes a few minutes. You should then be able to telnet in (using putty or similar). Note that the two USB stick partitions will have become visible via the NAS network file access - if you are having problems getting telnet have a look at the log file on the FAT partition to see if anything went wrong. Once you are in via telnet, the first step is to enable ssh and disable telnet (which is pretty insecure):
Code:chmod a+x /ffp/start/sshd.sh /ffp/start/sshd.sh start
Code:/ffp/start/telnetd.sh stop chmod a-x /ffp/start/telnetd.sh
Code:slacker -U
Code:slacker -i
Code:mz:3rd-party/SnakeByte/autoconf-2.68-arm-01.txz mz:3rd-party/SnakeByte/automake-1.11.4-arm-01.txz mz:3rd-party/SnakeByte/lame-3.99.5-arm-01.txz mz:3rd-party/SnakeByte/yasm-1.2.0-arm-01.txz mz:kernel_headers-2.6.31.8-arm-1.txz mz:libgd-20130314-arm-1.txz s:binutils-2.22-arm-1.txz s:cmake-2.8.4-arm-1.txz s:diffutils-3.2-arm-1.txz s:gcc-4.5_20111110-arm-1.txz s:git-1.7.8.4-arm-1.txz s:make-3.81-arm-1.txz s:mpfr-3.1.0-arm-1.txz s:patch-2.6.1-arm-1.txz s:perl-modules-5.14.2-arm-1.txz s:uClibc-0.9.33_git-arm-1.txz s:which-2.20-arm-1.txz
Code:ldconfig
Code:mkdir /ffp/funpkg/build mkdir /ffp/funpkg/build/lms-7.9 cd /ffp/funpkg/build/lms-7.9
Code:git clone git://github.com/Logitech/slimserver-vendor.git cd slimserver-vendor git checkout public/7.9
Now change to the build directory:
Code:cd CPAN
Code:cp /mnt/HD_a2/public/lms-ffp-stuff/build-ffp.patch . cp buildme.sh build-ffp.sh patch -p0 < build-ffp.patch
Now we can do the build. For convenience, I use 'script' here to get a full log of all output in build-ffp.log (finished by the exit).
Code:script build-ffp.log ./build-ffp.sh exit
Our next step is to get LMS itself. First we need somewhere to put it. I've chosen (arbitrarily) to put this under /ffp/lib/lms, separating the cache, prefs and logs directories from the distribution:
Code:mkdir /ffp/lib/lms mkdir /ffp/lib/lms/cache mkdir /ffp/lib/lms/prefs mkdir /ffp/lib/lms/logs chown -R nobody:nobody /ffp/lib/lms cd /ffp/lib/lms
Code:wget http://downloads.slimdevices.com/nightly/7.9/sc/eec2100/logitechmediaserver-7.9.0-1417798448-arm-linux.tgz
Code:tar xvf logitechmediaserver-7.9.0-1417798448-arm-linux.tgz rm lms-current ln -s logitechmediaserver-7.9.0-1417798448-arm-linux lms-current cd lms-current rm -r CPAN/arch cp -r /ffp/funpkg/build/lms-7.9/slimserver-vendor/CPAN/build/arch CPAN
Code:cp /ffp/funpkg/build/lms-7.9/slimserver-vendor/CPAN/build/5.14/lib/perl5/arm-linux-thread-multi-64int/Image/Scale.pm CPAN/Image/
Code:chown -R nobody:nobody /ffp/lib/lms
Code:cd /ffp/start cp /mnt/HD_a2/public/lms-ffp-stuff/lms.txt ./lms.sh chmod a+x lms.sh
Code:/ffp/start/lms.sh start
Code:/ffp/start/lms.sh stop
To update to the latest nightly, stop LMS, cd /ffp/lib/lms and run all the steps above again from wget.... to chown... The new version will be symbolically linked from /ffp/lib/lms/lms-current, keeping the old versions in case you want to revert...
[Edit 24 Feb 2017:]
See Post#35 for instructions on how to add HTTPS/SSL support to this.Last edited by utgg; 2017-02-24 at 02:45. Reason: Update attachments and instructions
-
2015-02-16, 01:09 #8
- Join Date
- Nov 2007
- Posts
- 410
Just wanted to say thank you Utgg for the brilliant install guide.
I've been meaning to try installing LMS on my NSA325 for a good while but wasn't too sure about all the steps. Your instructions are very complete and easy to follow and I now have the latest 7.9 nightly running smoothly. It would have taken me an age to sort it all out myself.
One extra thing I've done is to install ffmpeg so that the recent changes to BBC iPlayer Live streams will play. I did this with:
Code:slacker -UaA br2:ffmpeg2/
Thanks again.
-
2015-02-16, 04:10 #9
- Join Date
- Oct 2010
- Location
- UK
- Posts
- 307
Yes, I too was able to get the BBC HLS streams going as soon as bpa gave us the info on how to use ffmpeg to transcode. Such is the advantage of having a reasonably standard linux system to play with. It seems that the ffp people are also up to date on their ffmpeg package builds as well, avoiding all the hoops those on Raspberry Pis and the like have been jumping through...
-
2015-03-09, 07:56 #10
- Join Date
- Mar 2015
- Posts
- 3
Problem during install - patch outdated?
Hi utgg,
First of all, a big thanks for the step-by-step walkthrough you've listed here. It's great!
However, a small update might be required, and I suspect it's related to the patch that's no longer 100% correct. I've followed your manual and something goes wrong during the build. At the end of the process, no 'arch' folder was created. The log gives me the following error message:
Code:chmod 755 blib/arch/auto/Linux/Inotify2/Inotify2.so cp Inotify2.bs blib/arch/auto/Linux/Inotify2/Inotify2.bs chmod 644 blib/arch/auto/Linux/Inotify2/Inotify2.bs PERL_DL_NONLAZY=1 /e-data/4aafd256-5c29-47a7-bcb6-c979032c119b/ffproot/ffp/bin/perl5.14.2 "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00_load.t ..... t/00_load.t ..... 1/1 t/00_load.t ..... ok t/01_inotify.t .. t/01_inotify.t .. 1/5 # Failed test 'watch created for directory 26499' # at t/01_inotify.t line 11. Can't call method "cancel" on an undefined value at t/01_inotify.t line 27. # Looks like you planned 5 tests but ran 4. # Looks like you failed 1 test of 4 run. # Looks like your test exited with 11 just after 4. t/01_inotify.t .. Dubious, test returned 11 (wstat 2816, 0xb00) Failed 2/5 subtests Test Summary Report ------------------- t/01_inotify.t (Wstat: 2816 Tests: 4 Failed: 1) Failed test: 2 Non-zero exit status: 11 Parse errors: Bad plan. You planned 5 tests but ran 4. Files=2, Tests=5, 1 wallclock secs ( 0.23 usr 0.01 sys + 0.42 cusr 0.03 csys = 0.69 CPU) Result: FAIL Failed 1/2 test programs. 1/5 subtests failed. make: *** [test_dynamic] Error 11 make test failed, aborting root@NSA325-v2:/ffp/funpkg/build/lms-7.9/slimserver-vendor/CPAN# exit exit Script done on Mon Mar 9 08:38:29 2015
Thank you very much in advance!
Best,
KoenLast edited by feixar; 2015-03-09 at 08:19.