Introduction: Speeding Up Your PS3 WiFi Connection With DD-WRT + DLNA

This is for those who are not ready to give up on their PS3.   The problem with PS3 is it has the 802.11b/g wifi card which is limited and slow.  After doing network tests it only gave me at most 5mbps upload and download speed.  It is good for netflix, but if you want to stream media from your DLNA server it is not fast enough for HD content.  There are few options to speed up the network speed on the PS3.  Connect it directly to the router with a ethernet wire, wire up the PS3 to a second wifi router that supports faster speeds, connect it using ethernet over coaxial or power lines.  I didn't want to run any wires i chose to use a 802.1n router with DD-WRT to create a wireless adapter.   This instructable will work with any router that has dd-wrt installed on it. 

To be able to set this up you would need a router with DD-WRT installed,  to have some networking knowledge and is comfortable logging in to the router and changing/trouble shooting its settings.

If you have a router which does not have DD-WRT installed then here is a great instructable on how to install it on WRT-54G router and it should work on most supported routers.
https://www.instructables.com/id/Old-Dog%2c-New-Tricks%3a-Mod-a-Linksys-WRT54G-series-R/?ALLSTEPS

Here is a list of DD-WRT supported devices
http://dd-wrt.com/wiki/index.php/Supported_Devices

Here is my device list, but this instuctable should work with any router with the dd-wrt firmware. 
My main home router that is connected to the cable modem is
Asus rt-n66r with stock firmware
The router that I used for the wifi adapter is D-Link D600 with dd-wrt 
I also used TP-Link TL-WR702N which worked but gave me lower speed then the DLINK
1xEthernet cable
Computer to setup the router as an adapter before connecting it to the PS3
You will need 5 Unique IP address that are not in the DHCP range and are not used by any other machine on the network.

Step 1: Setup Up Your DD-WRT Router With Static IP.

First, you will have to setup up your DD-WRT router with static IP.  To do that, you have to connect your computer to the router using Ethernet cable and login in.  Make sure to turn off or disconnect your wifi on your computer from the network if connected.  You want to make sure you're only connected to the router that you are setting up.  If your router has some custom settings from prior use it is best to reset it.  Below you may see the default DD-WRT basic setup screen after you reset. 
In the basic setup screen you will have to setup the router static IP and disable DHCP. 
The connection type is set to Disabled
Optional Settings leave default.
In the network setup you will have to set up your router with Static IP address.  Make sure the IP address that you set is not part of the DHCP range in the DHCP server of main router.  For example, if your LAN subnet is 192.168.0.x you may set the IP address to 192.168.0.149, Subnet mask to 255.255.255.0, gateway is 192.168.0.1(which is the IP of your main router) and Local DNS 192.168.0.1 (which is the IP of your main router).
DHCP Server Disabled.
All the other settings should be default. 
Now click Apply Button.  Make sure to click Apply button and not Save.  If you click Save the configuration will be saved but will not go into effect.

Very important note:  after you click Apply and the router restarts, if you set the router IP to a different subnet you will not be able to connect.  You will have to go to your network settings on the computer and set your network connection to static IP and set the IP address to the same subnet as you just set the router to. ex. 192.168.0.99

Step 2: Setup the Wifi Bridge Mode

Now you will setup the wifi bridge mode to connect the DD-WRT router to your main router. 
Click on the wireless tab and set:
Wireless mode: Client Bridge (routed)
Default GW Mode: Auto (DHCP)
Wireless Network Mode:  It will depend on this router and your main router.  Set to the fastest that is available on this router and your network.  If both routers support N then N-Only
Channel Width: Full
Wireless Network Name (SSID): your wifi network name
Check the Advanced
Network Configuration: Unbridged
Multicasting Forwarding: Enabled
IP Address:  An IP address that is not in the range of DHCP and not being used by any other machine.
Subnet Mask: 255.255.255.0
Click Apply

If you have wireless security setup then click on the wireless security tab and setup the security mode and the password as you have it setup in the main router.
Click Apply

