How To Make A Cheap WiFi Radio






In this episode, I will show you how to create a cheap WiFi radio for under $50.

Downloads
Firmware direct download – http://wiki.openwrt.org/toh/asus/wl520gu
Asus Restoration Utility – http://www.tinkernut.com/demos/253_wifi_radio/wl520.zip
Putty – http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
Ario MPD client – http://sourceforge.net/projects/ario-player/files/
GTK+ for Windows – http://gtk-win.sourceforge.net/home/index.php/en/Downloads

Parts Needed:
Asus WL-520GU – http://www.amazon.com/Asus-WL-520GU-ASUS-Wireless-Router/dp/B000R3BTDC
USB Sound – http://www.amazon.com/External-Channel-Sound-Adapter-Notebook/dp/B000N35A0Y

Links:
MPC Commands – http://linux.die.net/man/1/mpc
MPD Clients – http://mpd.wikia.com/wiki/Clients

Reference Sites:
OpenWRT – http://www.openwrt.org
MightyOhm – http://mightyohm.com

40 Responses


  • Elliott Olson // //

    Could this be controlled from a PSP through a web based (html) interface in the browser? I looked up PSP on that clients page but couldn’t find an actual download.

    • eibgrad // //

      I have a tip. When configuring the router as a client bridge (which is what happens in the first part of the video), I strongly suggest you also disable the router’s DHCP server. Having the DHCP server enabled won’t interfere w/ the router’s ability to provide internet radio services. But it will cause headaches for any wired clients on the switch using DHCP. Those wired clients will be misconfigured because the WL-520GU’s DHCP server doesn’t have the correct routing information. By disabling its DHCP server, any DHCP requests will be forwarded to your primary router’s DHCP server and thus configured properly. It’s a simple change to /etc/config/dhcp that can really save you a lot of headaches should you (as I do) use the router as a client bridge for other purposes from time to time.
      /etc/config/dhcp
      config ‘dhcp’ ‘lan’
      option ‘interface’ ‘lan’
      option ‘ignore’ ’1′

      Another tip. You don’t need to use the ASUS Firmware Restoration Utility. All that is is a GUI to a TFTP client. Many OSes already have a TFTP client installed (e.g., XP), or make it easily accessible (in Windows 7 you just need to enable it – see Control Panel->Programs->Programs and Features->Turn Windows features on or off, and search for TFTP client). I try to avoid installing additional software to my system if I can help it, esp. if I only need it for a one-time purpose.

      You need to focus on web clients generally (not necessarily one that mentions PSP specifically) and find one that uses frontend technologies that are known to be supported by your PSP’s web browser. For example, if the web-based client uses Flash, then obviously your PSP’s web browser must also support Flash. I have no idea if it does since I don’t own a PSP. But w/ all the clients listed, I imagine something there would work, perhaps based on Flash, Java, Javascript, etc. Again, it’s just a case of matching the technologies needed by the web-based client to those supported by your web browser, whatever the platform. It’s always a bit more of a challenge when dealing w/ a consumer device since these often use proprietary and/or stripped down web browsers, thus limiting their usefulness.

    • David Driggers // //

      I know for a fact that the PSP has its own radio player becouse i own a PSP. The best bet is to download radio player 1 or 2. These players are avalable for the PSP, but you are limeted to Shoutcast stations Or Icecast stations. I tried to play a local station but sadly it did not work.

  • Elliott Olson // //

    BTW, where are all those 38 comments? I can’t find a link to them.

  • Jorge Luis // //

    Hi,

    I’m from Portugal and willing to build this Wi-Fi Radio using ASUS WL-600G, instead of WL-520GU. Being OpenWRT compatible as well, do you know if it is suitable, or O should use really the 520GU?

    Thanks in advance.
    J. Luís

    • eibgrad // //

      I don’t see any reason the WL-600G wouldn’t work. The reason the WL-520GU is used in the project is simply because it was one of the earliest routers that supported OpenWRT and had USB ports (the W:-520GU is a relatively old router at this point). Since then we’ve seen the WL-500gP V2 and others w/ similar specs, and they should work as well. The only concern I might have is that the WL-600G is a dsl modem+router, not just a simple router. If it does support OpenWRT, then presumably you would lose the modem features (since they’re not typically part of the third party firmware). In general, standalone routers are preferred. But again, if it supports OpenWRT and you’re willing to lose the modem features and turn it into a client bridge, it should work.

  • David Glass // //

    Firmware direct download – http://jumpto.tinkernut.com/openwrt
    Asus Restoration Utility – http://jumpto.tinkernut.com/wl520

    Links do not work in Firefox 4.0

  • Takuto // //

    to Jorge Luis
    Any OpenWrt compatible router with USB will do.

  • pioj // //

    I’ve tried everything and still can’t connect to my other router (as a wireless bridge).. I can create another wireless connection only and that sucks.

    The thing is, I found Tomato RAF firmware great and I had bridge working perfectly, but I couldn’t install my usb audio device…

    Is there any way to get this working with Tomato? Or at least, Could you try to get the wireless part from Tomato firm working with the OpenWRT’ one?

  • Doc // //

    So, can i get it straight? What is the difference of using this and going to any internet website that permanently streams radio content over the internet? For both you do need a computer and a WiFi setup. Unless, of course, you want to go as far as the video guy went…

    • eibgrad // //

      Beyond setup purposes, you do need something as an interface to the internet radio, but that doesn’t have to be a PC/Mac. It could be a smartphone, basically anything that supports an MPC client. And obviously this could be controlled remotely. I imagine you could also configure the MIC and use it for eavesdropping purposes :). What makes it different from a PC/Mac is the ability to conveniently place it (and its speakers) anywhere you want. Do you really want to be lugging around your PC/Mac and speakers to gain access to internet radio on the back porch? Or living room home theater? Instead, plug the router into the home theater’s receiver and use your smart phone as a client.

    • pioj // //

      Doc, what I’m still (sigh) trying to get is a online jukebox for my dinning room. It has to share same wifi with my current router (so wifi bridge), which is located in another room of the house.

      The router would act as an audio player by an usb-audio card connected to the Asus520.

      So, yes, I’m going to go that far…

  • Ahmad // //

    can i use a Cisco router ?

  • eibgrad // //

    I have a tip. When configuring the router as a client bridge (which is what happens in the first part of the video), I strongly suggest you also disable the router’s DHCP server. Having the DHCP server enabled won’t interfere w/ the router’s ability to provide internet radio services. But it will cause headaches for any wired clients on the switch using DHCP. Those wired clients will be misconfigured because the WL-520GU’s DHCP server doesn’t have the correct routing information. By disabling its DHCP server, any DHCP requests will be forwarded to your primary router’s DHCP server and thus configured properly. It’s a simple change to /etc/config/dhcp that can really save you a lot of headaches should you (as I do) use the router as a client bridge for other purposes from time to time.

    /etc/config/dhcp
    config ‘dhcp’ ‘lan’
    option ‘interface’ ‘lan’
    option ‘ignore’ ‘1’

  • eibgrad // //

    Another tip. You don’t need to use the ASUS Firmware Restoration Utility. All that is is a GUI to a TFTP client. Many OSes already have a TFTP client installed (e.g., XP), or make it easily accessible (in Windows 7 you just need to enable it – see Control Panel->Programs->Programs and Features->Turn Windows features on or off, and search for TFTP client). I try to avoid installing additional software to my system if I can help it, esp. if I only need it for a one-time purpose.

  • nelicorn // //

    This video is great. Please do more Videos like this.

  • nick // //

    Can you explain why you want to operate in a bridge mode?

    I run into trouble when I set the config files as you describe. My router does not connect to my network and I am unable to ssh/telnet back in. I have to flash the firmware again to re-connect..

    • eibgrad // //

      We operate in bridge mode because we’re trying to construct an internet “appliance” here. It’s no different then if you went out and bought a internet radio from say Logitech (e.g., Squeezebox). These radios are wireless “clients”, and by placing the router in bridge mode, we’re creating a wireless client configuration for our music player. That said, I suppose there’s no reason you couldn’t configure the router by its default, an AP. But it’s just not very convenient if you’re trying to create an appliance you can plug anywhere around the home/office. An AP is something others connect TO, but we want a wireless client (bridge) that can connect to an existing AP, typically the one supporting our internet connection.

  • scales11 // //

    I see that both you and mightyohm left the
    “option network lan”
    line in the wireless config. I don’t understand why that is necessary or what you accomplish by leaving it. I am new to this level of wireless connection setup and having trouble getting mine to work.

    Any ideas?

  • Floris // //

    How can I add my own music to Ario?

  • pioj // //

    ok. I already got my desired wifi bridge configuration working at last. I also have installed and configured the usb audio device and mpd/mpc. Now, I want to have extra space for some files or more apps to install, so I’d plugged an 4GB usb memory stick.

    When I’m trying to mount the device (/dev/scsi/blablabla/lun0/part1) it tells me: FAILED. INVALID ARGUMENT.

    I think the problem is solved by installing a few more packages but I’ll need to change the repository back to the default one first..

    Let me know if anyone has done this, please.

  • lifera1n // //

    HELP!

    I have tried all the steps outlines in the video but they do not work! The firmware utility just says: No wireless device in recovery mode is found. PLEASE HELP!

  • Curryman // //

    Great description works on the first try.

    Only one question, a lot of web radio stations are streaming on URLs with extension .pls or .m3u.
    extension .mp3 works fine but .m3u and .pls not. That’s strange because especially .m3u is mp3 too.
    Could you give me a hint how I get .m3u streams working. Thanks

  • mrbiek // //

    Everytime i get to the reset command its just hangs. So far this is a no go for me. I wonder what i am doing wrong

  • Reuben Rajan George // //

    Hi I have a Huaweii E220 3G, HSPDA Modem.. and i want to use it to stream internet music. Could u tell me the steps i could use that to stream music

  • Brian MacLeod // //

    I’m trying to set up a user interface with an Arduino, don’t think it can SSH in so I’ll need to use TELNET, no being a unix guy I need help getting rid of the SSH and re-enabling TELNET. Hind site is 2020 and I shouldn’t have set a password and I could have just stayed with TELNET. So I assume some how I can just delete the passwd files and it will flip back, looking at the S50TELENT file. but need some help here. I would like to get rid of SSH (honeybear) altogether so I won’t have a problem in the future. Any takers on helping me out?? Thanks great web site!

  • yaz // //

    I was able to get this to work with my Asus. However I am now using an android tablet to stream music. I would like to revert this back to a regular router. Should I just use the ASUS restore utility?

    What is the correct way? I would ultimately like to get back to using DD-WRT or Tomato on this router.

    Thanks.

  • Flay // //

    Dear,

    Did you have the MPD compile with AAC? Could you send me? I´d like use for receive audio aac.

    Thanks.

  • rich // //

    Hi
    Can I use my old linksys BEFW1154 router for this project?
    If so, can you share the hacking details?
    thanks
    Rich

  • click the up coming internet site // //

    It is not my first time to pay a visit this site, i am visiting this web page dailly and
    obtain fastidious information from here all the time.

  • newSnowMan // //

    Gifu Englilsh Skiing Lessons
    Ultimate Ski Stunt Simulator 2

  • social // //

    Hi, I think your site might be having browser compatibility
    issues. When I look at your website in Safari, it looks fine but
    when opening in Internet Explorer, it has some overlapping.
    I just wanted to give you a quick heads up! Other then that, fantastic blog!

  • Mohamed // //

    thans alot for your projects i am a big fan and u support me
    i want to build this project and i’ll buy all this items from amazon or newegg but i am from egypt and it will take a long time to arrive so i wana be sure that i will build the project at the end ~!! so the 1st problem i have now is the link u put in here ” Firmware direct download – http://wiki.openwrt.org/toh/asus/wl520gu ” NO DOWNLOAD ON IT ANY MORE so if u can help me and send me the firmware it will be good but if not so plz if u got a new project if thes on end plz tell me
    thanks again and i am waiting ur advice thanks

  • Arby // //

    Help, oh great one 🙂

    1) I am getting this error:


    root@OpenWrt:/.mpd# root@OpenWrt:/# mpd
    problem opening log file "/root/.mpd/mpd.log" (config line 8) for writing
    root@OpenWrt:/# mpc
    /bin/ashMPD_HOST and/or MPD_PORT environment variables are not set

    2) Also, upon trying to run ario, I’m getting the “Entry point not found” error mentioned in the video about libgtk-win32-2.0-0.dll. I do have gtk installed and have done a search for the dll’s in my system and found them. I have copied the libgtk-win32-2.0-0.dll file to windows/system32/ folder and to ario’s folder with no success in getting past the problem.

    Thank you in advance for any help and advice for this project you may give. This is going to be a Christmas present for my mother, so thank you on her behalf also.

    This is a super-cool project you have made. Keep up the excellent work.

    • Arby // //


      The reason I was getting the error is that I did not have the USB sound adapter plugged in yet (did not yet receive it at that time from a purchase). Once installed, everything works excellent.

      I disassembled the router, taking the case off and putting the bottom of the case back on to protect it electrically. I put the whole router >>>inside<<< of a bass speaker with the output of the USB sound adapter plugged into the input of the speaker and for the power, I ran the power wire from the outside of the speaker into the acoustic port in the back of the speaker (about a 1" hole with a 1" x 2" tube glued to the inside of the rear cover) and connected the wire to the router. I used double-sided tape to hold the router in place and used the antenna like a kick-stand inside of the speaker to help keep it to the side of the speaker.

      Optionally, I could have made a small circuit that I made to adjust the voltage from the 10VDC that the speaker’s internal amplifier works on to knock the voltage down to the 5VDC that the router needs.

      This project is going to make the perfect gift for my mom which doesn’t really like computers or technical things. This is going to give her the gift of music that she likes, without all the music that she had to put up with from the station which was suppose to play a certain type of music, but frequently doesn’t.

      Thank you again for making this project available for others to follow along and make something original.

  • Niro // //

    I’m running into memory limitations with the WL520GU I have bought. I have made an attempt to install external USB stick to expand the memory but without luck.

    I have tried both Kamikase and Backfire builds and both run out of memory while trying to install MPC. All the steps before MPD & MPC work fine including the USB Audio driver.

    Does anyone know of a build I can use which will allow installing all the required modules on router?

    Thanks
    Niro

    • Arby // //

      How much memory does the WL520GU say it has? Below is what I’ve got. I had to adjust the spacing because the font is not monospaced as it is in my console.

      BusyBox v1.11.2 (2008-12-01 16:57:55 PST) built-in shell (ash)

      OpenDNS
      W I R E L E S S F R E E D O M
      KAMIKAZE (bleeding edge, r12857)
      —————————————————
      root@OpenWrt:/# df -h
      Filesystem Size Used Available Use% Mounted on
      rootfs 1.3M 1.3M 0 100% /
      /dev/root 1.3M 1.3M 0 100% /rom
      tmpfs 7.0M 44.0k 7.0M 1% /tmp
      /dev/mtdblock/4 2.1M 908.0k 1.2M 43% /jffs
      mini_fo:/jffs 1.3M 1.3M 0 100% /
      root@OpenWrt:/#

      Linux has a cool command, called “du”. Using “du -h” followed by the folder name and a forward slash will give me a tally of how big the folder is with its contents. I type “du -h bin/” (without the quotes) to get a summary of the size of each folder. Sometimes the folders have subfolders and they will be listed with their sizes, but get sumarized at the bottom of that folder’s size total. Below is what my system reports after I’ve asked for each folder that is in the root directory:

      603.5k bin
      0 dev
      105.5k etc
      0 home
      1.2M jffs <<<
      2.1M lib <<<
      0 mnt
      0 music
      16.1M proc <<<
      3.9M rom <<<
      11.0k root
      76.0k sbin
      1.0k sys
      44.0k tmp
      2.1M usr <<<
      44.0k var
      0 www

      I’ve indicated the larger folders which is where there might be a problem.

      The only other thing that I can think of is that you might have a bad router – further investigation will reveal the source of your woes.

  • Adam // //

    Hello Everybody!

    I don’t know that somebody read this post but I need help! I bought a ASUS WL500 Gp V1 router. Unfortunatelly I was inattentived. I have to buy a V2 version. Can I creat a WEB radio from this V1 model?

    Thanks Adam

Leave a Reply