NSLU2-Linux
view · edit · print · history

Dedicated MPD Jukebox Server

The following is a guide (currently under construction) that will detail how to convert your Linksys NSLU2 to a dedicated MPD (Music Playing Daemon) jukebox, with web interface, infrared remote control support, LCD display support and configuration via DHCP.

This guide is currently "work in progress" as I have just finished setting up my NSLU2 (Christmas 2007 Gift) with MPD, LIRC and LCDProc support.

This guide will allow the enabling/disabling of optional interfaces (Web, LIRC, LCD) via DHCP "Option" parameters, which are configured on a DHCP server. The intended result is a standalone MPD jukebox that configures itself based on DHCP configuration.

Any configuration files, documentation and other dependencies can be found here: http://code.google.com/p/nslu2-jukebox/

If you have any ideas, recommendations, improvements or comments, please leave them here: http://groups.google.co.uk/group/nslu2-jukebox/

I am currently collating my sources, with the intention of clearing my NSLU2 back to a fresh Debian install, but this will have to wait until after New Years Eve, as it is my new Music Jukebox, which is very handy for parties.

In the mean time, here is some Linux (Bash) code that I've produced to analyse the DHCP lease file to determine DHCP "Option" parameters passed from the server. The following code will basically become a Debian "/etc/init.d" startup script that will automatically start optional services as per DHCP configuration. The finished project will use this script to enable optional services. The standard "/etc/init.d" startup scripts for the additional services will need to be removed from startup, so this script can manage the process.

I'm sure there are Bash experts that can improve/refactor the following. Please feel free to do this, and update this page accordingly.

#!/bin/bash

#file_input=/var/lib/dhcp3/dhclient.eth0.leases
file_input=/home/dhclient.eth0.leases

file_length=`wc -l $file_input | cut -d " " -f 1`
last_lease_pos=`cat $file_input | grep -n "lease {" | cut -d ":" -f 1 | sort -r | head -n 1`
tail_length=$(($file_length - $last_lease_pos+1))
lease_services=`tail -n $tail_length $file_input | grep "disabled-services" | cut -d " " -f 5-99`

echo "Lease Services: $lease_services"

if echo "$lease_services" | grep -q "web"
then
  echo "Not starting Lighttpd (Web) interface"
else
  echo "Starting Lighttpd (Web) interface"
fi

if echo "$lease_services" | grep -q "lirc"
then
  echo "Not starting LIRC (IR) interface"
else
  echo "Starting LIRC (IR) interface"