Click on the Security tab. You will have to uncheck everything except filter muticast and then disable firewall.
Click Apply

Now go back to Basic Setup Tab and click on networking
Set Operating Mode: Router
Click Apply

Now click on Status tab and wireless.  You will see the router connected to your wifi network.  If you are not connected, go back to wireless tab and double check that the name of your network is set up correctly.  Also, make sure that in the security tab, the password is correct. 
In the status->wireless tab you can press the site survey button and make sure your wifi is listed there. 

If you are connected to your wifi computer, you should be able to connect to the internet using the DD-WRT router.

Step 3: Set Up DLNA

If you do not want to stream movies or music through DLNA you can skip this step. 
As I found out from searching on the internet, DD-WRT does not pass on IGMP multicast traffic and another program is needed to run on DD-wrt called igmprt that allows multicast traffic to pass through your bridge. 
Thanks to this post
http://www.dd-wrt.com/phpBB2/viewtopic.php?t=161963&postdays=0&postorder=asc&start=0&sid=fa78b61a93fc1c3188739aca5602ed81
I was able to get DLNA to work on PS3.

To make this work you will need to use three unique IP addresses that are not in the DHCP range and are not used by any other machine on the network.  You are able to start igmprt by adding a script in the DD-WRT administration section. 
Click on administration tab and then on commands tab. 
Copy this code into the commands box.

ifconfig ath1:0 192.168.0.205 up
ifconfig ath1:1 192.168.0.206 up
ifconfig br0:1 192.168.0.207 up
sleep 180
/usr/sbin/igmprt /tmp/custom.sh

A couple of things to watch for in this code.  You have to check which interface (ath1) you are using to connect to your wifi network.  You can go back to status->wireless and you will see it there under interface.  If your interface is ath0, then change ath1 to ath0 in the code.  Also the IP addresses have to be unique.  Another thing I want to note is that the sleep 180 command means that every time you restart the router, it will wait for 3 minutes before igmprt starts.  When you made all the neccessary changes, click on save startup button and the script will show up in the startup box. 
The next step is to copy paste this code into commands box

phyint ath1:0 upstream
phyint ath1:1 downstream
phyint br0:1 downstream
phyint br0:0 downstream
phyint br0 downstream

Again, make sure it’s the right interface(ath1) and then click on the save custom script button and it will show up in the custom script box.

Step 4: Connect the Router to PS3

Now the hard part is done. 
Turn on your PS3 and if it is already connected to the network, go to the network settings and do an Internet Connection Test.  It will show you the connection speed.  I was not getting more than 5Mbps with the internal wifi card. 
Now, you can disconnect the router from the computer and connect it to the PS3 using the ethernet cable.  Go back to the network settings and press on Internet Connection Settings to start the network setup.  Choose 'easy', press 'next' and press on Test Connection.  It should get the IP automatically.  You will see a big jump in the connection speed.  I get 30-33Mbps with this router.   You should be able to get connected with out any issues.

Step 5: Additional Notes for DLNA Users

The following is for people who will use this setup to stream content through DLNA.  I am using Synology DLNA server and I had some issues I was dealing with before everything worked seamlessly.  You have to remember that after you turn on the router, you have to wait 3 minutes for igmprt to start working and for the DLNA server to come up on the PS3.  Another issue that I came across was that I had to change the SSDP (Simple Service Discovery Protocol) advertisement interval to 45-60 seconds.  It took a long time for PS3 to detect the DLNA server.  If you are using Synology DSM 4.x you will have to login using ssh to change this settings.  With DSM 5.x beta you can set the advertisement interval in the media server GUI's interface.  I have it set to 60 seconds.  You will have to wait at most 60 seconds for the server to come up after each time you turn on the PS3.  These are small annoynces for getting 6x times the speed.  If you have questions on how to change this interval, please write it in the comments and I will add the instructions to this instructable.

If you are having issues connecting to the internet with this setup or if internet is dropping after a few minutes of use, please leave a note in the comments section.  I will try to help you to work it out.

Since this is my first instructable, any suggestions would be greatly appreciated.