This shows you the differences between two versions of the page.
— |
hw:nslu2 [d-m-Y H:i] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== NSLU2 ====== | ||
+ | I have two [[http://www.google.com/search?q=Linksys+NSLU2|Linksys NSLU2]] //Network Storage Link USB2// devices, one of which I've modified so far to use the [[http://www.nslu2-linux.org/wiki/HowTo/AddASerialPort|internal serial port]] and [[http://www.nslu2-linux.org/wiki/HowTo/OverClockTheSlug|de-underclocked]] to run at 266MHz. | ||
+ | |||
+ | I'm using the [[http://www.nslu2-linux.org/wiki/OpenSlug/HomePage|OpenSlug]] firmware, which is a clean install of a bare-bones linux system on the slug. No part of the original Linksys code remains except for the bootloader. | ||
+ | |||
+ | ===== Peripherals ===== | ||
+ | |||
+ | ==== External disks ==== | ||
+ | |||
+ | I've tried a 512Mb [[http://www.xd-picture.com/|xD]] card in a [[http://www.google.com/search?q=%22DPC-UD-1%22|FujiFilm xD-to-USB]] adapter, which works well. | ||
+ | |||
+ | For development, I'm running the operating system on an external 10Gb USB2 laptop hard disk. The slug can't power the disk itself, so I have a splitter cable from the 5V power source going to both devices. | ||
+ | |||
+ | ==== USB-Audio ==== | ||
+ | |||
+ | [[Yoga-AD-100]] USB Audio adapter | ||
+ | |||
+ | |||
+ | |||
+ | ===== Native build environment ===== | ||
+ | |||
+ | ==== Setup ==== | ||
+ | |||
+ | [[http://www.nslu2-linux.org/wiki/HowTo/OpenSlugNativeCompileEnvironment]] | ||
+ | |||
+ | ==== aclocal ==== | ||
+ | |||
+ | Adding all the perl modules for aclocal was a very long process of running make, having it fail due to a missing Perl module, installing the module, and re-running make. | ||
+ | |||
+ | For the curious, the packages are: | ||
+ | perl-module-warnings perl-module-carp perl-module-exporter perl-module-data-dumper perl-module-armeb-linux-xsloader perl-module-bytes perl-module-overload perl-module-warnings-register perl-module-strict perl-module-vars perl-module-file-basename perl-module-constant perl-module-exporter-heavy perl-module-file-stat perl-module-class-struct perl-module-armeb-linux-io-file perl-module-symbol perl-module-selectsaver perl-module-armeb-linux-io-seekable perl-module-armeb-linux-io-handle perl-module-fcntl perl-module-file-spec perl-module-file-spec-unix perl-module-file-compare perl-module-file-copy perl-module-armeb-linux-config perl-module-posix perl-module-autoloader perl-module-file-glob perl-module-getopt-long perl-module-armeb-linux-errno perl-module-dynaloader perl-module-text-parsewords perl-module-re | ||
+ | |||
+ | ===== MP3 jukebox ===== | ||
+ | |||
+ | The first thing I wanted to try was to use the slug as an MP3 playback device. There's not yet any MP3 players in the standard OE feed, so I downloaded a couple. | ||
+ | |||
+ | The first one I tried was [[http://www.geocities.com/matsp888/unix/index.html|XiMP3]]. It had the advantage that it was small, simple and had no dependancies. It compiled and ran, but since it uses floating-point math it pegged the CPU at 100% and still couldn't decode in real time. For every six seconds of sound there is four seconds of silence as the output buffers are being filled. | ||
+ | |||
+ | The second was [[MAD]]. It is a little more complex, consisting of libmad for MPEG decoding, libid3tag, and a player application, madplay. The advantage it has over all the other decoders I saw is that it uses integer math, and does it with hand-coded ARM assembler. | ||
+ | |||
+ | Again, the build was fairly painless, though sed took a long time to manipulate some files, and aclocal(a perl script) needs **lots** of perl modules installed. | ||
+ | |||
+ | Though madplay works well, I wanted a player demon. libmad makes writing one easy, so fortunately someone has already done it. [[mpd]] is a music player demon with playlist support, and is controlled through a network socket. |