fi
view · edit · print · history · Last edited by BrianZhou.
Based on work by Onxdplda, Dpgwnlas, mwester, Zoeitdon, Dxfrayow, BrianZhou, Ivgoznvl, Oxfepoii, Owpbflxp, Cujcxmzs, Kitdtevb, Zyitwhar, Jsvwwvop, Thomas Reitmayr, Medddcvq, Qoyicyxx, Ntuhyztu, Bvgztdow, Jwweolwy, mona, john, Zbklebvk, Cwfsuhiw, kris, adult, Gygkfagr, Dipcgzru, bob, Vvdvasos, Cykcxefx, pembo, Kkwswsig, Nijeakfv, Wwhtgxds, Duqbxnmo, Etyxfugj, Lcsmaefp, Iqesftky, Twdlwdvv, Tnzabapy, Loscdyyc, arni, bred, jenna, lola, liza, ByronT, Ctxguppp, Njuxixml, Dltigbwm, Wkmkumik, Swzjbuuc, Ottcymef, Bevfjwtk, Ljomnuie, Htekdids, Dsqvmumh, Ajcpshgk, Qfgavqfd, Bkxmhktl, Uupgqart, Eoqxiiev, Moojdndv, Chpxvosv, Vgxfdsgz, Sdrkvifq, Vsbanrpo, Zpofunnb, Epqcayti, Sklwidsa, Ikjaziij, Wjksnowc, Hjpeduzi, Zbldblhp, Ngzpsrgl, Mkgnwfnl, Xgqayjsk, Cbpfwtqr, Ysejqtzf, Dyxpxzqz, Godcrcns, Chtbwudf, Trlucldr, Ljqmiiat, Mrvlmakh, Jifnmajx, Dqxovoze, Jnywyeue, Bwnlgpuz, Lzubzses, Ejbfxbrd, Khogmyyu, Prmvsxur, Qkbgfgrv, Anhmdzcf, Rfcvysvs, Kthidwaj, Hwpbdnfc, Pnnjiauy, Odnzbqku, Acwermop, Fqiawtvn, Nxyttoyy, Ksgujyrg, Zfdqdphc, Mcrxcniz, Beqmegbw, Lmvwvzbx, Pxxleste, Gvzmssxw, Ymsnphzv, Qqpiplns, Jwbpfzfd, Tbifgxew, Lygxcqno, Ywpnvoaf, Bbvswjrd, Pcpvmczu, Bsbtirkw, Tzfswflk, Qcnxhfcy, Skvmipdv, Ghgzkpzx, Pfhyqvjv, Lkfcojsx, Wtqvbtdx, Xknoumhk, Cxovyuat, Mrpncgsx, Qwharvmo, Javcjpmz, Iozvmzlc, Jdglcmah, Stoifsjf, Oruggovw, Kpjwyrjs, Eazouhww, Lbaumbuk, Wecrzcdf, Zpimqkee, Cjyarpgl, Lpnzymnf, Ccvxzjni, Owcbsrxl, Pcjpcoin, Ppvfymas, Bogtryke, Rzobefyl, Ompaemsx, Tbisfwgq, Mhyveumf, Gtoewnnj, Zogjhona, Cmrhmqmo, Qgapecgf, Mqdklsso, Wehejamk, Oslbsltu, Hshcvmvp, Azuhvjok, Uidjkzhp, Lrpbjinp, Uqqgqhjl, Lulumgrk, Blaqrxiq, Dkawhzej, Yemiqnox, Zapylfro, Izfjlnbl, Vdeuwxno, Aemmsrnn, hottie, Kvsbfqca, Atiaeldd, Gjeuvzmc, Saxtfwmy, Sxthhcnz, Sytjpfmk, Bpuextuo, Tbsenmua, Dnkrtxbo, sylvia, joseph, Vwgjcpqp, Pxffgffa, kate, james, Agvfqypp, Lxkgslbf, ben, xxxxxxx, Nghuzmes, Rwrlnfma, Rzivdimf, Xegykpxd, pussy, Jgyruqik, Fzylstbg, Sbfyumxj, Ylbkvuyl, Xtyieqze, Bpshlocs, mololetko, gogi, Nemxxfpt, piski, Zfmqifrr, Cjyvfpcg, Xrzyzagd, Ombaptqs, peter, pretty, Xjoljczc, lolka, Fncsgfgc, assssss, Jhsrnqht, Kcbevceb, ja, Wfvarkgy, pics, kitty, Wyfjpqum, Abelxwpf, Pqmbuwwt, Pifpsrrp, Sqdumreh, rtube, tube, Zvvfvzzm, Jfemrglr, Bepvbhyq, Ahlixvhs, jessy, Azmuwour, Msalyqff, Nmmlhtmt, Uzlaajig, Upwebgev, Esvhkcmg, Ppguawzl, Chseomce, Jfdjiiry, Rlplzqoj, Mbiivwkq, Dflmiltl, Nbbzagvd, Omxuyyhc, Txerftjs, Hqacblpv, Gsqendre, Tlkhjrau, Ufnhrwnn, Fdiuvitb, Ycdyndyv, Sytggiop, Mjbtsawp, Hoziiptr, Mvvuhzpx, Gczsyckr, Hrxpfefk, Bhvthmvj, Vbrtptcb, Mxgpwllm, Hgifniqd, Jooyhkas, Zfaatvvo, Ayezmfnr, Jsuyidcv, Svkdtjmr, Xwhvhpdd, Teodudmi, Bjtbwqbb, Wloaudaa, Wlzphszn, Icsfdxho, jinglemansweep, Srvxcdks, Jcrjrcuz, Putbkmqz, Gzykwyqx, Amcnimwg, Zjsgmzzu, Omjiagoe, Mwcsnelf, Kteiukym, Zmwgwxud, Msdreklt, Izhsdbzf, Qscsgiky, Xulvuvbh, Jiyvmjyh, Wpyrcobn, Nxlhiycb, Iuuzxqfw, Dtaichjf, Dswvkkuy, Raywfccy, Mmeeziza, Klfutvnk, Owzvbnhm, Pjnpirke, Hypnghqu, Janjdigh, Yarxoohz, Dvxwfodc, Rdystifc, Rqelthnw, Gcfroyvu, Kcldjnnm, Cnqanldf, Erqlkwab, Oueagqpl, Kvmqzuoz, Arvjqwql, Hrlqijgr, Cpifgokp, Symolvat, Syegzoiy, Otsrelxs, Vilcnuaz, Itjhopff, Afltriay, Bjcvbxxi, Uoygbcqo, Ynddcpwh, Bekicinb, Memosrdk, Wntenzff, Bdjaffqj, Wxfdzeng, Qpvjmvee, Ccuxnilm, Tfxqxdxk, Svsecajw, Hwjydsaw, Mrhjpvqf, Ntiacebq, Oxggcwhi, Elctwpwz, Eumgodsx, Ygyvetrz, Kbszeibt, Svsuormr, Kbkdykvk, Qmcdkroo, Jioovzwk, Advhssqd, Bgbdabfi, Gqvosdeq, Awxlvitw, Nacdlzyx, Mbeoowsi, Fcgdhbdh, Nerqhgiu, Chnbmzrs, Axnwxjzo, Mrlvnrln, Jkrmrksm, MK, Lsdoguaa, Ybnvqqbg, Snbpbtjt, Hzqlhnmy, Agowznrl, Fpyhhbuo, Rvwryllu, Jdssbajc, Ckkjttbs, Yjmzyiee, Sdrrpcir, Llwycxlp, Wsttwyki, Oonedxpm, Btgrxboi, Kbtnvqeg, Nqouoonm, Vloyoyzk, Uwknbhnb, Qzxoomjq, Klxcitfu, Ttmqzxrd, Npfhhaak, Blkrklfj, Aaculisn, Hpkslxaz, Euueeyzv, Itxiriya, Lkyjuqvo, Nphsmbpj, Edqllbkk, Wrztwkhd, Zmxpxwky, Oscrkjiy, Dtxiqcmm, Jojawqtf, Tyocatkf, Jtfbhqkm, Bqzkuzel, Lgjfiuov, Dddidbvy, Lubrgjtw, Mhevhizv, Ipoudear, Obdspyzw, Rjqigqzf, Uacnqoyy, Iorqphgo, Diprwhjk, Ijklljzh, Folkert van der Beek, Hemjkgcb, Dvkeddls, Filcrkvy, Dhjvbujh, Pogasvho, Tqnzeodu, Oqqgilfn, Dzbkvonk, Wmdtfjxb, Jxfeuvtu, Habsxrzp, Swuluyqr, Qbbfojgx, Jhdgrzrf, Xybkwfkz, Xhrrzgue, Zqofztah, Cmfxdugc, Gvtxuyov, Kcahdtwk, Qhcfgvlt, Vlohkkzd, Twdgrujr, Lvzmrhiy, Jcfzccyv, Uvpuxhxu, Xaitwrxz, Gndtukyt, Qslijlfq, Dnfgmfpy, Zjicabvu, Bfpgtjfs, Zlqhtydn, Whepjtha, red tube, pornotv, nude tube, Ehubvjgz, Xjiupvsn, redtube, uporn, Wbqaiglh, Uqjokdtt, Vfczisla, Zkkqyfly, Sqjfpfeb, Jkcgilyl, Kbijuarj, Mxbmccls, Tppabknp, Zlfzxytk, Lzwkdqoo, Abwcgdzo, dudetube, gaytube, hqtube, porntube, xtube, nudetube, sextube, pinktube, redporn, pornotube, youporno, webcamnow, easysexporn, porneskimo, newbienudes, Ipfvcngn, Gdrvqsvi, Upnsdirn, Yliyozhp, Znkxirsv, Cptcpsnk, Dqrqdtjt, Nvoqzfgl, Wrhoidpx, Clqtdqex, Yeosncpy, Dmoxtmvi, Jdzjuxxx, Gzatjdzg, Dolwrjlr, Tnkzmker, Kubofgaf, josef, fcarolo, and jingleman.
Originally by jingleman.
Page last modified on May 25, 2008, at 10:56 PM